AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

RDS の role 名を変える

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 できない。

で、これって名前動かすとダメだと思ってたんだけど、実はそんなことはなかったのだった。

dev.classmethod.jp

というわけで、以下のようにして 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 を意識していて笑っちゃった。 まあそうなる気持ちは分かるのだった。