新規のAWSアカウントとで、初めてDBサブネットグループをterraform経由で作成しようとしたところ以下のエラーが発生 エラーメッセージに表示されるリンクはこちら
docs.aws.amazon.com 上記リンクに記載があるが、本来コンソールから手動で作成すると自動で作成されるサービスロール(AWSServiceRoleForRDS)が、terraform経由なので作成されていなかった。 サービスにリンクされたロールを手動で作成する必要はありません。サービスにリンクされたロールは、create a DB instance すると Amazon RDS で自動的に作成されます。 DBサブネットグループを作成する前に、サービスロールを作成しておく。事象
* aws_db_subnet_group.db_subnet_group: 1 error(s) occurred:
* aws_db_subnet_group.db_subnet_group: Error creating DB Subnet Group: InvalidParameterValue: Missing necessary credentials. Please check http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAM.ServiceLinkedRoles.html
原因
対応
resource "aws_iam_service_linked_role" "AWSServiceRoleForRDS" {
aws_service_name = "rds.amazonaws.com"
}