1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

terraformでコンテナに機密情報を渡す

Last updated at Posted at 2021-05-25

#ECSでコンテナに機密情報を渡す方法

タスク定義のコンテナ編集の環境変数メニューでValueFromにssmパラメーターのarnを指定し、より安全にコンテナに機密情報を渡すことが可能です。

image.png

image.png

#terraformでvalueFromの値を設定する方法

terraform公式サイトのtask_definitionのページにはValueの値を設定できるEnvironmentについては記載があるものの、ValueFromを設定できるパラメータの記載はありません。

しかし、AWSコンソール画面からContainedefinitionの項目を確認すると、secretsという値があり、これがValueFromの項目であることが確認できます。ちなみにEnvironmentはValueとなるため、ssmのarnを渡しても、設定したいパラメーターに変換されません。(自分はこれで一度失敗しました)

image.png

#terraformコード
複数の値を渡す場合が多いと思うので、その際には以下のようにforを使うと楽です。

taskdefinition.tf
resource "aws_ecs_task_definition" "example"{

container_definitions = jsonencode(
                       [
                         {
////////////////////省略//////////////////////////////////////
                           secrets = [for k, v in aws_ssm_parameter.parameter_for_ecs :
                           { name      = k
                             valueFrom = v.arn}]
////////////////////省略//////////////////////////////////////
                         }
                       ]
                     )

                   }
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?