6/9 の続き。
やっと DB クラスターが作成できました。
結論から言うと、制約のある AZ (ID: apne1-az3) で、インスタンスを起動していたのが問題でした。
実装方法
AWS::RDS::DBInstance
の Properties
にて以下の設定をしていました。
AvailabilityZone: !Select [ 0, !GetAZs ]
!GetAZs
にて利用可能な AZ を a から順番に列挙し、 !Select
で0番目の要素を取得して利用するという指定です。
この結果、インスタンスの起動が ap-northeast-1a
固定となっておりました。
今回は、 ap-northeast-1a
が制約のある AZ(ID: apne1-az3) だったため、インスタンスの起動に失敗し、クラスターが作成できていなかったようです。
以下の指定に変更することにより、無事に起動しました。
AvailabilityZone: !Select [ 1, !GetAZs ] # 0 に当たる ap-northeast-1a は制約がある AZ(ID: apne1-az3) なので使わない
原因がわかってよかったのですが、 AvailabilityZone
は必須ではないため、未指定でも動作に問題はなかったと思います。
ZoneName と ZoneID の確認
現在利用しているアカウントがどの ZoneName で apne1-az3 を利用しているか否かについては、以下のコマンドで確認できます。
$ aws ec2 describe-availability-zones --region ap-northeast-1 --query 'AvailabilityZones[].{ZoneName:ZoneName, ZoneId:ZoneId}' --output table ---------------------------------- | DescribeAvailabilityZones | +------------+-------------------+ | ZoneId | ZoneName | +------------+-------------------+ | apne1-az3 | ap-northeast-1a | | apne1-az4 | ap-northeast-1b | | apne1-az1 | ap-northeast-1c | | apne1-az2 | ap-northeast-1d | +------------+-------------------+