TL;DR
AWS CLIの下記を実行すると、使用できるゾーンが分かる。
aws ec2 describe-instance-type-offerings --location-type availability-zone --filters Name=instance-type,Values=t2.micro --region ap-northeast-1 --output table
結果
※ 使用しているAWSアカウントによって結果が異なります
$ aws ec2 describe-instance-type-offerings --location-type availability-zone --filters Name=instance-type,Values=t2.micro --region ap-northeast-1 --output table
------------------------------------------------------------
| DescribeInstanceTypeOfferings |
+----------------------------------------------------------+
|| InstanceTypeOfferings ||
|+--------------+-------------------+---------------------+|
|| InstanceType | Location | LocationType ||
|+--------------+-------------------+---------------------+|
|| t2.micro | ap-northeast-1d | availability-zone ||
|| t2.micro | ap-northeast-1c | availability-zone ||
|| t2.micro | ap-northeast-1a | availability-zone ||
|+--------------+-------------------+---------------------+|
経緯
Terraform にて availability_zone を指定する必要があった。
下記AWS CLIのコマンドで AWSの東京リージョン(ap-northeast-1)には4つのアベイラビリティゾーンが分かった。
$ aws ec2 describe-availability-zones --region ap-northeast-1 | jq -r '.AvailabilityZones[].ZoneName'
ap-northeast-1a
ap-northeast-1b
ap-northeast-1c
ap-northeast-1d
試してみると、ap-northeast-1b だけは新規にインスタンスを作ることができなかった。
上記により、本題のコマンドで使用できるアベイラビリティゾーンを調べたので共有。
補足
ap-northeast-1b が使用できないと書いたが、これはアカウントによって異なる。
そのため、アカウントにて本題のコマンドを実行する必要がある。
参考文献