terraformでコンテナに機密情報を渡す
ECSでコンテナに機密情報を渡す方法
タスク定義のコンテナ編集の環境変数メニューでValueFromにssmパラメーターのarnを指定し、より安全にコンテナに機密情報を渡すことが可能です。
terraformでvalueFromの値を設定する方法
terraform公式サイトのtask_definitionのページにはValueの値を設定できるEnvironmentについては記載があるものの、ValueFromを設定できるパラメータの記載はありません。
しかし、AWSコンソール画面からContainedefinitionの項目を確認すると、secretsという値があり、これがValueFromの項目であることが確認できます。ちなみにEnvironmentはValueとなるため、ssmのarnを渡しても、設定したいパラメーターに変換されません。(自分はこれで一度失敗しました)
terraformコード
複数の値を渡す場合が多いと思うので、その際には以下のようにforを使うと楽です。
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}]
////////////////////省略//////////////////////////////////////
}
]
)
}
Author And Source
この問題について(terraformでコンテナに機密情報を渡す), 我々は、より多くの情報をここで見つけました https://qiita.com/ms2geki/items/08853c86d49863e6a7eb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .