😄
Terraformで発生した凡ミスによるエラー2「SSM name specified for secret is invalid.」
Terraformで発生した凡ミスによるエラー2「The Systems Manager parameter name specified for secret is invalid.」with "/"」
terraformでtask definitionのsecretにssmの値を読み込むように設定した時に発生した
※タイトルは文字数の都合上、エラー文を省略してあります。
The Systems Manager parameter name specified for secret xxx is invalid. The parameter name can be up to 2048 characters and include the following letters and symbols: a-zA-Z0-9_.-,
シークレット値のssmは下記のように渡している。
# ssmのアウトプット
output "rds_host_ssm" {
value = aws_ssm_parameter.rds_endpoint.value
}
# task definition
secrets = [
{
"name" : "DB_HOST",
"valueFrom" : var.rds_host_ssm
}
]
原因
エラーを調べたら、ssmのname(参照先)を指定するべきでssmの値を渡すべきではない。タイプミスだった。
# ssmのアウトプット
output "rds_host_ssm" {
- value = aws_ssm_parameter.rds_endpoint.value
+ value = aws_ssm_parameter.rds_endpoint.name
}
# task definition
secrets = [
{
"name" : "DB_HOST",
"valueFrom" : var.rds_host_ssm
}
]
最後に
間違っていることがあれば、コメントに書いていただけると幸いです。
よろしくお願いいたします。
Discussion