EC2-Classic
我们即将停用 EC2-Classic。我们建议您从 EC2-Classic 迁移到 VPC。 |
通过使用 EC2-Classic,您的实例会在一个可与其他客户共享的扁平化网络中运行。通过使用 Amazon VPC,您的实例会在一个逻辑上与 Amazon 账户分离的 Virtual Private Cloud(VPC)中运行。
EC2-Classic 平台是在 Amazon EC2 的初始版本中引入的。如果您的 Amazon 账户是在 2013 年 12 月 4 日之后创建的,它不支持 EC2-Classic,因此您必须在 VPC 中启动您的 Amazon EC2 实例。
检测支持的平台
Amazon EC2 控制台会显示您在所选区域中可以启动实例的平台,以及您在该区域是否拥有默认 VPC。或者,您也可以使用 Amazon CLI 中的 describe-account-attributes 命令。
支持 EC2-Classic 的账户
选择区域并在控制面板上找到账户属性。下面的内容表示该账户支持 EC2-Classic。

需要 VPC 的账户
选择区域并在控制面板上找到账户属性。下面的内容表示该账户不支持 EC2-Classic。

EC2-Classic 中提供的实例类型
多数较新的实例类型都需要 VPC。以下是 EC2-Classic 中支持的唯一实例类型:
-
通用:M1、M3 和 T1
-
计算优化:C1、C3 和 CC2
-
内存优化:CR1、M2 和 R3
-
存储优化:D2、HS1 和 I2
-
加速计算:G2
如果您的账户支持 EC2-Classic,但您尚未创建非默认 VPC,您可以执行以下操作之一来启动需要 VPC 的实例:
-
在请求中指定子网 ID 或网络接口 ID,以便创建非默认 VPC 并将您的仅 VPC 实例启动至该 VPC。请注意,如果您没有默认的 VPC 并且使用 Amazon CLI、Amazon EC2 API 或 Amazon 软件开发工具包来启动仅限 VPC 的实例,则必须创建非默认 VPC。
-
使用 Amazon EC2 控制台启动仅 VPC 实例。Amazon EC2 控制台在您的账户中创建非默认 VPC 并将实例启动至第一个可用区中的子网。控制台将创建具有以下属性的 VPC:
-
每个可用区中有一个子网,其公有 IPv4 地址属性设置为
true
,因此实例会收到一个公有 IPv4 地址。有关更多信息,请参阅 Amazon VPC 用户指南 中的您的 VPC 中的 IP 地址。 -
一个 Internet 网关,以及一个将 VPC 中的流量路由到该 Internet 网关的主路由表。这使您在 VPC 中启动的实例可以在 Internet 上通信。有关更多信息,请参阅 Amazon VPC 用户指南 中的 Internet 网关。
-
VPC 的默认安全组和与每个子网关联的默认网络 ACL。有关更多信息,请参阅 Amazon VPC 用户指南 中的您的 VPC 的安全组。
-
如果您在 EC2-Classic 中有其他资源,则可以采取措施将它们迁移到 VPC。有关更多信息,请参阅从 EC2-Classic 迁移到 VPC。
EC2-Classic 和 VPC 中的实例之间的区别
下表总结了在 EC2-Classic、默认 VPC 以及非默认 VPC 这三种平台中启动的实例之间的区别。
特征 | EC2-Classic | 默认 VPC | 非默认 VPC |
---|---|---|---|
公有 IPv4 地址 (来自 Amazon 的公有 IP 地址池) |
您的实例从 EC2-Classic 公有 IPv4 地址池接收公有 IPv4 地址。 |
默认情况下,在默认子网中启动的实例会收到公有 IPv4 地址,除非您在启动过程中另行指定,或者您修改子网的公有 IPv4 地址属性。 |
默认情况下,您的实例不会收到公有 IPv4 地址,除非您在启动过程中另行指定,或者您修改子网的公有 IPv4 地址属性。 |
私有 IPv4 地址 |
您的实例会在每次启动时收到一个处于 EC2-Classic 范围内的私有 IPv4 地址。 |
您的实例会收到一个处于默认 VPC 地址范围内的静态私有 IPv4 地址。 |
您的实例会收到一个处于 VPC 地址范围内的静态私有 IPv4 地址。 |
多个私有 IPv4 地址 |
我们会为您的实例选择一个私有 IP 地址;不支持多个 IP 地址。 |
您可以将多个私有 IPv4 地址分配给您的实例。 |
您可以将多个私有 IPv4 地址分配给您的实例。 |
弹性 IP 地址 (IPv4) |
当您停止实例时,弹性 IP 会取消与实例的关联。 |
当您停止实例时,弹性 IP 会保持与实例的关联。 |
当您停止实例时,弹性 IP 会保持与实例的关联。 |
分配弹性 IP 地址 |
将弹性 IP 地址与实例相关联。 |
弹性 IP 地址是网络接口的一个属性。您可以通过更新附加到实例的网络接口,将弹性 IP 地址与该实例关联起来。 |
弹性 IP 地址是网络接口的一个属性。您可以通过更新附加到实例的网络接口,将弹性 IP 地址与该实例关联起来。 |
取消关联弹性 IP 地址 |
如果弹性 IP 地址已经与其他实例关联,该地址会自动与新实例关联。 |
如果弹性 IP 地址已经与其他实例关联,该地址会自动与新实例关联。 |
如果弹性 IP 地址已经与其他实例关联,则只有您允许重新关联时该操作才会成功。 |
标记弹性 IP 地址 |
您不能将标签应用于弹性 IP 地址。 |
您可以将标签应用于弹性 IP 地址。 |
您可以将标签应用于弹性 IP 地址。 |
DNS 主机名 |
DNS 主机名默认处于启用状态。 |
DNS 主机名默认处于启用状态。 |
DNS 主机名默认处于禁用状态。 |
安全组 |
安全组可以引用属于其他 Amazon 账户的安全组。 |
安全组可以引用您的 VPC 的安全组,或者引用 VPC 对等连接中的对等 VPC 的安全组。 |
安全组只能引用您的 VPC 的安全组。 |
安全组关联 |
您不能更改正在运行的实例的安全组。您可以修改已分配的安全组的规则,或使用新实例予以替换 (从该实例中创建 AMI,通过此 AMI 启动带有您所需的安全组的新实例,取消任意弹性 IP 地址与原有实例的关联并将其与新实例关联起来,然后终止原有实例)。 |
您最多可以为一个实例分配 5 个安全组。 您可以在启动实例时和实例运行过程中为其分配安全组。 |
您最多可以为一个实例分配 5 个安全组。 您可以在启动实例时和实例运行过程中为其分配安全组。 |
安全组规则 |
您只能为入站流量添加规则。 |
您可以为入站和出站流量添加规则。 |
您可以为入站和出站流量添加规则。 |
Tenancy |
您的实例在共享硬件上运行。 |
您可以在共享硬件或单租户硬件上运行您的实例。 |
您可以在共享硬件或单租户硬件上运行您的实例。 |
正在访问 Internet | 您的实例可以访问 Internet。您的实例会自动接收公有 IP 地址,并且可以直接通过 Amazon 网络边界访问 Internet。 | 默认情况下,您的实例可以访问 Internet。您的实例默认会接收一个公有 IP 地址。一个 Internet 网关附加到您的默认 VPC,并且您的默认子网有一个到 Internet 网关的路由。 | 默认情况下,您的实例不能访问 Internet。您的实例默认不会接收公有 IP 地址。您的 VPC 可能有一个 Internet 网关,具体取决于它的创建方式。 |
IPv6 寻址 | 不支持 IPv6 寻址。您无法将 IPv6 地址分配给您的实例。 | 您可以选择将一个 IPv6 CIDR 块与 VPC 关联,并将 IPv6 地址分配给 VPC 中的实例。 | 您可以选择将一个 IPv6 CIDR 块与 VPC 关联,并将 IPv6 地址分配给 VPC 中的实例。 |
EC2-Classic 的安全组
如果要使用 EC2-Classic,则必须使用为 EC2-Classic 专门创建的安全组。当您在 EC2-Classic 中启动实例时,您必须在实例所在的相同区域内指定一个安全组。在 EC2-Classic 中启动实例时,您无法指定为 VPC 创建的安全组。
在 EC2-Classic 中启动实例后,您就不能再更改其安全组。不过,您可以向安全组添加或从中删除规则,并且这些更改会在经过一小段时间之后自动应用于与该安全组关联的所有实例。
您的 Amazon 账户在每个区域中都自动拥有一个 EC2-Classic 默认安全组。如果您尝试删除默认安全组,会显示以下错误:Client.InvalidGroup.Reserved: The security group 'default' is reserved (Client.InvalidGroup.Reserved: 保留“默认”安全组)。
您可以创建自定义安全组。安全组名称在您的区域账户中必须是唯一的。要创建在 EC2-Classic 中使用的安全组,请对 VPC 选择 No VPC (无 VPC)。
您可以对默认和自定义安全组添加入站规则。您无法更改 EC2-Classic 安全组的出站规则。创建安全组规则时,您可以在与源或目标相同的区域中使用其他 EC2-Classic 安全组。要为其他 Amazon 账户指定安全组,请添加 Amazon 账户 ID 作为前缀;例如 111122223333/sg-edcd9784
。
在 EC2-Classic 中,您可以在每个区域为每个账户创建多达 500 个安全组。您最多可以为一个安全组添加 100 条规则。每个实例最多可拥有 800 个安全组规则。其计算方式为:每个安全组的规则数乘以每个实例的安全组数量。如果您在安全组规则中引用其他安全组,我们建议您使用长度不超过 22 个字符的安全组名称。
IP 寻址和 DNS
Amazon 提供了 DNS 服务器,可将 Amazon 提供的 IPv4 DNS 主机名解析为 IPv4 地址。在 EC2-Classic 中,此 Amazon DNS 服务器位于 172.16.0.23
。
如果您在 EC2-Classic 中创建自定义防火墙配置,那么必须在您的防火墙中创建规则,以允许来自 Amazon DNS 服务器地址的端口 53 (DNS)(目标端口在临时范围内)的入站流量,否则,实例的内部 DNS 解析会失败。如果您的防火墙无法自动允许 DNS 查询响应,那么您就需要允许来自 Amazon DNS 服务器的 IP 地址的流量。要获取 Amazon DNS 服务器的 IP 地址,请在您的实例中使用以下命令:
grep nameserver /etc/resolv.conf
弹性 IP 地址
如果您的账户支持 EC2-Classic,则其中一个弹性 IP 地址池可用于 EC2-Classic 平台,而另一个可用于 VPC。您不能将已分配与 VPC 配合使用的弹性 IP 地址与 EC2-Classic 中的实例相关联,反之亦然。
分配可在 EC2-Classic 中使用的弹性 IP 地址
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Elastic IPs。
-
选择 Allocate Elastic IP address (分配弹性 IP 地址)。
-
对于 Scope(范围),选择 EC2-Classic。
-
选择 Allocate。
在 EC2-Classic 与 VPC 之间共享和访问资源
您的 Amazon 账户中的一些资源和功能可以在 EC2-Classic 与 VPC 平台之间共享或访问(例如,通过 ClassicLink)。有关更多信息,请参阅ClassicLink。
如果您的账户支持 EC2-Classic,您可能已经设置在 EC2-Classic 中使用的资源。如果您要从 EC2-Classic 迁移到 VPC,则必须在 VPC 中重新创建这些资源。有关从 EC2-Classic 迁移到 VPC 的更多信息,请参阅从 EC2-Classic 迁移到 VPC。
以下资源可在 EC2-Classic 与 VPC 之间共享或访问。
资源 | 备注 |
---|---|
AMI | |
捆绑任务 | |
EBS 卷 | |
弹性 IP 地址 (IPv4) |
您可将弹性 IP 地址从 EC2-Classic 迁移至 VPC。您无法将本来分配为在 VPC 中使用的弹性 IP 地址迁移至 EC2-Classic。有关更多信息,请参阅弹性 IP 地址。 |
实例 |
EC2-Classic 实例可以使用公有 IPv4 地址与 VPC 中的实例通信,或者您可以使用 ClassicLink 通过私有 IPv4 地址实现通信。 您不能将实例从 EC2-Classic 迁移到 VPC。不过,您可以将应用程序从 EC2-Classic 中的实例迁移到 VPC 中的实例。有关更多信息,请参阅从 EC2-Classic 迁移到 VPC。 |
密钥对 | |
负载均衡器 |
如果您使用了 ClassicLink,则可以将一个链接的 EC2-Classic 实例注册到某个 VPC 中的负载均衡器,前提是该 VPC 具有与实例位于同一可用区的子网。 您不能将负载均衡器从 EC2-Classic 迁移到 VPC。您无法在 EC2-Classic 的负载均衡器中注册 VPC 中的实例。 |
置放群组 | |
Reserved Instance |
可以将 预留实例 的网络平台从 EC2-Classic 更改为 VPC。有关更多信息,请参阅修改 预留实例。 |
安全组 |
链接的 EC2-Classic 实例可通过 ClassicLink 使用 VPC 安全组以控制进出 VPC 的流量。VPC 实例不能使用 EC2-Classic 安全组。 您不能将安全组从 EC2-Classic 迁移到 VPC。您可以将规则从 EC2-Classic 安全组复制到 VPC 安全组。有关更多信息,请参阅创建安全组。 |
快照 |
以下资源不能在 EC2-Classic 与 VPC 之间共享或移动:
-
竞价型实例