本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Amazon VPC 为 Auto Scaling 实例提供网络连接
我们即将停用 EC2-Classic。我们建议您从 EC2-Classic 迁移到 VPC。有关更多信息,请参阅博客文章 EC2-Classic Networking is Retiring - Here's How to Prepare |
Amazon Virtual Private Cloud (Amazon VPC) 允许您在 Amazon Web Services 云 的私有、隔离部分定义虚拟网络环境。您的虚拟联网环境完全由您控制。
在 Virtual Private Cloud (VPC) 内,您可启动 Amazon 资源,如 Auto Scaling 组。自动扩缩组在 VPC 中的工作原理与它在 EC2-Classic 中的工作原理基本相同,支持同样的功能集。
Amazon VPC 中的子网是可用区的一个部分,由 VPC 的 IP 地址范围段定义。您可以根据您的安全和运行需求,使用子网对您的实例进行分组。子网完全位于其最初创建时所在的可用区内。在子网中启动 Auto Scaling 实例。
要支持 Internet 与您的子网中的实例之间的通信,您必须创建一个 Internet 网关并将其附加到您的 VPC。通过使用互联网网关,您的子网中的资源可以通过 Amazon EC2 网络边界连接到互联网。如果一个子网的流量被路由到 Internet 网关,这个子网便是公有子网。如果子网的流量不路由到 Internet 网关,则子网称为私有 子网。请将公有子网用于必须连接到 Internet 的资源,并将私有子网用于不需要连接到 Internet 的资源。有关向 VPC 中的实例授予互联网访问的更多信息,请参阅 Amazon VPC 用户指南中的访问互联网。
EC2-Classic
如果您在 2013 年 12 月 4 日之前创建了 Amazon Web Services 账户,您可以在某些区域中选择 Amazon VPC 和 EC2-Classic。如果您拥有以下较旧账户之一,您可能在某些区域的 EC2-Classic 中具有 Auto Scaling 组,而不是 Amazon VPC。
要了解有关从 EC2 Classic 迁移到 VPC 的信息,请参阅博客文章 EC2-Classic 联网正在停用 - 下面介绍如何准备
要确定您使用的任何 Amazon Web Services 区域 是否仍在使用 EC2-Classic,请打开 Amazon EC2 控制台。如果 Supported platforms(支持的平台)仅指示 VPC(如下例所示),则说明您在当前 Amazon Web Services 区域 中的 Amazon Web Services 账户 使用 VPC 平台并使用默认 VPC。默认 VPC 的名称显示在支持的平台下方。

提示
在包含默认 VPC 的区域中创建的任何自动扩缩组都可以在默认 VPC 或非默认 VPC 中启动实例,但不能在 EC2-Classic 中启动实例。
默认 VPC
如果您在 2013 年 12 月 4 日之后创建了 Amazon Web Services 账户,或正在新的 Amazon Web Services 区域 中创建 Auto Scaling 组,我们会为您创建默认 VPC。默认 VPC 随每个可用区中的默认子网提供。如果您有默认 VPC,则在默认情况下,将在默认 VPC 中创建 Auto Scaling 组。
您可以通过 Amazon VPC 控制台的您的 VPC 页面
有关默认 VPC 的更多信息,请参阅《Amazon VPC 用户指南》中的默认 VPC 和默认子网。
非默认 VPC
您可以打开 Amazon Web Services Management Console中的 VPC 控制面板页面
有关更多信息,请参阅 Amazon VPC 用户指南。
注意
VPC 跨越其 Amazon Web Services 区域中的所有可用区。向 VPC 添加子网时,请选择多个可用区以确保在这些子网中托管的资源具有高可用性。可用区是 Amazon Web Services 区域 中一个或多个具有冗余电源、网络和连接的离散数据中心。可用区可为生产级应用程序提供高可用性、容错能力和可扩展性。
选择 VPC 子网时的注意事项
在为自动扩缩组选择 VPC 子网时,请注意以下事项:
-
如果您要将 Elastic Load Balancing 负载均衡器附加到 Auto Scaling 组,则可以在公有或私有子网中启动实例。但是,必须在公有子网中创建负载均衡器才能支持 DNS 解析。
-
如果您直接通过 SSH 访问 Auto Scaling 实例,则只能在公有子网中启动实例。
-
如果您正在使用 Amazon Systems Manager 会话管理器访问非入口 Auto Scaling 实例,可以在公有或私有子网中启动实例。
-
如果您使用的是私有子网,则可以使用公有 NAT 网关允许 Auto Scaling 实例访问互联网。
-
预设情况下,默认 VPC 中的默认子网为公有子网。
VPC 中的 IP 寻址
在 VPC 中启动 Auto Scaling 实例时,您的实例将从分配启动实例的子网 CIDR 范围自动分配私有 IP 地址。这样,这些实例就能够与 VPC 中的其他实例通信。
您可以配置启动模板或启动配置以为您的实例分配公有 IPv4 地址。通过将公有 IP 地址分配给实例,这些实例可以与互联网或其他 Amazon 服务进行通信。
在配置为自动分配 IPv6 地址的子网中启动实例时,这些实例会同时收到 IPv4 和 IPv6 地址。否则,这些实例仅接收 IPv4 地址。有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的 IPv6 地址。
有关为您的 VPC 或子网指定 CIDR 范围的更多信息,请参阅 Amazon VPC 用户指南。
当您使用指定了其他网络接口的启动模板时,Amazon EC2 Auto Scaling 可以在实例启动时自动分配其他私有 IP 地址。每个网络接口都将从启动实例的子网的 CIDR 范围中获得单个私有 IP 地址。在这种情况下,系统将不再能够为主网络接口自动分配公有 IPv4 地址。除非您将可用的弹性 IP 地址与 Auto Scaling 实例关联,否则将无法通过公有 IPv4 地址连接到您的实例。
VPC 中的网络接口
VPC 中的每个实例具有一个默认网络接口(主网络接口)。您无法从实例断开主网络接口。您可以创建其他网络接口并将其挂载至您的 VPC 中的任何实例。您可以挂载的网络接口数因实例类型而有所差异。
使用启动模板启动实例时,您可以指定其他网络接口。但是,启动具有多个网络接口的 Auto Scaling 实例会自动在与实例相同的子网中创建每个接口。这是因为 Amazon EC2 Auto Scaling 会忽略启动模板中定义的子网,而不是 Auto Scaling 组中指定的子网。有关更多信息,请参阅为自动扩缩组创建启动模板。
如果创建来自同一子网的两个或多个网络接口或将其连接到一个实例,可能会遇到非对称路由等联网问题,尤其是使用非 Amazon Linux 变体的实例。如果需要此类配置,则必须在操作系统中配置辅助网络接口。有关示例,请参阅 Amazon 知识中心中的如何在我的 Ubuntu EC2 实例中使用我的辅助网络接口?
实例部署租期
预设情况下,VPC 中的所有实例将作为共享租期实例运行。Amazon EC2 Auto Scaling 还支持专用实例和专用主机。但是,对专用主机的支持仅适用于使用启动模板的 Auto Scaling 组。有关更多信息,请参阅使用启动配置来配置实例租赁:
Amazon Outposts
Amazon Outposts 可将 Amazon VPC 从 Amazon 区域扩展到 Outpost,其中包含可在该区域访问的 VPC 组件,包括互联网网关、虚拟专用网关、Amazon VPC 中转网关和 VPC 端点。Outpost 位于该区域内的一个可用区中,是该可用区的延伸,让您可以用来实现弹性。
有关更多信息,请参阅 Amazon Outposts 用户指南。
用于了解 VPC 的更多资源
要了解有关 VPC 和子网的更多信息,请参阅以下主题。
-
VPC 中的私有子网
-
VPC 中的公有子网
-
Application Load Balancer 的子网
-
一般 VPC 信息