スポンサーリンク

CloudFormation、RDS部分でnot emptyエラーに振り回された話

プログラミング
スポンサーリンク

CloudFormation初めました…

VPC/EC2/ALB/Subnet/EIP/IGW/NAT これらの作成はわりとさくさくいきました。
ここにRDS Auroraを足そうとしたときに、スタック作成時のエラー解決ができず、気づいたら累計30時間ぐらい使っていた話です。

原因は、GUIからだと自動で作ってくれる Type: AWS::RDS::DBClusterParameterGroup の記述が漏れていました。

CloudFormationの公式ドキュメントや、有志の記事を参考にyamlを書いて、トライ&エラーを繰り返していました。

公式ドキュメント:
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html

スタック作成時にAllocatedStorage not empty.エラーが表示されました。
ドキュメントでは必須:いいえ だし、GUIではAuroraの場合ここを設定する必要ないので、ドキュメントかAPIのバグで、実は必須なんだと判断し、追記しました。

このエラーはでなくなりましたが、次々に必須:いいえであるはずの項目のエラーが・・・どんどん追記していきます。

最終的にType: AWS::RDS::DBInstanceのStorageType でどの有効な値: standard | gp2 | io1を入れても、not valiedのエラーがでるようになり、わけわからん状態に。

社内や有志のRDS Auroraを使うyamlと差分を見ていったところ、自分のyamlにType: AWS::RDS::DBClusterParameterGroupが無いことに気づき、追記して解消しました。

ドキュメントでは必須:いいえ だし、GUIではAuroraの場合ここを設定する必要ない

CloudFormationのTypeのレベルは、自動ではやってくれなくて、記述が必要ということですね(たぶん)

コメント