ECSのコンテナに渡される環境変数の内容を確認する方法

2023/05/23に公開

目的

ECSタスク実行時に上手くいかない時、エラーの内容もさることながら
「環境変数何が設定されているのか?」 という疑問ができる時がある。
無論一通りGUIで確認はできる。
ただ、ENV, S3File, SSMなどの3種類で設定していると探すのが大変である。

今までだとタスク定義などを変更等をしてたり工夫をして出力していた。
もっと簡単だったのでこれの確認を簡易的にする方法を示す

■ 要約

そしてタスク実行時にenvコマンドを打ってログに出してタスクを終了させる。

■ 注意

このやり方だと最悪ログにSecret情報が出力される。
そのため、絶対にProduction環境で実施をしてはいけない。

■ 手順

  1. 対象のクラスタ画面を表示する
  2. 「タスク」タブへ遷移して「新しいタスクの実行」
  3. 対象のタスクを参考にタスク定義、ネットワークなど従来通りの設定を行う
  4. そのまま「アプリケーションタイプ」を「タスク」へ選択(1回実行して終わらせるため)
  5. さらに「コンテナの上書き」から対象のコンテナを選び 「コマンドの上書き」に「env」 を入力する
  6. 最後に「作成」を押したらタスクが実行される

■ 確認手順

上手くいっていたらログが出力されているため内容を確認する。
サイドカーなどでログをフィルタしている場合、出ない可能性がある。
その場合はそのタスクで実行することは諦める。

Discussion