Amazon ECSタスク定義の変更 - Amazon CodeCatalyst

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon ECSタスク定義の変更

このセクションでは、 CodeCatalyst ワークフローを使用して Amazon Elastic Container Service (Amazon ECS) タスク定義ファイルの imageフィールドを更新する方法について説明します。これを行うには、Render Amazon ECSタスク定義アクションをワークフローに追加する必要があります。このアクションは、タスク定義ファイルのイメージフィールドを、実行時にワークフローによって指定された Docker イメージ名で更新します。

注記

このアクションを使用して、タスク定義のenvironmentフィールドを環境変数で更新することもできます。

このアクションを使用するタイミング

これは、コミット ID やタイムスタンプなどの動的コンテンツを使用して Docker イメージを構築およびタグ付けするワークフローがある場合に使用します。

タスク定義ファイルに常に同じままのイメージ値が含まれている場合は、このアクションを使用しないでください。この場合、イメージの名前をタスク定義ファイルに手動で入力できます。

「Amazon ECSタスク定義のレンダリング」アクションの仕組み

Render Amazon ECSタスク定義アクションは、ワークフローのビルドおよび Amazon へのデプロイECSアクションで使用する必要があります。これらのアクションは、まとめて次のように機能します。

  1. ビルドアクションは 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

  2. 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 デベロッパーガイド」の「環境変数の指定」を参照してください。

  3. Amazon にデプロイECSアクションは、更新されたタスク定義ファイルを Amazon に登録しますECS。更新されたタスク定義ファイルを登録すると、新しいイメージが Amazon MyDockerImage:a37bd7eにデプロイされますECS。

「Amazon ECSタスク定義のレンダリング」アクションで使用されるランタイムイメージ

Render Amazon ECSタスク定義アクションは、2022 年 11 月の画像 で実行されます。詳細については、「アクティブなイメージ」を参照してください。