翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon ECSタスク定義の変更
このセクションでは、 CodeCatalyst ワークフローを使用して Amazon Elastic Container Service (Amazon ECS) タスク定義ファイルの image
フィールドを更新する方法について説明します。これを行うには、Render Amazon ECSタスク定義アクションをワークフローに追加する必要があります。このアクションは、タスク定義ファイルのイメージフィールドを、実行時にワークフローによって指定された Docker イメージ名で更新します。
注記
このアクションを使用して、タスク定義のenvironment
フィールドを環境変数で更新することもできます。
トピック
このアクションを使用するタイミング
これは、コミット ID やタイムスタンプなどの動的コンテンツを使用して Docker イメージを構築およびタグ付けするワークフローがある場合に使用します。
タスク定義ファイルに常に同じままのイメージ値が含まれている場合は、このアクションを使用しないでください。この場合、イメージの名前をタスク定義ファイルに手動で入力できます。
「Amazon ECSタスク定義のレンダリング」アクションの仕組み
Render Amazon ECSタスク定義アクションは、ワークフローのビルドおよび Amazon へのデプロイECSアクションで使用する必要があります。これらのアクションは、まとめて次のように機能します。
-
ビルドアクションは Docker イメージを構築し、名前、コミット ID、タイムスタンプ、またはその他の動的コンテンツでタグ付けします。例えば、ビルドアクションは次のようになります。
MyECSWorkflow Actions: BuildAction: Identifier: aws/build@v1 ... Configuration: Steps: # Build, tag, and push the Docker image... - Run: docker build -t MyDockerImage:${WorkflowSource.CommitId} . ...
上記のコードでは、
docker build -t
ディレクティブは が Docker イメージを構築し、アクション実行時にコミット ID でタグ付けするように指定します。生成されたイメージ名は次のようになります。MyDockerImage:a37bd7e
-
Render Amazon ECSタスク定義アクションは、動的に生成されたイメージ名
MyDockerImage:a37bd7e
を、次のようなタスク定義ファイルに追加します。{ "executionRoleArn": "arn:aws:iam::account_ID:role/codecatalyst-ecs-task-execution-role", "containerDefinitions": [ { "name": "codecatalyst-ecs-container", "image": MyDockerImage:a37bd7e, "essential": true, ... "portMappings": [ { "hostPort": 80, "protocol": "tcp", "containerPort": 80 } ] } ], ... }
オプションで、Render Amazon ECSタスク定義アクションで、次のような環境変数をタスク定義に追加することもできます。
{ "executionRoleArn": "arn:aws:iam::account_ID:role/codecatalyst-ecs-task-execution-role", "containerDefinitions": [ { "name": "codecatalyst-ecs-container", "image": MyDockerImage:a37bd7e, ... "environment": [ { name": "ECS_LOGLEVEL", value": "info" } ] } ], ... }
環境変数の詳細については、「Amazon Elastic Container Service デベロッパーガイド」の「環境変数の指定」を参照してください。
-
Amazon にデプロイECSアクションは、更新されたタスク定義ファイルを Amazon に登録しますECS。更新されたタスク定義ファイルを登録すると、新しいイメージが Amazon
MyDockerImage:a37bd7e
にデプロイされますECS。
「Amazon ECSタスク定義のレンダリング」アクションで使用されるランタイムイメージ
Render Amazon ECSタスク定義アクションは、2022 年 11 月の画像 で実行されます。詳細については、「アクティブなイメージ」を参照してください。