Skip to content

AWS ECS に環境変数を追加したときのコンテナ更新手順

概要

AWS の ECS に環境変数を追加した際、Terraform で apply したあとに AWS コンソールから別途操作をする必要があるため、その手順を記載しています。

流れ

ECS に環境変数を追加するための手順の全体像は以下のとおりです。

1. Terraform のコードに環境変数を追記

追加したい環境変数(ここでは ENV_TO_ADDとする)に関する設定を追記する。以下の内容を更新する:

  • ecs.tf で管理されている「タスク定義リソース (aws_ecs_task_definition)」内の、「コンテナ定義 (container_definitions)」の secrets に、ENV_TO_ADDを追記する
  • ssm.tf 内の aws_ssm_parameter.backend_envs リソース内に、ENV_TO_ADDを追記する
  • set-env-vals-to-ssm.sh 内の env_keys 配列の中にENV_TO_ADD を追記する
  • ./config/.env 内に ENV_TO_ADD を記載する

2. terraform apply を実行

terraform apply し、変更を適用する

3. set-env-vals-to-ssm.sh を実行

環境変数を反映する:

bash
# WARN: シェルスクリプトの引数に、追加したい環境変数を渡すことを忘れないこと!!
$ dotenv -e ./config/.env -- ./scripts/set-env-vals-to-ssm.sh ENV_TO_ADD
  • 注意: set-env-vals-to-ssm.sh の内部で aws_profile において AWS CLI のプロファイルを指定しており、適切な値を指定する必要があります
  • dotenvが実行できない場合のインストール一例
    • npm install -g dotenv-cli

4. 新しいデプロイを強制実行

AWS コンソールからECSの管理画面にアクセスし、サービスの「新しいデプロイの強制」を実行する