翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
重要
Amazon SageMaker Studio または Amazon SageMaker Studio Classic に Amazon SageMaker リソースの作成を許可するカスタム IAM ポリシーでは、これらのリソースにタグを追加するアクセス許可も付与する必要があります。Studio と Studio Classic は、作成したリソースに自動的にタグ付けするため、リソースにタグを追加するアクセス許可が必要になります。IAM ポリシーで Studio と Studio Classic によるリソースの作成が許可されていても、タグ付けが許可されていない場合は、リソースを作成しようとしたときに「AccessDenied」エラーが発生する可能性があります。詳細については、「SageMaker AI リソースにタグ付けするためのアクセス許可を提供する」を参照してください。
SageMaker リソースを作成するためのアクセス許可を付与する AWS Amazon SageMaker AI の マネージドポリシー には、それらのリソースの作成中にタグを追加するためのアクセス許可もあらかじめ含まれています。
このトピックでは、SageMaker AI コンソールと を使用してカスタム RStudio イメージを作成する方法について説明します AWS CLI。を使用する場合は AWS CLI、ローカルマシンからステップを実行する必要があります。以下の手順は Amazon SageMaker Studio Classic 内から実行することはできません。
イメージを作成すると、SageMaker AI は初期イメージバージョンも作成します。各イメージバージョンは、Amazon Elastic Container Registry (ECR)
イメージをローカルでテストし、よくある問題を解決する方法については、「SageMaker Studio Custom Image Samples repo
トピック
SageMaker AI 互換の RStudio Docker コンテナイメージを Amazon ECR に追加する
Amazon ECR に Docker コンテナイメージを追加するには、次の手順を実行します。
-
Amazon ECR リポジトリを作成します。
-
Amazon ECR で認証を行います。
-
SageMaker AI 互換の RStudio Docker イメージを構築します。
-
Amazon ECR リポジトリにイメージをプッシュします
注記
Amazon ECR リポジトリは、ドメイン AWS リージョン と同じ にある必要があります。
Docker イメージを構築して Amazon ECR に追加するには
-
AWS CLIコマンドを使って、Amazon ECR リポジトリを作成します。Amazon ECR コンソールを使ってリポジトリを作成するには、「リポジトリを作成する」を参照してください。
aws ecr create-repository \ --repository-name rstudio-custom \ --image-scanning-configuration scanOnPush=true
レスポンス:
{ "repository": { "repositoryArn": "arn:aws:ecr:us-east-2:acct-id:repository/rstudio-custom", "registryId": "acct-id", "repositoryName": "rstudio-custom", "repositoryUri": "acct-id.dkr.ecr.us-east-2.amazonaws.com/rstudio-custom", ... } }
-
create-repository
コマンドからのレスポンスとして返されたリポジトリ URI を使用して Amazon ECR への認証を行います。Docker アプリケーションが実行中であることを確認します。詳細については、「レジストリの認証」を参照してください。aws ecr get-login-password | \ docker login --username AWS --password-stdin
<repository-uri>
レスポンス:
Login Succeeded
-
Docker イメージを作成します。Dockerfile を含むディレクトリから次のコマンドを実行します。
docker build .
-
構築したイメージに固有のタグを付けます。
docker tag
<image-id>
"<repository-uri>
:<tag>
" -
Amazon ECR リポジトリにコンテナイメージをプッシュします。詳細については、「ImagePush
」と「イメージをプッシュする」を参照してください。 docker push
<repository-uri>
:<tag>
レスポンス:
The push refers to repository [
<account-id>
.dkr.ecr.us-east-2.amazonaws.com/rstudio-custom] r: digest:<digest>
size: 3066
コンソールから SageMaker AI イメージを作成する
イメージを作成するには
-
https://console.aws.amazon.com/sagemaker/
で Amazon SageMaker AI コンソールを開きます。 -
左側のナビゲーションペインで、[管理設定] を選択します。
-
[管理設定] で [イメージ] を選択します。
-
[カスタムイメージ] ページで [イメージの作成] を選択します。
-
[イメージソース] に Amazon ECR のコンテナイメージへのレジストリパスを入力します。パスの形式は次のとおりです。
acct-id
.dkr.ecr.region
.amazonaws.com/repo-name[:tag] or [@digest]
-
[次へ] を選択します。
-
[イメージプロパティ] に次を入力します。
-
イメージ名 – この名前は、現在の AWS リージョンのアカウント内で一意である必要があります。
-
(オプション) 画像表示名 - ドメインユーザーインターフェイスに表示される名前。入力しない場合は
Image name
が表示されます。 -
(オプション) 説明 – イメージの説明。
-
IAM ロール – ロールには AmazonSageMakerFullAccess
ポリシーがアタッチされている必要があります。ドロップダウンメニューから次のいずれかのオプションを選択します。 -
新しいロールの作成 – ノートブックのユーザーにアクセスさせたい追加の Amazon Simple Storage Service (Amazon S3) バケットを指定します。アクセスを許可するバケットを追加しない場合は [なし] を選択します。
SageMaker AI は
AmazonSageMakerFullAccess
ポリシーをロールにアタッチします。このロールは、チェックマークの横に表示される Amazon S3 バケットへのアクセスをノートブックユーザーに許可します。 -
カスタム IAM ロールの ARN の入力 - IAM ロールの Amazon リソースネーム (ARN) を入力します。
-
既存のロールの使用 - リストから既存のロールの 1 つを選択します。
-
-
(オプション) イメージタグ - [新しいタグの追加] を選択します。最大 50 個のタグを追加できます。タグは、SageMaker AI コンソールまたは SageMaker AI
Search
API を使用して検索できます。
-
-
[イメージタイプ] で [RStudio イメージ] を選択します。
-
[送信] を選択します。
新しいイメージは、[カスタムイメージ] リストで一時的に強調表示されます。イメージが正常に作成されたら、イメージ名を選択してそのプロパティを表示するか、[バージョンの作成] を選択して、別のバージョンを作成します。
別のイメージバージョンを作成するには
-
イメージと同じ行にある [バージョンを作成] を選択します。
-
[イメージソース] に Amazon ECR イメージへのレジストリパスを入力します。イメージは、以前のバージョンの SageMaker AI イメージで使用されたものと同じイメージにすることはできません。
RStudio でカスタムイメージを使うには、そのイメージをドメインにアタッチする必要があります。詳細については、「カスタム SageMaker AI イメージをアタッチする」を参照してください。
からイメージを作成する AWS CLI
このセクションでは、 を使用してカスタム Amazon SageMaker AI イメージを作成する方法を示します AWS CLI。
SageMaker AI イメージを作成するには、次の手順に従います。
Image
を作成します。ImageVersion
を作成します。設定ファイルを作成します。
AppImageConfig
を作成します。
SageMaker AI イメージエンティティを作成するには
-
SageMaker AI イメージを作成します。ロール ARN には、少なくとも
AmazonSageMakerFullAccessPolicy
ポリシーがアタッチされている必要があります。aws sagemaker create-image \ --image-name rstudio-custom-image \ --role-arn arn:aws:iam::
<acct-id>
:role/service-role/<execution-role>
レスポンス:
{ "ImageArn": "arn:aws:sagemaker:us-east-2:acct-id:image/rstudio-custom-image" }
-
イメージから SageMaker AI イメージバージョンを作成します。イメージを Amazon ECR にプッシュしたときに選択した一意のタグ値を渡します。
aws sagemaker create-image-version \ --image-name rstudio-custom-image \ --base-image
<repository-uri>
:<tag>
レスポンス:
{ "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/rstudio-image/1" }
-
イメージバージョンが正常に作成されたことを確認します。
aws sagemaker describe-image-version \ --image-name rstudio-custom-image \ --version 1
レスポンス:
{ "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/rstudio-custom-image/1", "ImageVersionStatus": "CREATED" }
注記
レスポンスが
"ImageVersionStatus": "CREATED_FAILED"
である場合、レスポンスにはその失敗の理由も記載されています。失敗の一般的な原因の 1 つは許可の問題です。Amazon CloudWatch Logs でも確認できます。ロググループの名前は/aws/sagemaker/studio
です。ログストリームの名前は$domainID/$userProfileName/KernelGateway/$appName
です。 -
app-image-config-input.json
という名前の設定ファイルを作成します。アプリケーションイメージ設定は、SageMaker AI イメージをカーネルゲートウェイアプリケーションとして実行するための設定に使用されます。{ "AppImageConfigName": "rstudio-custom-config" }
-
前のステップで作成したファイルを使って AppImageConfig を作成します。
aws sagemaker create-app-image-config \ --cli-input-json file://app-image-config-input.json
レスポンス:
{ "AppImageConfigArn": "arn:aws:sagemaker:us-east-2:acct-id:app-image-config/r-image-config" }