菜单
Amazon Elastic Compute Cloud
Linux 实例用户指南

地区和可用区域

Amazon EC2 托管在全球多个位置。这些位置由区域和可用区构成。每个区域 都是一个独立的地理区域。每个区域都有多个相互隔离的位置,称为可用区。Amazon EC2 让您可以在多个位置放置资源 (如实例) 和数据。除非您特意这样做,否则资源不会被跨区域复制。

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

区域和可用区域概念

每一个区域都是完全独立的。每个可用区都是独立的,但区域内的可用区通过低延迟链接相连。下图阐明了区域和可用区之间的关系。

 区域和可用区

Amazon EC2 资源要么具有全球性,要么与区域或可用区相关联。有关更多信息,请参阅 资源位置

区域

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

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

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

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

可用区

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

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

可用区由区域代码后跟一个字母标识符表示;例如,us-east-1a。为确保资源分配到区域的各可用区,我们将可用区独立映射到每个账户的标识符。例如,您的可用区 us-east-1a 与其他账户的可用区 us-east-1a 所表示的可能不是同一个位置。您无法在不同账户之间协调可用区。

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

您可以列出您的账户可用的可用区。有关更多信息,请参阅 描述您的区域和可用区域

可用区域

您的账户会确定适用于您的地区。例如:

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

  • 您只能通过AWS GovCloud(美国)账户访问AWS GovCloud(美国)区域。有关更多信息,请参阅AWS GovCloud(美国)区域

  • 您只能通过 Amazon AWS (中国) 账户访问中国(北京)区域。

下表列出的是 AWS 账户提供的地区。您不能通过 AWS 账户描述或访问其他区域,例如AWS GovCloud(美国)或中国(北京)。

代码 名称

us-east-1

美国东部(弗吉尼亚北部)

us-east-2

美国东部(俄亥俄州)

us-west-1

美国西部(加利福尼亚北部)

us-west-2

美国西部(俄勒冈)

ca-central-1

加拿大 (中部)

eu-west-1

欧洲(爱尔兰)

eu-central-1

欧洲(法兰克福)

eu-west-2

欧洲 (伦敦)

ap-northeast-1

亚太区域(东京)

ap-northeast-2

亚太区域(首尔)

ap-southeast-1

亚太区域(新加坡)

ap-southeast-2

亚太区域(悉尼)

ap-south-1

亚太地区(孟买)

sa-east-1

南美洲(圣保罗)

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

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

区域和终端节点

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

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

描述您的区域和可用区域

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

使用控制台查找您的区域和可用区

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

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

     查看您的区域
  3. 服务运行状况可用区状态下的控制面板上查看可用区。

使用命令行查找您的区域和可用区

  1. [AWS CLI] 使用如下 describe-regions 命令描述您账户的区域。

    Copy
    aws ec2 describe-regions
  2. [AWS CLI] 使用如下 describe-availability-zones 命令描述指定区域内的可用区。

    Copy
    aws ec2 describe-availability-zones --region region-name
  3. [适用于 Windows PowerShell 的 AWS 工具] 使用如下 Get-EC2Region 命令描述您账户的区域。

    Copy
    PS C:\> Get-EC2Region
  4. [适用于 Windows PowerShell 的 AWS 工具] 使用如下 Get-EC2AvailabilityZone 命令描述指定区域内的可用区。

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

为资源指定区域

每次创建 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 终端节点

在可用区中启动实例

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

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

使用控制台为您的实例指定可用区

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

  2. 在控制面板上,选择 Launch Instance

  3. 按照向导中的指示操作。在 Configure Instance Details (配置实例详细信息) 页面中,执行以下操作:

    • [EC2-Classic] 从列表中的可用区选项中选择一项,或选择 No Preference (无首选项),让我们为您选择最佳可用区。

       为您的实例选择可用区
    • [EC2-VPC] 从列表中的子网选项中选择一项,或选择 No Preference (default subnet in any Availability Zone) (无首选项(任何可用区的默认子网)),让我们为您选择最佳可用区。

       为您的实例选择一个子网

使用 AWS CLI 为您的实例指定可用区

您可以将 run-instances 命令与下面的一个选项结合使用:

  • [EC2-Classic] --placement

  • [EC2-VPC] --subnet-id

使用 适用于 Windows PowerShell 的 AWS 工具 为您的实例指定可用区

您可以将 New-EC2Instance 命令与下面的一个选项结合使用:

  • [EC2-Classic] -AvailabilityZone

  • [EC2-VPC] -SubnetId

将实例迁移到其他可用区

如果需要,您可以将实例迁移从一个可用区迁移到另一个可用区。例如,如果您尝试修改实例的类型,且我们无法在当前可用区中启动新实例类型的实例,则您可以将该实例迁移到我们可以启动该实例类型的实例的可用区中。

如以下步骤所示,迁移过程包括从原始实例创建 AMI、在新可用区中启动实例以及更新新实例的配置。

将实例迁移到其他可用区

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

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

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

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

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

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