翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ランタイム依存関係用のプライベートリポジトリ
実行前コマンドまたはスクリプトを使用すると、ジョブ環境で pip や conda などの依存関係マネージャを設定できます。ネットワーク分離を実現するには、これらのオプションのいずれかを使用して依存関係マネージャをリダイレクトし、プライベートリポジトリにアクセスして、VPC 内のリモート関数を実行します。実行前のコマンドまたはスクリプトは、リモート関数が実行される前に実行されます。これらのコマンドまたはスクリプトは、@remote デコレータまたは RemoteExecutor API を使用するか、設定ファイル内で定義できます。
以下のセクションでは、 で管理されているプライベート Python パッケージインデックス (PyPI) リポジトリにアクセスする方法を示しますAWS CodeArtifact。また、このセクションでは、Amazon Simple Storage Service (Amazon S3) でホストされているカスタム conda チャネルにアクセスする方法についても説明します。
AWSCodeArtifact で管理されるカスタム PyPI リポジトリの使用方法
CodeArtifact を使用してカスタム PyPI リポジトリを管理する前提条件として、以下が必要です。
-
プライベート PyPI リポジトリが作成済みである必要があります。AWS CodeArtifactを使用して、プライベートパッケージリポジトリを作成および管理できます。CodeArtifact の詳細については、『CodeArtifact ユーザーガイド』を参照してください。
-
VPC が CodeArtifact リポジトリにアクセスできる必要があります。VPC から CodeArtifact リポジトリへの接続を許可するには、以下を実行する必要があります。
-
VPC 用の Amazon S3 ゲートウェイエンドポイントを作成する。これにより、CodeArtifact ではパッケージアセットを保存できるようになります。
以下の実行前コマンドの例は、SageMaker AI トレーニングジョブの pip が CodeArtifact リポジトリを指すように設定する方法を示しています。詳細については、「Configure and use pip with CodeArtifact」を参照してください。
# use a requirements.txt file to import dependencies @remote( instance_type="ml.m5.large" image_uri = "my_base_python:latest", dependencies = './requirements.txt', pre_execution_commands=[ "aws codeartifact login --tool pip --domainmy-org--domain-owner <000000000000> --repositorymy-codeartifact-python-repo--endpoint-urlhttps://vpce-xxxxx.api.codeartifact.us-east-1.vpce.amazonaws.com" ] ) def matrix_multiply(a, b): return np.matmul(a, b)
Amazon S3 でホストされているカスタム conda チャネルを使用する方法
Amazon S3 を使用してカスタム conda リポジトリを管理する前提条件として、以下が必要です。
-
プライベート conda チャネルが Amazon S3 バケットであらかじめ設定され、すべての依存パッケージはインデックスが作成されて Amazon S3 バケットにアップロードされている必要があります。conda パッケージのインデックスを作成する方法については、「カスタムチャネルの作成
」を参照してください。 -
VPC が Amazon S3 バケットにアクセスできる必要があります。詳細については、Amazon S3 のエンドポイントを参照してください。
-
ジョブイメージの Base Conda 環境に
boto3がインストールされている必要があります。環境を確認するには、Anaconda プロンプトに次のように入力して、生成されたリストにboto3が表示されることを確認します。conda list -n base -
ジョブイメージは mamba
ではなく conda を使用してインストールする必要があります。環境を確認するには、前のコードプロンプトによって mambaが返されないことを確認します。
以下の実行前コマンドの例は、SageMaker トレーニングジョブの conda が Amazon S3 のプライベートチャンネルを指すように設定する方法を示しています。実行前コマンドは、デフォルトチャンネルを削除し、カスタムチャンネルを .condarc conda 設定ファイルに追加します。
# specify your dependencies inside a conda yaml file @remote( instance_type="ml.m5.large" image_uri = "my_base_python:latest", dependencies = "./environment.yml", pre_execution_commands=[ "conda config --remove channels 'defaults'" "conda config --add channels 's3://my_bucket/my-conda-repository/conda-forge/'", "conda config --add channels 's3://my_bucket/my-conda-repository/main/'" ] ) def matrix_multiply(a, b): return np.matmul(a, b)