AmazonSageMakerのRStudio は、クラウドで業界初のフルマネージドRStudioWorkbenchです。 使い慣れたRStudio統合開発環境(IDE)をすばやく起動し、作業を中断することなく基盤となるコンピューティングリソースをダイヤルアップおよびダイヤルダウンできるため、Rで機械学習(ML)および分析ソリューションを大規模に簡単に構築できます。 SageMakerのRStudioにはすでに 内蔵画像 Rプログラミングおよびデータサイエンスツールで事前構成されています。 ただし、多くの場合、IDE環境をカスタマイズする必要があります。 本日より、選択したパッケージとツールを使用して独自のカスタムイメージを持ち込み、数回クリックするだけでSageMakerのRStudioのすべてのユーザーが利用できるようになります。
独自のカスタム画像を用意することには、いくつかの利点があります。 スターターイメージを提供したり、データストアへの接続に必要なドライバーを事前構成したり、ビジネスドメイン専用のデータサイエンスソフトウェアを事前インストールしたりすることで、データサイエンティストや開発者の開始エクスペリエンスを標準化および簡素化できます。 さらに、以前に独自のRStudio Workbenchをホストしていた組織には、SageMakerのRStudioで引き続き使用したい既存のコンテナー化された環境がある場合があります。
この投稿では、カスタムイメージを作成し、それをSageMakerのRStudioに使用するためのステップバイステップの手順を共有します。 AWSマネジメントコンソール or AWSコマンドラインインターフェイス (AWS CLI)。 いくつかの簡単な手順で、最初のカスタムIDE環境を起動して実行できます。 この投稿で説明されているコンテンツの詳細については、を参照してください。 独自のRStudioイメージを持参してください.
ソリューションの概要
データサイエンティストがSageMakerのRStudioで新しいセッションを開始すると、新しいオンデマンドMLコンピューティングインスタンスがプロビジョニングされ、ランタイム環境(オペレーティングシステム、ライブラリ、Rバージョンなど)を定義するコンテナイメージがMLで実行されます実例。 次のスクリーンショットに示すように、カスタムコンテナイメージを作成し、それらをRStudio Workbenchランチャーで使用できるようにすることで、データサイエンティストにランタイム環境の複数の選択肢を提供できます。
次の図は、カスタムイメージを取得するプロセスを示しています。 まず、Dockerfileからカスタムコンテナイメージをビルドし、それをのリポジトリにプッシュします Amazon エラスティック コンテナ レジストリ (Amazon ECR)。 次に、Amazon ECRのコンテナイメージを指すSageMakerイメージを作成し、そのイメージを SageMakerドメイン。 これにより、カスタムイメージをRStudioで新しいセッションを起動するために使用できるようになります。
前提条件
このソリューションを実装するには、次の前提条件が必要です。
- SageMakerドメインのRStudio
- AWS IDおよびアクセス管理 (IAM)AmazonECRと対話するためのポリシー
- 適切なAWSCLIバージョン
このセクションでは、それぞれについて詳しく説明します。
SageMakerドメインのRStudio
7年2022月XNUMX日より前にRStudioが有効になっている既存のSageMakerドメインがある場合は、 RStudioServerPro
ユーザープロファイル名のアプリ domain-shared
独自のカスタムイメージ機能を提供するための最新の更新を取得します。 AWSCLIコマンドは次のとおりです。 このアクションは、SageMakerのRStudioユーザーに割り込むことに注意してください。
SageMakerでRStudioを初めて使用する場合は、に記載されているステップバイステップのセットアッププロセスに従ってください。 AmazonSageMakerでRStudioを使い始めましょう、または以下を実行します AWS CloudFormation SageMakerドメインで最初のRStudioをセットアップするためのテンプレート。 SageMakerドメインでRStudioがすでに機能している場合は、この手順をスキップできます。
次のRStudioonSageMaker CloudFormationテンプレートには、AWSLicenseManagerを通じて承認されたRStudioライセンスが必要です。 ライセンスの詳細については、を参照してください。 RStudioライセンス。 また、AWSリージョンごとに許可されるSageMakerドメインはXNUMXつだけであるため、既存のドメインを持たないAWSアカウントとリージョンを使用する必要があることにも注意してください。
- 選択する 発射スタック.
リンクをクリックするとus-east-1リージョンに移動しますが、希望のリージョンに変更できます。 - テンプレートを指定 セクションでは、選択 Next.
- スタックの詳細を指定する セクション、 スタック名、名前を入力します。
- 計測パラメータ、SageMakerユーザープロファイル名を入力します。
- 選択する Next.
- スタックオプションを構成する セクションでは、選択 Next.
- レビュー セクション、選択 AWS CloudFormationがIAMリソースを作成する可能性があることを認めます 選択して Next.
- スタックステータスがに変わるとき
CREATE_COMPLETE
、に行きます コントロールパネル SageMakerコンソールでドメインと新しいユーザーを検索します。
AmazonECRとやり取りするためのIAMポリシー
プライベートAmazonECRリポジトリと対話するには、Dockerイメージのビルドとプッシュに使用するIAMユーザーまたはロールで次のIAM権限が必要です。
この投稿に示されているように、最初にパブリックAmazon ECRイメージからビルドするには、AWS管理のアタッチする必要があります AmazonElasticContainerRegistryPublicReadOnly IAMユーザーまたはロールに対するポリシーも同様です。
Dockerコンテナイメージを構築するには、ローカルのDockerクライアントまたは SageMakerDockerビルド SageMakerのRStudio内のターミナルからのCLIツール。 後者の場合は、の前提条件に従ってください Amazon SageMaker Studio Image Build CLIを使用してStudioノートブックからコンテナーイメージをビルドする IAM権限とCLIツールを設定します。
AWSCLIバージョン
この投稿に記載されているコマンドを実行するには、AWSCLIツールの最小バージョン要件があります。 選択した端末でAWSCLIをアップグレードしてください。
- AWS CLI v1> = 1.23.6
- AWS CLI v2> = 2.6.2
Dockerfileを準備する
DockerfileのRStudioでランタイム環境をカスタマイズできます。 カスタマイズはユースケースと要件に依存するため、この例では基本事項と最も一般的なカスタマイズを示します。 あなたは完全にダウンロードすることができます サンプルDockerfile.
RStudioWorkbenchセッションコンポーネントをインストールします
カスタムコンテナイメージにインストールする最も重要なソフトウェアは、RStudioWorkbenchです。 からダウンロードします RStudioPBCによってホストされるパブリックS3バケット。 使用する多くのバージョンリリースとOSディストリビューションがあります。 インストールのバージョンは、SageMakerのRStudioで使用されているRStudio Workbenchバージョンと互換性がある必要があります。これは、執筆時点では1.4.1717-3です。 OS(次のスニペットの引数OS)はベースと一致する必要があります OS
コンテナイメージで使用されます。 私たちのサンプルでは ドッカーファイル、使用するベースイメージは、AWSが管理するパブリックAmazonECRリポジトリのAmazonLinux2です。 互換性のあるRStudioWorkbenchOSはcentos7です。
次のコマンドを使用して、すべてのOSリリースオプションを見つけることができます。
R(およびRのバージョン)をインストールします
カスタムRStudioコンテナイメージのランタイムには、少なくともXNUMXつのバージョンのRが必要です。最初にバージョンのRをインストールし、次のソフトリンクを作成してデフォルトのRにすることができます。 /usr/local/bin/
:
データサイエンティストは、プロジェクトとコードベースを簡単に切り替えることができるように、Rの複数のバージョンを必要とすることがよくあります。 次のスクリーンショットに示すように、SageMaker上のRStudioは、Rバージョン間の簡単な切り替えをサポートしています。
SageMakerのRStudio 次のディレクトリでRのバージョンを自動的にスキャンして検出します:
次のスニペットに示すように、コンテナイメージにさらに多くのバージョンをインストールできます。 それらはにインストールされます /opt/R/
.
RStudioProfessionalドライバーをインストールします
データサイエンティストは、多くの場合、次のようなソースからのデータにアクセスする必要があります。 アマゾンアテナ & Amazonレッドシフト SageMakerのRStudio内。 あなたはを使用してそうすることができます RStudioProfessionalドライバー & RStudio接続。 次のスニペットに示すように、関連するライブラリとドライバをインストールしてください。
カスタムライブラリをインストールする
データサイエンティストがその場でそれらをインストールする必要がないように、追加のRおよびPythonライブラリをインストールすることもできます。
Dockerfileでのカスタマイズが完了したら、コンテナーイメージをビルドしてAmazonECRにプッシュします。
ビルドしてAmazonECRにプッシュする
ローカルターミナルやローカルターミナルなど、DockerエンジンがインストールされているターミナルのDockerfileからコンテナイメージを構築できます。 AWS クラウド9。 SageMakerのRStudio内のターミナルからビルドする場合は、次を使用できます。 SageMakerStudioイメージビルド。 両方のアプローチの手順を示します。
Dockerエンジンが存在するローカルターミナルでは、Dockerfileがある場所から次のコマンドを実行できます。 サンプルスクリプトを使用できます イメージの作成と更新.sh.
SageMakerのRStudioのターミナルで、次のコマンドを実行します。
これらのコマンドの後に、次のステップのためにAmazon ECRにリポジトリとDockerコンテナイメージがあります。このステップでは、SageMakerのRStudioで使用するためにコンテナイメージをアタッチします。 AmazonECRの画像URIに注意してください <ACCOUNT_ID>.dkr.ecr.<REGION>.amazonaws.com/<REPO>:<TAG>
後で使用するため。
コンソールからSageMakerのRStudioを更新します
SageMakerのRStudioでは、カスタムSageMakerイメージを使用してランタイムをカスタマイズできます。 SageMakerイメージは、一連のSageMakerイメージバージョンのホルダーです。 各イメージバージョンは、SageMakerのRStudioと互換性があり、AmazonECRリポジトリに保存されているコンテナイメージを表します。 ドメイン内のすべてのRStudioユーザーがカスタムSageMakerイメージを利用できるようにするには、このセクションの手順に従ってイメージをドメインにアタッチできます。
- SageMakerコンソールで、に移動します ドメインにアタッチされたカスタムSageMakerStudioイメージ ページを選択し、 画像を添付.
- 選択 新しいイメージ、AmazonECR画像のURIを入力します。
- 選択する Next.
- イメージのプロパティ セクション、提供する 画像名 (必要)、 画像表示名 (オプション)、 説明 (オプション)、IAMロール、およびタグ。
画像表示名提供されている場合は、SageMakerのRStudioのセッションランチャーに表示されます。 の場合 画像表示名 フィールドは空のままです、 画像名 代わりに、SageMakerのRStudioに表示されます。 - コメントを残す EFSマウントパス & 高度な設定 (ユーザーID & グループID)SageMakerのRStudioが設定を管理するため、デフォルトとして。
- 画像の種類 セクション、選択 RStudioイメージ.
- 選択する 送信.
これで、リストに新しいエントリが表示されます。 カスタムRStudioイメージのサポートの導入により、新しいものを見ることができることは注目に値します 使用タイプ 表の列は、画像がRStudio画像であるかRStudio画像であるかを示します。 Amazon SageMakerスタジオ 画像。
カスタムイメージがセッションランチャーUIで使用できるようになるまで、最大5〜10分かかる場合があります。 次に、カスタムイメージを使用してSageMakerのRStudioで新しいRセッションを起動できます。
時間の経過とともに、古くて古い画像を廃止したい場合があります。 RStudioのカスタム画像のリストからカスタム画像を削除するには、リストから画像を選択して、 デタッチ.
選択する デタッチ もう一度確認してください。
AWSCLIを介してSageMakerでRStudioを更新します
次のセクションでは、SageMakerイメージを作成し、SageMakerコンソールのSageMakerのRStudioで使用し、AWSCLIを使用するためにアタッチする手順について説明します。 サンプルスクリプトを使用できます イメージの作成と更新.sh.
SageMakerイメージとイメージバージョンを作成します
最初のステップは、次のXNUMXつのコマンドを実行して、AmazonECRのカスタムコンテナイメージからSageMakerイメージを作成することです。
SageMakerのRStudioのセッションランチャーに表示されるカスタムイメージは、 --display-name
。 オプションの表示名が指定されていない場合、 --image-name
代わりに使用されます。 また、IAMの役割により、SageMakerはAmazonECRイメージをSageMakerのRStudioにアタッチできることに注意してください。
AppImageConfigを作成します
Amazon ECRからイメージURIをキャプチャするSageMakerイメージに加えて、アプリのイメージ構成(AppImageConfig)はSageMakerドメインで使用するために必要です。 の構成を簡素化します RSessionApp
次のコマンドを使用してプレースホルダー構成を作成できるように、画像を作成します。
SageMakerドメインにアタッチする
SageMakerイメージとアプリイメージの設定が作成されたら、カスタムコンテナイメージをSageMakerドメインにアタッチする準備が整いました。 ドメイン内のすべてのRStudioユーザーがカスタムSageMakerイメージを利用できるようにするには、デフォルトのユーザー設定としてイメージをドメインにアタッチします。 すべての既存のユーザーと新しいユーザーは、カスタムイメージを使用できます。
読みやすくするために、次の構成をJSONファイルに配置します デフォルトのユーザー設定.json:
このファイルでは、画像と AppImageConfig
のリスト内の名前のペア DefaultUserSettings.RSessionAppSettings.CustomImages
。 この前述のスニペットは、XNUMXつのカスタムイメージが作成されていることを前提としています。
次に、次のコマンドを実行してSageMakerドメインを更新します。
domaimを更新した後、カスタムイメージがセッションランチャーUIで使用可能になるまでに最大5〜10分かかる場合があります。 次に、カスタムイメージを使用してSageMakerのRStudioで新しいRセッションを起動できます。
SageMakerドメインから画像を切り離す
を削除するだけで画像を切り離すことができます ImageName
& AppImageConfigName
からのペア default-user-settings.json
ドメインを更新します。
たとえば、次のようにドメインを更新します default-user-settings.json
除去する r-4.1.3-rstudio-2022
RセッションからUIを起動して終了します r-4.1.3-rstudio-1.4.1717-3
ドメイン内のすべてのユーザーが利用できる唯一のカスタムイメージとして:
クリーンアップ
SageMakerドメインの画像とリソースを安全に削除するには、次の手順を実行します。 画像リソースをクリーンアップする.
SageMakerのRStudioとSageMakerドメインを安全に削除するには、次の手順を実行します。 AmazonSageMakerドメインを削除します RSessionGatewayアプリ、ユーザープロファイル、およびドメインを削除します。
Amazon ECRでイメージとリポジトリを安全に削除するには、次の手順を実行します。 画像を削除する.
最後に、CloudFormationテンプレートを削除するには:
- AWS CloudFormationコンソールで、[スタック]を選択します。
- このソリューション用にデプロイしたスタックを選択します。
- 削除を選択します。
まとめ
SageMakerのRStudioを使用すると、データサイエンティストは、Rで大規模なMLおよび分析ソリューションを簡単に構築でき、管理者は、開発者向けの堅牢なデータサイエンス環境を簡単に管理できます。 データサイエンティストは、適切な仕事に適切なライブラリを使用し、各MLプロジェクトに必要な再現性を実現できるように環境をカスタマイズしたいと考えています。 管理者は、規制およびセキュリティ上の理由から、データサイエンス環境を標準化する必要があります。 これで、組織の要件を満たすカスタムコンテナイメージを作成し、データサイエンティストがSageMakerのRStudioでそれらを使用できるようになります。
ぜひお試しください。 ハッピー開発!
著者について
マイケル・シェイ シニアAI/MLスペシャリストソリューションアーキテクトです。 彼は顧客と協力して、AWSMLオファリングと彼のMLドメイン知識を組み合わせてMLジャーニーを進めています。 シアトルの移植として、彼はハイキングトレイル、SLUでの風景カヤック、シルショールベイでの夕日など、街が提供する素晴らしい母なる自然を探索するのが大好きです。
デクラン・ケリー は、AmazonSageMakerStudioチームのソフトウェアエンジニアです。 彼は、AWS re:Invent 2019でのリリース以来、Amazon SageMaker Studioに取り組んでいます。仕事以外では、ハイキングや登山を楽しんでいます。
ショーン・モーガン AWSのAI / MLソリューションアーキテクトです。 彼は半導体および学術研究の分野での経験があり、その経験を利用して、お客様がAWSで目標を達成できるように支援しています。 余暇には、Seanはアクティブなオープンソースの寄稿者およびメンテナーであり、TensorFlowアドオンの分科会リーダーです。
- "
- &
- 1.3
- 10
- 100
- 2019
- 2022
- 7
- a
- 私たちについて
- アクセス
- 達成する
- Action
- アクティブ
- 添加
- NEW
- 管理者
- 進める
- すべて
- ことができます
- 既に
- Amazon
- 分析論
- アプリ
- アプローチ
- 適切な
- 4月
- 利用できます
- AWS
- ベイ
- なぜなら
- さ
- 利点
- より良いです
- の間に
- 国境
- 持って来る
- ビルド
- 建物
- ビジネス
- 取得することができます
- キャプチャ
- 場合
- 変化する
- 選択
- 選択肢
- 選択する
- 市町村
- クラウド
- コード
- コラム
- 組み合わせ
- コマンドと
- 互換性のあります
- コンプリート
- 計算
- 接続する
- 領事
- コンテナ
- コンテンツ
- 続ける
- 寄稿者
- 作ります
- 作成した
- 作成
- カスタム
- Customers
- カスタマイズ
- データ
- データサイエンス
- データサイエンティスト
- 実証します
- 依存
- 展開
- 説明する
- 記載された
- 細部
- 開発者
- 開発
- ディスプレイ
- ディストリビューション
- デッカー
- そうではありません
- ドメイン
- ダウン
- ダウンロード
- 各
- 簡単に
- 効果
- 奨励する
- エンジン
- エンジニア
- 入力します
- 環境
- 要旨
- 例
- 既存の
- 体験
- おなじみの
- フィールズ
- 名
- 初回
- フォロー中
- 次
- 無料版
- から
- フル
- さらに
- 受け
- 目標
- 素晴らしい
- グループ
- ハッピー
- 助けます
- 保有者
- 主催
- しかしながら
- HTTPS
- アイデンティティ
- 画像
- 画像
- 実装する
- 重要
- 業界の
- 情報
- install
- 統合された
- 関心
- IT
- ジョブ
- 旅
- 知識
- 最新の
- 起動する
- 発射
- つながる
- 学習
- ライセンス
- ライセンシング
- LINE
- LINK
- リンク
- linuxの
- リスト
- ローカル
- 機械
- 機械学習
- make
- 作る
- 作成
- 管理します
- マネージド
- 管理
- マネージャー
- 一致
- 言及した
- かもしれない
- 最小
- ML
- 他には?
- モーガン
- 最も
- 母
- の試合に
- 自然
- ナビゲート
- ニーズ
- 次の
- 提供
- オファリング
- オペレーティング
- オペレーティングシステム
- オプション
- 組織の
- 組織
- 自分の
- ポイント
- ポリシー
- 方針
- 優先
- 現在
- プライベート
- プロセス
- プロ
- プロフィール
- プログラミング
- プロジェクト
- プロジェクト(実績作品)
- 提供します
- 提供
- 提供
- 公共
- すぐに
- RE
- リーチ
- 理由は
- 地域
- レギュレータ
- リリース
- リリース
- 関連した
- 除去
- 倉庫
- 表し
- の提出が必要です
- 要件
- 必要
- 研究
- リソースを追加する。
- リソース
- 職種
- ラン
- ランニング
- 安全に
- 規模
- 科学
- 科学者
- 科学者たち
- ショーン
- セキュリティ
- 半導体
- セッションに
- 設定
- いくつかの
- シェアする
- 表示する
- 示す
- 簡単な拡張で
- から
- So
- ソフト
- ソフトウェア
- ソフトウェアエンジニア
- 固体
- 溶液
- ソリューション
- 特別
- 専門家
- 専門の
- スタック
- 開始
- 開始
- ステートメント
- Status:
- 店舗
- 研究
- サンセット
- サポート
- サポート
- スイッチ
- チーム
- ターミナル
- 介して
- 時間
- 今日
- ツール
- 豊富なツール群
- ui
- 下
- アップデイト
- 更新版
- 更新
- us
- つかいます
- users
- バージョン
- かどうか
- 以内
- 無し
- 仕事
- ワーキング
- 作品
- 価値
- 書き込み
- あなたの