区域和可用区 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

区域和可用区

Amazon EC2 托管在全球多个位置。这些位置由 Amazon Web Services 区域、可用区、Local Zones、Amazon Outposts 和 Wavelength Zones 组成。

  • 每个区域都是一个单独的地理区域。

  • 可用区是每个区域内的多个相互隔离的位置。

  • Local Zones 让您可以在多个离最终用户较近的位置放置资源(如计算和存储)。

  • Amazon Outposts 可将本机 Amazon 服务、基础设施和运营模式引入几乎任何数据中心、主机托管空间或本地设施。

  • 利用 Wavelength 区域,开发人员可以为 5G 设备和最终用户打造具有超低延迟的应用程序。Wavelength 可以将标准 Amazon 计算和存储服务部署到电信运营商的 5G 网络边缘。

Amazon运行着具有高可用性的先进数据中心。数据中心有时会发生影响托管于同一位置的所有实例的可用性的故障,虽然这种故障极少发生。如果您将所有实例都托管在受故障影响的同一个位置,则您的所有实例都将不可用。

要帮助您确定哪种部署最适合您,请参阅 Amazon Wavelength 常见问题解答

区域

从设计而言,每个 区域都与其他 区域隔离。这可实现最大程度的容错能力和稳定性。

当您查看资源时,只会看到与您指定的 区域关联的资源。这是因为 区域间彼此隔离,而且我们不会自动跨 区域复制资源。

当您启动某个实例时,必须选择位于同一区域的 AMI。如果 AMI 在其他区域,您可将该 AMI 复制到您使用的区域。有关更多信息,请参阅复制 AMI

请注意,在区域之间传输数据需要收费。有关更多信息,请参阅 Amazon EC2 定价 - 数据传输

可用区

您的账户确定了适用于您的区域。

  • Amazon Web Services 账户 提供多个区域,因此您可在符合您要求的位置启动 Amazon EC2 实例。例如,您可能希望在欧洲区域启动实例以更多符合欧洲客户的要求或满足法律要求。

  • Amazon GovCloud(美国西部)账户提供对 Amazon GovCloud(美国西部)区域和 Amazon GovCloud(美国东部)区域的访问。有关更多信息,请参阅Amazon GovCloud (US)

  • 您只能通过 Amazon(Amazon中国)账户访问北京和宁夏区域。有关更多信息,请参阅 中国的 Amazon Web Services

下表列出的是 Amazon Web Services 账户 提供的区域。您不能通过 Amazon Web Services 账户 描述或访问其他区域,例如 Amazon GovCloud (US) Regions 或中国区域。要使用 2019 年 3 月 20 日之后推出的区域,您必须启用区域。有关更多信息,请参阅 Amazon Account Management 参考指南中的指定您的账户可以使用的 Amazon 区域

代码 名称 选择加入状态
us-east-2 美国东部(俄亥俄州) 可选
us-east-1 美国东部(弗吉尼亚) 可选
us-west-1 美国西部(北加利福尼亚) 可选
us-west-2 US West(Oregon) 可选
af-south-1 非洲(开普敦) 必需
ap-east-1 亚太地区(香港) 必需
ap-south-2 亚太地区(海得拉巴) 必需
ap-southeast-3 亚太地区(雅加达) 必需
ap-southeast-4 亚太地区(墨尔本) 必需
ap-south-1 亚太地区(孟买) 可选
ap-northeast-3 亚太地区(大阪) 可选
ap-northeast-2 亚太地区(首尔) 可选
ap-southeast-1 亚太地区(新加坡) 可选
ap-southeast-2 亚太地区(悉尼) 可选
ap-northeast-1 Asia Pacific(Tokyo) 可选
ca-central-1 Canada(Central) 可选
ca-west-1 加拿大西部(卡尔加里) 必需
eu-central-1 欧洲地区(法兰克福) 可选
eu-west-1 欧洲地区(爱尔兰) 可选
eu-west-2 欧洲地区(伦敦) 可选
eu-south-1 欧洲地区(米兰) 必需
eu-west-3 欧洲地区(巴黎) 可选
eu-south-2 欧洲(西班牙) 必需
eu-north-1 欧洲地区(斯德哥尔摩) 可选
eu-central-2 欧洲(苏黎世) 必需
il-central-1 以色列(特拉维夫) 必需
me-south-1 中东(巴林) 必需
me-central-1 中东(阿联酋) 必需
sa-east-1 South America(São Paulo) 可选

如需更多信息,请参阅 Amazon 全球基础设施

每个区域可用区的数量和映射可能因 Amazon Web Services 账户 而异。要获取可用于您账户的可用区列表,可使用 Amazon EC2 控制台或命令行界面。有关更多信息,请参阅描述您的区域

区域和终端节点

当您通过命令行界面或 API 操作使用实例时,必须指定其区域终端节点。有关 Amazon EC2 的区域和端点的更多信息,请参阅 Amazon Web Services 一般参考 中的 Amazon EC2 端点和限额

有关 Amazon GovCloud(美国西部)中的端点和协议的更多信息,请参阅《Amazon GovCloud (US) 用户指南》中的服务端点

描述您的区域

您可使用 Amazon EC2 控制台或命令行界面来确定适用于您的账户的区域。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2

使用控制台查找您的区域
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航栏中,选中 Regions(区域)选择器。

    
							查看您的区域
  3. 所选区域的 EC2 资源显示在资源部分中的 EC2 控制面板上。

使用 Amazon CLI 查找您的区域

使用如下 describe-regions 命令描述为您的账户启用的区域。

aws ec2 describe-regions

要描述所有区域(包括为账户禁用的任何区域),请添加 --all-regions 选项,如下所示。

aws ec2 describe-regions --all-regions

获取区域显示名称

您可以使用 Amazon Systems Manager Parameter Store 查看区域的显示名称。每个区域在以下路径中均有公共参数。

/aws/service/global-infrastructure/regions/region-code

区域的公共参数包括以下内容:

  • /aws/service/global-infrastructure/regions/region-code/domain

  • /aws/service/global-infrastructure/regions/region-code/geolocationCountry

  • /aws/service/global-infrastructure/regions/region-code/geolocationRegion

  • /aws/service/global-infrastructure/regions/region-code/longName

  • /aws/service/global-infrastructure/regions/region-code/partition

longName 参数包含区域显示名称。以下 get-parameters-by-path 命令返回 af-south-1 区域的显示名称。该命令使用 --query 选项将输出范围限定为区域名称。在 Linux 上,必须将查询字符串用单引号括起来。要使用 Windows 命令提示符运行此命令,请省略单引号,或将其更改为双引号。

Linux
aws ssm get-parameters-by-path \ --path /aws/service/global-infrastructure/regions/af-south-1 \ --query 'Parameters[?Name.contains(@,`longName`)].Value' \ --output text
Windows
aws ssm get-parameters-by-path ^ --path /aws/service/global-infrastructure/regions/af-south-1 ^ --query "Parameters[?Name.contains(@,`longName`)].Value" ^ --output text

下面是示例输出。

Africa (Cape Town)

有关更多信息,请参阅《Amazon Systems Manager 用户指南》中的使用公共参数

指定资源的区域

每次创建 Amazon EC2 资源时,您都可为该资源指定区域。您可以使用 Amazon Web Services Management Console 或命令行为资源指定区域。

注意事项

某些 Amazon 资源可能并非在所有区域都可用。在启动实例之前,确保您可以在所需区域中创建所需的资源。

使用控制台为资源指定区域
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航栏中,选中 Regions(区域)选择器,然后选择区域。

    
							查看您的区域
使用命令行指定默认区域

可以将环境变量的值设置为所需的区域终端节点(例如,https://ec2.us-east-2.amazonaws.com):

  • AWS_DEFAULT_REGION (Amazon CLI)

  • Set-AWSDefaultRegion (Amazon Tools for Windows PowerShell)

或者,您可针对各个单独的命令使用 --region (Amazon CLI) 或 -Region (Amazon Tools for Windows PowerShell) 命令行选项。例如,--region us-east-2

有关 Amazon EC2 端点的更多信息,请参阅 Amazon Web Services 一般参考 中的 Amazon EC2 端点和限额

可用区

每个区域都有多个相互隔离的位置,称为可用区。可用区的代码由其区域代码后跟一个字母标识符组成。例如,us-east-1a

启动实例时,您可以选择区域和 Virtual Private Cloud (VPC),然后可以从可用区中选择子网,也可以让我们为您选择子网。如果您的实例分布在多个可用区且其中的某个实例发生故障,则您可对您的应用程序进行相应设计,以使另一可用区中的实例可代为处理相关请求。您也可使用弹性 IP 地址来掩蔽某个可用区中的实例所发生的故障,方法是快速将该地址重新映射到另一可用区中的实例。

下图说明 Amazon 区域中的多个可用区。可用区 A 和可用区 B 各有一个子网,每个子网均有实例。可用区 C 没有子网,因此您无法在此可用区内启动实例。


				在某个可用区中具有实例的区域。

随着可用区域中内容的增加,我们对其进行扩展的能力会逐渐受限。如果发生此情况,我们可能会阻止您在扩展能力受限的可用区内启动实例,除非您在此可用区中已拥有实例。最终,我们还可能将扩展能力受限的可用区从新账户的可用区列表中删除。因此,您的不同账户在一个区域中可用的可用区数量可能不同。

AZ ID

为确保资源分配到区域的各可用区,我们将可用区独立映射到每个 Amazon Web Services 账户 的代码。例如,您 Amazon Web Services 账户 的可用区 us-east-1a 可能与另一 Amazon Web Services 账户 的 us-east-1a 不在同一实际位置。

要跨账户协调可用区,您必须使用 AZ ID(可用区的唯一、一致的标识符)。例如,use1-az1us-east-1 区域的可用区 ID,它在每个 Amazon Web Services 账户 中的实际位置均相同。您可以查看您账户的可用区 ID,以确定您的资源相对于另一个账户中的资源所在的实际位置。例如,如果您在 AZ ID 为 use1-az2 的可用区中与另一个账户共享一个子网,则在 AZ ID 也为 use1-az2 的可用区中该账户便可使用这一子网。

下图展示了可用区代码到可用区 ID 有着不同映射的两个账户。


        			可用区代码到可用区 ID 有着不同映射的两个账户。

描述您的可用区

您可使用 Amazon EC2 控制台或命令行界面来确定适用于您的账户的可用区。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2

使用控制台查找可用区
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航栏中,选中 Regions(区域)选择器,然后选择区域。

  3. 在导航窗格上,选择 EC2 Dashboard

  4. 可用区在 Service health(服务运行状况)窗格中列出。

使用 Amazon CLI 查找您的可用区
  • 使用如下的 describe-availability-zones 命令描述在指定区域内已为您的账户启用的可用区。

    aws ec2 describe-availability-zones --region region-name
  • 使用如下 describe-availability-zones 命令描述可用区,而不管选择加入状态如何。

    aws ec2 describe-availability-zones --all-availability-zones

在可用区中启动实例

当您启动实例时,请选择能让您的实例更接近特定客户的区域,或选择能够满足法律或您的其他要求的区域。通过启动独立可用区内的实例,您可以保护您的应用程序不受单一位置故障的影响。

当您启动实例时,可以选择指定您所用区域中的可用区。如果您未指定可用区,我们将为您选择一个可用区。启动初始实例时,我们建议您接受默认可用区,因为这允许我们根据系统运行状况和可用容量为您选择最佳可用区。如果您要启动其他实例,则除非您的新实例必须接近正在运行的实例或必须与正在运行的实例相隔离,否则请不要为新实例指定可用区。

将实例迁移到其他可用区

如有必要,您可以将实例从一个可用区迁移到另一个可用区。例如,如果您尝试修改实例的实例类型,而我们无法在当前可用区中启动新实例类型的实例,您可以将实例迁移到具有新实例类型容量的可用区。

迁移过程包括:

  • 从原始实例创建 AMI

  • 在新可用区中启动实例

  • 更新新实例的配置,如以下过程所示

将实例迁移到其他可用区
  1. 从该实例创建 AMI。迁移过程取决于操作系统和实例的根设备卷的类型。有关更多信息,请参阅对应于您的操作系统和根设备卷的文档:

  2. 如果需要保留实例的私有 IPv4 地址,必须删除当前可用区中的子网,然后在新可用区中用与原始子网相同的 IPv4 地址范围创建子网。请注意,在删除子网前,您必须终止该子网中的所有实例。因此,您应从子网中的所有实例创建 AMI,这样您就可以将当前子网中的所有实例迁移到新子网。

  3. 指定新的可用区或子网,从您刚创建的 AMI 启动一个实例。您可以使用与初始实例相同的实例类型,也可以选择新实例类型。有关更多信息,请参阅在可用区中启动实例

  4. 如果原始实例有关联的弹性 IP 地址,则请将其与新实例相关联。有关更多信息,请参阅解除弹性 IP 地址的关联

  5. 如果原始实例是 Reserved Instance,请更改预留的可用区。(如果您还更改了实例类型,则可以更改预留的实例类型。) 有关更多信息,请参阅提交修改请求

  6. (可选)终止原始实例。有关更多信息,请参阅终止实例

Local Zones

本地区域是在地理上靠近您的用户的 Amazon 区域的扩展。Local Zones 有自己的互联网连接并支持 Amazon Direct Connect,以便在本地区域中创建的资源可以通过低延迟通信为本地用户提供服务。有关更多信息,请参阅 Amazon Local Zones

本地区域的代码由其区域代码后跟一个指示其实际位置的标识符组成。例如,在洛杉矶的 us-west-2-lax-1

下图说明了 Amazon 区域 us-west-2、其两个可用区及其两个本地区域。VPC 跨多个可用区和其中一个本地区域。VPC 中的每个区域都有一个子网,每个子网都有一个实例。


				包含可用区和本地区域的 VPC。

要使用 Local Zones,您必须先启用它。有关更多信息,请参阅选择加入 Local Zones。接下来,在本地扩展区中创建子网。最后,在 Local Zone 子网中启动实例等资源,以确保您的应用程序靠近用户。

选择加入 Local Zones

您必须选择加入 Local Zones,然后才能为资源或服务指定本地区域。

考虑因素

某些 Amazon 资源可能并非在所有区域都可用。在特定的 Local Zones内启动实例之前,请确保您可以在所需的区域或本地区域内创建您需要的资源。有关每个 Local Zone 中支持的服务列表,请参阅 Amazon Local Zones 功能

要使用控制台选择加入 Local Zones
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在页面左上角,选择新的 EC2 体验。您无法使用旧的控制台体验完成此任务。

  3. 在导航栏中,选中 Regions(区域)选择器,然后选择父级区域。

  4. 在导航窗格上,选择 EC2 Dashboard

  5. 在页面的右上角,选择账户属性,然后选择区域

  6. 要启用 Local Zone,请选择 Manage(管理)。

  7. 对于区域组,选择已启用

  8. 选择更新区域组

要使用 Amazon CLI 选择加入 Local Zones

使用 modify-availability-zone-group 命令。

在 Local Zones 中启动实例

启动实例时,您可以指定位于 Local Zone 中的子网。您可以从网络边界组分配 IP 地址。网络边界组是一组唯一的可用区、Local Zones 或 Wavelength 区域(Amazon 可从中公告 IP 地址,例如 us-west-2-lax-1a)。

您可以从网络边界组分配以下 IP 地址:

  • Amazon 提供的弹性 IPv4 地址

  • Amazon 提供的 IPv6 VPC 地址(仅在洛杉矶区域可用)

有关如何在 Local Zone 中启动实例的更多信息,请参阅《Amazon Local Zone 用户指南》中的 Amazon Local Zone 入门

Wavelength 区域

利用 Amazon Wavelength,开发人员可以为移动设备和最终用户打造具有超低延迟的应用程序。Wavelength 可以将标准 Amazon 计算和存储服务部署到电信运营商的 5G 网络边缘。开发人员可以将 Virtual Private Cloud(VPC)扩展到一个或多个 Wavelength 区域,然后使用 Amazon EC2 实例等 Amazon 资源来运行需要超低延迟并连接到区域中的 Amazon 服务的应用程序。

Wavelength 区域是在其中部署 Wavelength 基础设施的运营商位置中的隔离区域。Wavelength 区域与一个区域相关联。Wavelength 区域是区域的逻辑扩展,由区域中的控制平面管理。

Wavelength 区域的代码由其区域代码后跟一个指示实际位置的标识符组成。例如,在波士顿的 us-east-1-wl1-bos-wlz-1

下图说明了 Amazon 区域 us-west-2、其两个可用区及 Wavelength 区域。VPC 跨多个可用区和 Wavelength 区域。VPC 中的每个区域都有一个子网,每个子网都有一个实例。


				包含可用区和 Wavelength 区域的 VPC。

要使用 Wavelength 区域,您必须首先选择加入此区域。有关更多信息,请参阅启用 Wavelength 区域。接下来,在 Wavelength 区域中创建子网。最后,在 Wavelength 区域子网中启动资源,以便您的应用程序更接近最终用户。

Wavelength 区域并非在每个区域中都可用。有关支持 Wavelength 区域的区域的信息,请参阅 Amazon Wavelength 开发人员指南中的可用 Wavelength 区域

描述您的 Wavelength 区域

您可使用 Amazon EC2 控制台或命令行界面来确定适用于您的账户的 Wavelength 区域。有关这些命令行界面的更多信息,请参阅 访问 Amazon EC2

使用控制台查找 Wavelength 区域
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航栏中,选中 Regions(区域)选择器,然后选择区域。

  3. 在导航窗格上,选择 EC2 Dashboard

  4. 在页面的右上角,选择账户属性,然后选择区域

使用 Amazon CLI 查找 Wavelength 区域
  • 使用如下的 describe-availability-zones 命令描述在指定区域内已为您的账户启用的 Wavelength Zone。

    aws ec2 describe-availability-zones --region region-name
  • 使用如下 describe-availability-zones 命令描述 Wavelength 区域,而不管选择加入状态如何。

    aws ec2 describe-availability-zones --all-availability-zones

启用 Wavelength 区域

在为资源或服务指定 Wavelength 区域之前,必须启用 Wavelength 区域。

注意事项
  • 某些 Amazon 资源并非在所有区域中都可用。在特定的 Wavelength 区域中启动实例之前,请确保您可以在所需的区域或 Wavelength 区域中创建您需要的资源。

使用控制台选择加入 Wavelength 区域
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在页面左上角,选择新的 EC2 体验。您无法使用旧的控制台体验完成此任务。

  3. 在导航栏中,选中 Regions(区域)选择器,然后选择区域。

  4. 在导航窗格上,选择 EC2 Dashboard

  5. 在页面的右上角,选择账户属性,然后选择区域

  6. Wavelength Zones(Wavelength 区域)下,为 Wavelength 区域选择 Manage(管理)。

  7. 请选择 启用

  8. 选择更新区域组

使用 Amazon CLI 启用 Wavelength 区域

使用 modify-availability-zone-group 命令。

在 Wavelength 区域中启动实例

启动实例时,您可以指定位于 Wavelength 区域中的子网。您还可以从网络边界组分配运营商 IP 地址,该组是一组唯一的可用区、Local Zones 或 Wavelength 区域(Amazon 可从中公告 IP 地址,例如 us-east-1-wl1-bos-wlz-1)。

有关如何在 Wavelength 区域中启动实例的信息,请参阅 Amazon Wavelength 开发人员指南中的 Amazon Wavelength 入门

Amazon Outposts

Amazon Outposts 是一项完全托管的服务,可将 Amazon 基础设施、服务、API 和工具扩展到客户场所。通过提供对 Amazon 托管基础设施的本地访问,Amazon Outposts 使客户能够使用与 Amazon 区域中相同的编程接口在本地构建和运行应用程序,同时使用本地计算和存储资源来满足更低的延迟和本地数据处理需求。

Outpost 是部署在客户站点的 Amazon 计算和存储容量池。Amazon 作为 Amazon 区域的一部分运营、监控和管理此容量。您可以在 Outpost 上创建子网,并在创建 Amazon 资源时指定这些子网。Outpost 子网中的实例使用私有 IP 地址与 Amazon 区域中的其他实例通信,全部都在相同 VPC 内进行。

下图说明了 Amazon 区域 us-west-2、其两个可用区及 Outpost。VPC 跨多个可用区和 Outpost。Outpost 位于本地部署的客户数据中心。VPC 中的每个区域都有一个子网,每个子网都有一个实例。


				具有可用区和 Outpost 的 VPC。

要开始使用 Amazon Outposts,您必须创建一个 Outpost 并订购 Outpost 容量。有关 Outposts 配置的更多信息,请参阅我们的目录。安装 Outpost 设备后,当您在 Outpost 上启动 Amazon EC2 实例时,可以使用计算和存储容量。

在 Outpost 上启动实例

您可以在您创建的 Outpost 子网中启动 EC2 实例。安全组控制 Outpost 子网中具有弹性网络接口的实例的入站和出站流量,就像对待可用区子网中的实例一样。要连接到 Obpost 子网中的 EC2 实例,您可以在启动实例时指定密钥对,就像对待可用区子网中的实例一样。

Outpost 机架上实例的根卷必须小于或等于 30 GB。您可以在 AMI 或实例的块储存设备映射中指定数据卷以提供额外存储。要从引导卷中裁剪未使用的块,请参阅 Amazon 合作伙伴网络博客中的如何构建稀疏 EBS 卷

我们建议您增加根卷的 NVMe 超时。有关更多信息,请参阅I/O 操作超时

有关如何创建 Outpost 的信息,请参阅 Amazon Outposts 用户指南中的 Amazon Outposts 入门

在 Outpost 机架上创建卷

Amazon Outposts 提供机架和服务器外形尺寸。如果容量位于 Outpost 机架上,则您可以在所创建的 Outpost 子网中创建 EBS 卷。创建卷时,请指定 Outpost 的 Amazon Resource Name (ARN)。

以下 create-volume 命令在指定的 Outpost 上创建一个空的 50 GB 卷。

aws ec2 create-volume --availability-zone us-east-2a --outpost-arn arn:aws:outposts:us-east-2:123456789012:outpost/op-03e6fecad652a6138 --size 50

您可以在不分离卷的情况下动态修改 Amazon EBS gp2 卷的大小。有关在不分离卷的情况下修改卷的更多信息,请参阅 请求对您的 EBS 卷进行修改