Default Subnetが無くてAWS CDKでDeployに失敗した
cdk deploy をしたときに、Template errorとやらで落ちた。
$ cdk deploy HogeStack HogeStack: deploying... HogeStack: creating CloudFormation changeset... 0/28 | 01:13:45 | CREATE_IN_PROGRESS | AWS::EC2::VPC | ExampleVpc (ExampleVpc7799291B) ~中略~ 6/28 | 01:14:04 | CREATE_FAILED | AWS::EC2::Subnet | ExampleVpc/PrivateSubnet2/Subnet (ExampleVpcPrivateSubnet2Subnet...) Template error: Fn::Select cannot select nonexistent value at index 1 new Subnet (/Users/szk416/hoge_project/node_modules/@aws-cdk/aws-ec2/lib/vpc.ts:1311:20)
最初はTemplate errorなのでコードのミスかと思ったが、エラーメッセージを見て、ふと思ってマネジメントコンソールを見たら ap-northeast-1a
以外のdefault subnetが存在していなかった。
昔よくわからず、リソースを掃除しようと消してしまったのかもしれない。
ユーザガイドを見たらCUIでしか作れないようだったが、特に難しいことはなかった。 デフォルト VPC とデフォルトサブネット - Amazon Virtual Private Cloud
aws ec2 create-default-subnet --availability-zone ap-northeast-1c aws ec2 create-default-subnet --availability-zone ap-northeast-1d
default subnetが復活して、無事deployできた。