RDS のモニタリングロール
Terraform で RDS のモニタリングロールを設定する際、なるべく名前をデフォルトに寄せたくて以下のようにしている。
resource "aws_iam_role" "rds_monitoring_role" { name = "rds-monitoring-role" assume_role_policy = data.aws_iam_policy_document.rds_monitoring_role.json }
しかしこれだと、すでに RDS を構築したことがある (削除済み) だったり、DB インスタンスが立っている、みたいな環境に terraform する場合、デフォルトのロール名だと衝突して apply できない。
で、これって名前動かすとダメだと思ってたんだけど、実はそんなことはなかったのだった。
というわけで、以下のようにして apply した所無事に動いた。
resource "aws_iam_role" "rds_monitoring_role" { name = "${var.prefix}-rds-monitoring-role" assume_role_policy = data.aws_iam_policy_document.rds_monitoring_role.json }
${var.prefix}
には環境特有の文言を付与する。 これで便利にユニークな名前を設定できるはず。
おまけ
ALB とか 32 文字制限でつらすぎるのでせめて 128 文字とかに上限拡張しないかなあ、と思ったりしている。
あと Redis のライセンス形態が変わって for Redis の文言が使えないの、あからさまに AWS を意識していて笑っちゃった。 まあそうなる気持ちは分かるのだった。