区域和可用区 - Amazon Elastic Compute Cloud

区域和可用区

Amazon EC2 托管在全球多个位置。这些位置由区域、可用区、本地区域 和 Wavelength 区域构成。每个区域 都是一个单独的地理区域。

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

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

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

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

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

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

区域

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

下图说明了多个 AWS 区域。


				区域

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

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

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

可用区

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

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

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

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

下表列出的是 AWS 账户提供的区域。您不能通过 AWS 账户描述或访问其他区域,例如 AWS GovCloud(美国)区域 或中国区域。要使用 2019 年 3 月 20 日之后推出的区域,您必须启用区域。有关更多信息,请参阅 AWS General Reference 中的 管理 AWS 区域

有关可用 Wavelength 区域的信息,请参阅 AWS Wavelength 开发人员指南 中的可用 Wavelength 区域

代码 名称 选择加入状态 本地区域
us-east-2 美国东部(俄亥俄州) 可选 不可用
us-east-1 美国东部(弗吉尼亚北部) 可选 不可用
us-west-1 美国西部(加利福尼亚北部) 可选 不可用
us-west-2 美国西部(俄勒冈) 可选 us-west-2-lax-1a

us-west-2-lax-1b

af-south-1 非洲(开普敦) 必需 不可用
ap-east-1 亚太地区(香港) 必需 不可用
ap-south-1 亚太地区(孟买) 可选 不可用
ap-northeast-3 亚太区域 (大阪当地) 可选 不可用
ap-northeast-2 亚太区域(首尔) 可选 不可用
ap-southeast-1 亚太区域(新加坡) 可选 不可用
ap-southeast-2 亚太区域(悉尼) 可选 不可用
ap-northeast-1 亚太区域(东京) 可选 不可用
ca-central-1 加拿大 (中部) 可选 不可用
eu-central-1 欧洲(法兰克福) 可选 不可用
eu-west-1 欧洲(爱尔兰) 可选 不可用
eu-west-2 欧洲(伦敦) 可选 不可用
eu-south-1 欧洲(米兰) 必需 不可用
eu-west-3 欧洲(巴黎) 可选 不可用
eu-north-1 欧洲(斯德哥尔摩) 可选 不可用
me-south-1 中东(巴林) 必需 不可用
sa-east-1 南美洲(圣保罗) 可选 不可用

有关更多信息,请参阅 AWS 全球基础设施

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

区域和终端节点

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

若要了解有关AWS GovCloud(美国西部)内的终端节点和协议的更多信息,请参阅AWS GovCloud (US) User Guide内的AWS GovCloud(美国西部) 终端节点

描述您的区域

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

使用控制台查找您的区域

  1. 打开 Amazon EC2 控制台 https://console.aws.amazon.com/ec2/

  2. 从导航栏中,查看区域选择器中的选项。

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

使用 AWS CLI 查找您的区域

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

    aws ec2 describe-regions

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

    aws ec2 describe-regions --all-regions

使用 适用于 Windows PowerShell 的 AWS 工具 查找您的区域

  • 使用如下 Get-EC2Region 命令描述适用于您的账户的区域。

    PS C:\> Get-EC2Region

获取区域名称

您可以使用 Amazon Lightsail API 查看区域的名称。

使用 AWS CLI 查看区域名称

  • 如下所示使用 get-regions 命令,描述指定区域的名称。

    aws lightsail get-regions --query "regions[?name=='region-name'].displayName" --output text

    以下示例返回 us-east-2 区域的名称。

    aws lightsail get-regions --query "regions[?name=='us-east-2'].displayName" --output text

    下面是输出:

    Ohio

为资源指定区域

每次创建 Amazon EC2 资源时,您都可为该资源指定区域。您可以使用 AWS 管理控制台或命令行为资源指定区域。

注意事项

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

使用控制台为资源指定区域

  1. 打开 Amazon EC2 控制台 https://console.aws.amazon.com/ec2/

  2. 使用导航栏中的区域选择器。

使用命令行指定默认区域

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

  • AWS_DEFAULT_REGION (AWS CLI)

  • Set-AWSDefaultRegion (适用于 Windows PowerShell 的 AWS 工具)

或者,您可针对各个单独的命令使用 --region (AWS CLI) 或 -Region (适用于 Windows PowerShell 的 AWS 工具) 命令行选项。例如:--region us-east-2

有关 Amazon EC2 终端节点的更多信息,请参阅 Amazon Elastic Compute Cloud 终端节点

可用区

每个区域都有多个相互隔离的位置,称为可用区。当您启动实例时,您可以自己选择一个可用区或让我们为您选择。如果您的实例分布在多个可用区且其中的某个实例发生故障,则您可对您的应用程序进行相应设计,以使另一可用区中的实例可代为处理相关请求。

下图说明 AWS 区域中的多个可用区。


				区域

您也可使用弹性 IP 地址来掩蔽某个可用区中的实例所发生的故障,方法是快速将该地址重新映射到另一可用区中的实例。有关更多信息,请参阅 弹性 IP 地址

可用区由区域代码后跟一个字母标识符表示;例如,us-east-1a。为确保资源分配到某个区域的各个可用区,我们将可用区独立映射到每个 AWS 账户的名称。例如,您的 AWS 账户的可用区 us-east-1a 可能与另一 AWS 账户的 us-east-1a 不在同一位置。

要跨账户协调可用区,您必须使用 AZ ID(可用区的唯一、一致的标识符)。例如,use1-az1us-east-1 区域的 AZ ID,它在每个 AWS 账户中的位置均相同。

您可以查看 AZ ID,以确定一个账户中的资源相对于另一个账户中的资源所在的位置。例如,如果您在 AZ ID 为 use-az2 的可用区中与另一个账户共享一个子网,则在 AZ ID 也为 use-az2 的可用区中该账户便可使用这一子网。每个 VPC 和子网的 AZ ID 均显示在 Amazon VPC 控制台中。有关更多信息,请参阅 Amazon VPC 用户指南 中的使用共享 VPC

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

描述您的可用区

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

使用控制台查找可用区

  1. 打开 Amazon EC2 控制台 https://console.aws.amazon.com/ec2/

  2. 从导航栏中,查看区域选择器中的选项。

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

  4. 可用区在服务运行状况可用区状态下列出。

使用 AWS CLI 查找您的可用区

  1. 使用如下 describe-availability-zones 命令描述指定区域内的可用区。

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

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

使用 适用于 Windows PowerShell 的 AWS 工具 查找您的可用区

使用如下 Get-EC2AvailabilityZone 命令描述指定区域内的可用区。

PS C:\> Get-EC2AvailabilityZone -Region region-name

在可用区中启动实例

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

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

将实例迁移到其他可用区

如有必要,您可以将实例从一个可用区迁移到另一个可用区。例如,假设您正在尝试修改实例的实例类型,但我们无法在当前可用区中启动新实例类型的实例。在这种情况下,您可以将实例迁移到我们能够在其中启动该实例类型的实例的可用区。

迁移过程包括:

  • 从原始实例创建 AMI

  • 在新可用区中启动实例

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

将实例迁移到其他可用区

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

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

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

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

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

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

本地区域

本地区域 是在地理上靠近您用户的 AWS 区域的扩展。本地区域 拥有自己的 Internet 连接并支持 AWS Direct Connect,因此在 本地区域 中创建的资源可以为本地用户提供超低延迟的通信。有关更多信息,请参阅 AWS 本地扩展区


				本地扩展区

本地区域由区域代码后跟一个指示位置的标识符表示,例如 us-west-2-lax-1a

要使用 本地区域,您必须先启用它。有关更多信息,请参阅启用 本地区域。接下来,在 本地区域 中创建子网。最后,在 本地区域 子网中启动以下任意资源,以使您的应用程序接近您的最终用户:

  • Amazon EC2 实例

  • Amazon EBS 卷

  • Amazon FSx 文件服务器

  • Application Load Balancer

  • 专用主机

有关可用本地扩展区的信息,请参阅可用区

描述您的 本地区域

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

使用控制台查找您的 本地区域

  1. 打开 Amazon EC2 控制台 https://console.aws.amazon.com/ec2/

  2. 从导航栏中,查看区域选择器中的选项。

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

  4. 本地区域 在服务运行状况可用区状态下列出。

使用 AWS CLI 查找您的 本地区域

  1. 使用如下 describe-availability-zones 命令描述指定区域内的 本地区域。

    aws ec2 describe-availability-zones --region region-name
  2. 使用如下 describe-availability-zones 命令描述 本地区域,而不管是否已启用。

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

使用 适用于 Windows PowerShell 的 AWS 工具 查找您的 本地区域

使用如下 Get-EC2AvailabilityZone 命令描述指定区域内的 本地区域。

PS C:\> Get-EC2AvailabilityZone -Region region-name

启用 本地区域

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

考虑因素

某些 AWS 资源可能并非在所有区域都可用。在特定的 本地区域 内启动实例之前,请确保您可以在所需的区域或 本地区域 内创建您需要的资源。

使用控制台启用 本地区域

  1. 打开 Amazon EC2 控制台 https://console.aws.amazon.com/ec2/

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

  3. 从导航栏的“区域”选择器中,为 本地区域 选择“区域”。

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

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

  6. 选择管理

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

  8. 选择更新区域组

使用 AWS CLI 启用 本地区域

在 本地区域 中启动实例

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

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

  • Amazon 提供的弹性 IPv4 地址

  • IPv6 Amazon 提供的 VPC 地址

在 本地区域 中启动实例

  1. Enable 本地区域.有关更多信息,请参阅启用 本地区域

  2. 在支持 本地区域 的区域中创建 VPC。有关更多信息,请参阅 Amazon VPC 用户指南 中的创建主题

  3. 创建子网。在创建子网时选择 本地区域。有关更多信息,请参阅 Amazon VPC 用户指南 中的在 VPC 中创建子网

  4. 启动实例,然后选择您在 本地区域 中创建的子网。有关更多信息,请参阅启动实例

Wavelength 区域

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

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


				Wavelength 区域

Wavelength 区域由区域代码后跟一个指示 Wavelength 区域的标识符表示,例如 us-east-1-wl1-bos-wlz-1

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

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

描述您的 Wavelength 区域

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

使用控制台查找 Wavelength 区域

  1. 打开 Amazon EC2 控制台 https://console.aws.amazon.com/ec2/

  2. 从导航栏中,查看区域选择器中的选项。

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

  4. Wavelength 区域在服务运行状况可用区状态下列出。

使用 AWS CLI 查找 Wavelength 区域

  1. 使用如下 describe-availability-zones 命令描述指定区域内的 Wavelength 区域。

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

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

使用 适用于 Windows PowerShell 的 AWS 工具 查找 Wavelength 区域

使用如下 Get-EC2AvailabilityZone 命令描述指定区域内的 Wavelength 区域。

PS C:\> Get-EC2AvailabilityZone -Region region-name

启用 Wavelength 区域

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

注意事项

  • 您必须请求访问才能使用 Wavelength 区域。有关如何请求 Wavelength 区域访问权限的信息,请参阅 AWS Wavelength

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

使用控制台选择加入 Wavelength 区域

  1. 打开 Amazon EC2 控制台 https://console.aws.amazon.com/ec2/

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

  3. 从导航栏的“区域”选择器中,为 Wavelength 区域选择“区域”。

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

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

  6. Wavelength 区域下,打开每个 Wavelength 区域。

  7. 启用 Wavelength 区域。

使用 AWS CLI 启用 Wavelength 区域

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

在 Wavelength 区域中启动实例

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

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

AWS Outposts

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

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

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

在 Outpost 上启动实例

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

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

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

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

在 Outpost 上创建卷

您可以在您创建的 Outpost 子网中创建 EBS 卷。创建卷时,请指定 Outpost 的 Amazon 资源名称 (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

您必须先分离 Outpost 卷,然后才能对其进行修改。有关分离卷的更多信息,请参阅 从 Linux 实例中分离 Amazon EBS 卷