Amazon SageMaker コンテナのネットワーク分離を有効にしました。コンテナが Amazon Simple Storage Service (Amazon S3) データにアクセスし、ログを Amazon CloudWatch にプッシュするしくみについて知りたいです。
解決策
ネットワーク分離を有効にすると、SageMaker はトレーニングコンテナまたは推論コンテナから分離して Amazon S3 と CloudWatch にアクセスします。Amazon Virtual Private Cloud (Amazon VPC) を指定しない場合、データアクセスとログ記録はサーバー側で行われます。この場合、コンテナはネットワークにアクセスできません。
トレーニング、処理、またはモデル設定で VpcConfig を指定すると、SageMaker は指定された Amazon VPC に 2 つのエラスティックネットワークインターフェイスを作成します。すべてのトラフィックは、指定された VPC 内のこれら 2 つのエラスティックネットワークインターフェイスを経由します。1 つのエラスティックネットワークインターフェイスはアルゴリズムコンテナ用で、もう 1 つは Amazon S3 用です。VpcConfig で Amazon VPC を指定した場合、ネットワーク分離設定ではアルゴリズムコンテナのエラスティックネットワークインターフェイスは作成されません。これにより、コンテナはすべてのアウトバウンドネットワーク呼び出しからブロックされます。もう一方のエラスティックネットワークインターフェイスはそのまま残り、Amazon S3 へのアクセスに使用できます。
いずれの場合も、ノード上で実行される内部の SageMaker プロセスがデータをダウンロードします。次に、ジョブ定義で指定した入力チャネルによって、このデータがアルゴリズムコンテナで使用できるようになります。また、ノードで実行される内部プロセスにより、ログとメトリクスが CloudWatch で使用できるようになります。これらのノードは SageMaker マネージド VPC 経由で CloudWatch に接続します。
VpcConfig を指定するかどうかにかかわらず、コンテナは AWS サービスへの API コールを行うための AWS 認証情報にはアクセスできません。
関連情報
ネットワーク分離