関連付けられた Git リポジトリを含むノートブックインスタンスを作成する (CLI) - Amazon SageMaker

関連付けられた Git リポジトリを含むノートブックインスタンスを作成する (CLI)

重要

Amazon SageMaker Studio または Amazon SageMaker Studio Classic に Amazon SageMaker リソースの作成を許可するカスタム IAM ポリシーでは、これらのリソースにタグを追加するアクセス許可も付与する必要があります。Studio と Studio Classic は、作成したリソースに自動的にタグ付けするため、リソースにタグを追加するアクセス許可が必要になります。IAM ポリシーで Studio と Studio Classic によるリソースの作成が許可されていても、タグ付けが許可されていない場合は、リソースを作成しようとしたときに「AccessDenied」エラーが発生する可能性があります。詳細については、「SageMaker リソースにタグ付けのアクセス許可を付与する」を参照してください。

SageMaker リソースを作成するためのアクセス許可を付与する Amazon SageMaker 向けの AWS マネージドポリシー には、それらのリソースの作成中にタグを追加するためのアクセス許可もあらかじめ含まれています。

ノートブックインスタンスを作成し、AWS CLI を使用して Git リポジトリを関連付けるには、以下のように create-notebook-instance コマンドを使用します。

  • default-code-repository 引数の値として、デフォルトのリポジトリとして使用するリポジトリを指定します。Amazon SageMaker はこのリポジトリのクローンを、/home/ec2-user/SageMaker の Jupyter スタートアップディレクトリのサブディレクトリとして作成します。ノートブックインスタンスを開くと、このリポジトリで開きます。SageMaker アカウントのリソースとして保存されているリポジトリを使用するには、default-code-repository 引数の値としてリポジトリの名前を指定します。アカウントに保存されていないリポジトリを使用するには、リポジトリの URL を default-code-repository 引数の値として指定します。

  • additional-code-repositories 引数の値として、最大 3 つの追加リポジトリを指定します。SageMaker は /home/ec2-user/SageMaker の Jupyter スタートアッディレクトリのサブディレクトリとしてこのリポジトリのクローンを作成します。そのリポジトリは、デフォルトのリポジトリの .git/info/exclude ディレクトリに追加することによって、デフォルトのリポジトリから除外されます。SageMaker アカウントにリソースとして保管されているリポジトリを使うには、additional-code-repositories 引数の値としてリポジトリの名前を指定します。アカウントに保存されていないリポジトリを使用するには、リポジトリの URL を additional-code-repositories 引数の値として指定します。

例えば、次のコマンドは MyGitRepo という名前のリポジトリを持つノートブックインスタンスを作成します。これは SageMaker アカウントのリソース、デフォルトのリポジトリ、GitHub でホストされている追加のリポジトリとして保存されます。

aws sagemaker create-notebook-instance \ --notebook-instance-name "MyNotebookInstance" \ --instance-type "ml.t2.medium" \ --role-arn "arn:aws:iam::012345678901:role/service-role/AmazonSageMaker-ExecutionRole-20181129T121390" \ --default-code-repository "MyGitRepo" \ --additional-code-repositories "https://github.com/myprofile/my-other-repo"
注記

名前に「SageMaker」を含まない AWS CodeCommit リポジトリを使用する場合は、create-notebook-instance コマンドに role-arn 引数として渡す役割に codecommit:GitPullcodecommit:GitPush の権限を追加します。ロールにアクセス許可を追加する方法については、AWS Identity and Access Management ユーザーガイドの「IAM ポリシーの追加と削除」を参照してください。