可用的 EC2 实例类型是否因可用性区域(在同一区域)而异?

Does the available EC2 instances types vary over availablity zones (in the same region)?

亚马逊在法兰克福推出了第三个可用性区域:eu-central-1c

据我所知,第三可用区不支持现有区域(eu-central-1a 和 eu-central-1b)中可用的所有实例类型。

我一直假设可用的实例类型可能因地区而异,但在同一地区的可用区是相同的。据我所知,情况并非如此。

如果一个 EC2 实例类型在一个区域可用,您是否不能假设它在所有可用区都可用?


用于测试的脚本是:

aws ec2 describe-reserved-instances-offerings \
  --query "ReservedInstancesOfferings[?AvailabilityZone=='eu-central-1c'] [InstanceType]" \
  --output text --region eu-central-1 | grep c3.large

# c3.large not available on eu-central-1c

但是

aws ec2 describe-reserved-instances-offerings \
  --query "ReservedInstancesOfferings[?AvailabilityZone=='eu-central-1a'] [InstanceType]" \
  --output text --region eu-central-1 | grep c3.large

# ... it is available on eu-central-1a

根据文档,实例类型的可用性可能因区域中的可用区而异。

来自 EC2 docs:

Some AWS resources might not be available in all regions and Availability Zones. Ensure that you can create the resources you need in the desired regions or Availability Zone before launching an instance in a specific Availability Zone.

虽然资源是一个模糊的术语,但实例类型应该被视为资源。因此,有可能某个实例类型在某个可用区不可用,但在其他可用区可用。还有一些情况是无法启动某种类型的实例,因为 AWS 在请求时该区域没有足够的容量。

这里要注意的另一件重要事情是,并不是所有帐户的可用性区域都是固定的,如 here 所述。

To ensure that resources are distributed across the Availability Zones for a region, we independently map Availability Zones to identifiers for each account. For example, your Availability Zone us-east-1a might not be the same location as us-east-1a for another account. There's no way for you to coordinate Availability Zones between accounts.