CloudFormation で 3 AZ (Availability Zone) のサブネットを作るときに Fn::GetAZs でハマったのでメモしておきます。 利用できる AZ はアカウントによって違いがあるので、AZ をハードコーディングしてしまうと汎用性がなくなってしまいます。そのために用意されている関数が Fn::GetAZs で、指定されたリージョンの AZ を配列で返してくれます。 Fn::GetAZs で ap-northeast-1d が返ってこない ap-northeast-1a, 1c, 1d が使えるアカウントで次のような CloudFormation テンプレートを書くと、なぜか "Template error: Fn::Select cannot select nonexistent value at index 2" というエラーになりました。配列に 2 つ
![CloudFormation の Fn::GetAZs で ap-northeast-1d が返ってこなくてハマった | はったりエンジニアの備忘録](https://cdn-ak-scissors.b.st-hatena.com/image/square/a0e915cea129091852934283824e9be8e16f2f75/height=288;version=1;width=512/https%3A%2F%2Fblog.manabusakai.com%2Fimage%2Fogp.png)