ECSにおいて環境変数を設定する
概要
Amazon ECSでは、アプリケーションに必要な環境変数を設定する方法がいくつか用意されてある。たとえば、タスク定義に直接記述する方法、Secrets Manager や Parameter Store を利用する方法、あるいは外部の設定管理ツールを組み合わせる方法などがあげられる。
その中でも、AWS Systems Manager Parameter Store を使用して環境変数を管理し、ECSタスクに適用する方法は実務上よく使われている。
なぜなら、同一のコンテナイメージを複数の環境(例:開発、ステージング、本番)で再利用できるようになるためだ。
このセッションでは、ECSからParameter Store経由で環境変数を取得する方法を紹介する。
目標
環境変数をParameter Storeにパラメータとして作成し、ECSに設定する。
前提条件
- AWSアカウント
- AWS CLI
- ECSコンテナが立ち上げられている
手順
Parameter Storeにパラメータを作成
ECSに設定する環境変数の情報を取得
必要な情報は下記である。
- キー
- 値
今回は例として、下記の環境変数の設定依頼が連携されたとする。
| キー | 開発環境-値 | 検証環境-値 | 本番環境-値 |
|---|---|---|---|
| ENV | development | staging | production |
まず開発環境のECSに、環境変数ENV=developmentを設定してみる。
パラメタストアにパラメータを作成
パラメータの設定を行う
| 設定項目 | 設定値 |
|---|---|
| 名前 | 任意ですが、「/」で階層化することがおすすめ |
| 説明 | 任意 |
| 利用枠 | 標準 |
| タイプ | 文字列 |
| データ型 | Text |
| 値 | 環境変数の値 |
| タグ | 任意 |
今回名前の設定について分かりやすくするように下記の命名規則で設定する。
- 命名規則:/<環境>/test/<環境変数名>
- 命名:/dev/test/ENV


「パラメータを作成」をクリック

作成されたパラメータが存在していることを確認し、クリックする

中身が想定通り設定されているか確認

問題なければ、パラメータの作成は完了となる。
ECSのタスク定義に環境変数を追加
対象ECSの画面を開き、「タスク」をクリック

稼働しているタスクをクリック

タスク定義をクリック

「新しいリビジョンの作成」をクリック

環境変数のセッションにスクロールして、「環境変数を追加」をクリック

設定項目を入力
| キー | 値のタイプ | 値 |
|---|---|---|
| 環境変数のキー | ValueFrom | パラメータの名前 |
ECSのサービス更新
サービス更新の確認
タスクの画面を開き、想定したタスク定義リビジョンでエラーなく稼働していることを確認

エラーなく稼働されていれば、環境変数の設定が完了とする。
stg環境、prd環境においても同じ手順であるため、ここで省略する。
環境変数が正しくコンテナ内設定されていることを確認するにはECS-execの設定が必要となる。
それについては次の編で説明する。









