ジョブのプライベートレジストリの認証
AWS Secrets Manager を使用したジョブのプライベートレジストリ認証では、認証情報を安全に保存し、タスク定義で参照できます。これにより、AWS の外部にありジョブ定義で認証を必要とするプライベートレジストリに存在するコンテナイメージを参照できます。この機能は、Amazon EC2 インスタンスと Fargate でホストされるジョブに対応しています。
重要
ジョブ定義で Amazon ECR に保存されたイメージを参照している場合、このトピックは適用されません。詳細については、Amazon Elastic Container Registry ユーザーガイドの「Amazon ECS で Amazon ECR イメージを使用する」を参照してください。
Amazon EC2 インスタンスでホストされるジョブの場合は、この機能のためにコンテナエージェントのバージョン 1.19.0
以降が必要です。ただし、最新のコンテナエージェントのバージョンを使用することをお勧めします。エージェントのバージョンの確認と最新バージョンへの更新の方法の詳細については、「Amazon Elastic Container Service 開発者ガイド」の「Amazon ECS コンテナエージェントをアップデートする」を参照してください。
Fargate でホストされているジョブの場合、この機能にはプラットフォームバージョン 1.2.0
以降が必要です。詳細については、「Amazon Elastic Container Service 開発者ガイド」の「AWS Amazon ECS 向け Fargate プラットフォームバージョン」を参照してください。
コンテナの定義内で、作成したシークレットの詳細 で repositoryCredentials
オブジェクトを指定します。参照するシークレットは、ジョブが使用するものと異なる AWS リージョン、または異なるアカウントに置くことができます。
注記
AWS Batch API、AWS CLI、または AWS SDK を使用しており、起動するジョブと同じ AWS リージョン にシークレットが存在する場合は、シークレットの完全な ARN または名前のどちらも使用できます。シークレットが別のアカウントに存在する場合は、シークレットの完全な ARN を指定する必要があります。AWS Management Console を使用する場合は、シークレットの完全な ARN を常に指定する必要があります。
必要なパラメータが含まれるジョブ定義のスニペットを以下に示します。
"containerProperties": [ { "image": "
private-repo/private-image
", "repositoryCredentials": { "credentialsParameter": "arn:aws:secretsmanager:region
:123456789012
:secret:secret_name
" } } ]