Amazon Elastic Compute Cloud
Linux 实例用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

更改实例类型

随着您的需求变化,您可能会发现您的实例过度使用 (实例类型过小) 或利用不足 (实例类型过大)。如果出现这种情况,您可更改您的实例大小。例如,如果您的 t2.micro 实例对于其工作负载过小,您可将其更改为 m3.medium 实例。

您可能还想从上一代实例类型迁移到最新一代实例类型以利用某些功能,例如 IPv6 支持。

如果实例的根设备是 EBS 卷,您可以通过更改其实例类型来更改实例的大小,这称为调整大小。如果实例的根设备是实例存储卷,则必须将应用程序迁移到实例类型为您所需的新实例。有关根设备卷的更多信息,请参阅 根设备存储

在调整实例大小时,您必须选择与实例的配置兼容的实例类型。如果您所需的实例类型与您具有的实例配置不兼容,则必须将应用程序迁移到实例类型为您所需的新实例。

重要

在调整实例大小时,已调整大小的实例通常具有您在启动原始实例时指定的相同实例存储卷数。如果您要添加实例存储卷,则必须将应用程序迁移到实例类型和实例存储卷为您所需的新实例。此规则的一个例外是:调整到存储优化型实例类型的大小时,会默认包含更多数量的卷。有关实例存储卷的更多信息,请参阅 Amazon EC2 实例存储

调整大小的实例的兼容性

仅当实例的当前实例类型和您所需的新实例类型在下列方面兼容时,才能调整实例的大小:

  • 虚拟化类型:Linux AMI 使用两种虚拟化之一:半虚拟化 (PV) 或硬件虚拟机 (HVM)。您不能调整实例大小从 PV AMI 启动的实例类型到 HVM 的实例类型。有关更多信息,请参阅 Linux AMI 虚拟化类型。要查看实例的虚拟化类型,请查看 Amazon EC2 控制台中 Instances 屏幕的详细信息窗格中的 Virtualization 字段。

  • 网络:EC2-Classic 中不支持某些实例类型,这些类型的实例必须在 VPC 中启动。因此,您不能将 EC2-Classic 中的实例的大小调整为仅在 VPC 中可用的实例类型的大小,除非您有非默认 VPC。有关更多信息,请参阅 实例类型仅在 VPC 中可用。要查看您的实例是否在 VPC 中,请查看 Amazon EC2 控制台中 Instances 屏幕的详细信息窗格中的 VPC ID 值。

  • 平台:所有 Amazon EC2 实例类型都支持 64 位 AMIs,但只有以下实例类型支持 32 位 AMIs:t2.nanot2.microt2.smallt2.mediumc3.larget1.microm1.smallm1.mediumc1.medium。如果您要调整 32 位实例的大小,将限于这些实例类型。要查看实例的平台,请转到 Amazon EC2 控制台中的 Instances 屏幕,并选择 Show/Hide ColumnsArchitecture

  • 增强联网:支持增强联网的实例类型需要安装必要的驱动程序。例如,C5、C5d、M5 和 M5d 实例类型需要由 EBS 提供支持且安装有 Elastic Network Adapter (ENA) 驱动程序的 AMI。如果您在将现有实例大小调整为支持增强联网的实例,则必须先相应地在实例上安装 ENAixgbevf 驱动程序。

  • NVMe:一些实例类型 (例如 C5、C5d、M5 和 M5d) 将 EBS 卷作为 NVMe 块储存设备公开。如果您在将实例调整大小为这些实例类型之一,则必须先在实例上安装 NVMe 驱动程序。有关支持的 AMI 的更多信息,请参阅计算优化型实例通用型实例中的发行说明。

例如,EC2-Classic 中不支持 T2 实例,这些实例仅限 HVM。在 Linux 上,T1 实例不支持 HVM,必须从半虚拟化 AMI 启动。因此,您无法将 T1 Linux 实例大小调整到 T2 Linux 实例大小。

调整 Amazon EBS 支持实例的大小

您必须先停止 Amazon EBS 支持实例,然后才能更改其实例类型。当您停止和启动实例时,需要注意以下事项:

  • 我们将实例迁移到新硬件;但是,实例 ID 不会更改。

  • 如果您的实例在 VPC 中运行并具有公有 IPv4 地址,则我们会释放该地址并向实例提供一个新的公有 IPv4 地址。实例会保留其私有 IPv4 地址、任何弹性 IP 地址以及任何 IPv6 地址。

  • 如果实例在 EC2-Classic 中运行,则我们会为其提供新的公有和私有 IP 地址,并取消该实例与任何弹性 IP 地址的关联。因此,为确保您的用户可不间断地继续使用托管在您的实例上的应用程序,在重启实例后,您必须重新关联所有弹性 IP 地址。

  • 如果您的实例处于 Auto Scaling 组中,则 Amazon EC2 Auto Scaling 服务会将已停止的实例标记为运行状况不佳,可能会终止它并启动替换实例。为防止出现此情况,您可以在调整实例大小时,为组暂停扩展流程。有关更多信息,请参阅 Amazon EC2 Auto Scaling 用户指南中的暂停和恢复 Scaling 流程

  • 当实例停止时,请确保您已计划停机时间。停止实例并调整其大小可能需要几分钟时间,重新启动实例所用的时间则由应用程序的启动脚本决定。

有关更多信息,请参阅 停止和启动您的实例

使用 AWS 管理控制台,通过以下过程调整 Amazon EBS 支持实例的大小。

调整 Amazon EBS 支持实例的大小

  1. 打开 Amazon EC2 控制台。

  2. 在导航窗格中,选择 Instances,然后选择实例。

  3. [EC2-Classic] 如果实例具有关联的弹性 IP 地址,则记录下详细信息窗格中显示的弹性 IP 地址和实例 ID。

  4. 依次选择 ActionsInstance StateStop

  5. 在确认对话框中,选择 Yes, Stop。停止实例可能需要几分钟时间。

    [EC2-Classic] 当实例状态变为 stopped 时,详细信息窗格中的 Elastic IPPublic DNS (IPv4)Private DNSPrivate IPs 字段为空,表明旧值不再与实例关联。

  6. 在实例仍处于选中状态的情况下,依次选择 ActionsInstance SettingsChange Instance Type。请注意,如果实例状态不是 stopped,则禁用此操作。

  7. Change Instance Type 对话框中,执行以下操作:

    1. Instance Type 中,选择您所需的实例类型。如果列表中未显示您所需的实例类型,则说明它与您的实例配置不兼容 (例如,由于虚拟化类型)。

    2. (可选) 如果您选择的实例类型支持 EBS 优化,则选择 EBS-optimized 以启用 EBS 优化或取消选择 EBS-optimized 以禁用 EBS 优化。请注意,如果您选择的实例类型默认情况下已经过 EBS 优化,则 EBS-optimized 已选中,您无法取消选择。

    3. 选择 Apply 以接受新设置。

  8. 要重启已停止的实例,请选择该实例,然后依次选择 ActionsInstance StateStart

  9. 在确认对话框中,选择 Yes, Start。实例进入 running 状态可能需要几分钟时间。

  10. [EC2-Classic] 当实例状态为 running 时,详细信息窗格中的 Public DNS (IPv4)Private DNSPrivate IPs 字段包含我们分配给实例的新值。如果您的实例具有关联的弹性 IP 地址,则必须按以下方式对其进行重新关联:

    1. 在导航窗格中,选择 Elastic IPs

    2. 选择您在停止实例前所记下的弹性 IP 地址。

    3. 依次选择 ActionsAssociate address

    4. Instance 中,选择您在停止实例前所记下的实例 ID,然后选择 Associate

迁移实例存储支持的实例

如果您要将应用程序从一个实例存储支持的实例移至另一个不同实例类型的实例存储支持的实例,则必须通过从您的实例创建映像来迁移它,然后从此映像启动实例类型为您所需的新实例。要确保您的用户可不间断地继续使用托管在您的实例上的应用程序,您必须使用已与您的原始实例关联的任何弹性 IP 地址,并将其与新实例关联。之后您可以终止原始实例。

迁移实例存储支持的实例

  1. [EC2-Classic] 如果您迁移的实例具有关联的弹性 IP 地址,请立即记录该弹性 IP 地址,以便之后可将其与新实例关联。

  2. 备份实例存储卷上所有您需要保留在持久性存储中的数据。要迁移 EBS 卷上您需要保留的数据,请拍摄这些卷的快照 (请参阅 创建 Amazon EBS 快照) 或从实例中分离卷,以便您之后可以将其附加到新的实例 (请参阅 将 Amazon EBS 卷与实例分离)。

  3. 通过满足先决条件并按照创建由实例存储支持的 Linux AMI中的过程执行,从实例存储支持的实例创建 AMI。当您通过您的实例创建完 AMI 后,请返回到此过程。

  4. 打开 Amazon EC2 控制台,在导航窗格中选择 AMIs。从筛选条件列表中,选择 Owned by me,然后选择您在上一步中创建的映像。请注意,AMI Name (AMI 名称) 是您在注册映像时指定的名称,而 Source (源) 是您的 Amazon S3 存储桶。

    注意

    如果您没有看到在上一步中创建的 AMI,请确保您已选择在其中创建了 AMI 的区域。

  5. 选择 Launch。在您为实例指定选项时,务必选择您所需的新实例类型。如果无法选择您所需的实例类型,则说明它与您创建的 AMI 的配置不兼容 (例如,由于虚拟化类型)。您还可以指定从原始实例中分离的任何 EBS 卷。

    请注意,实例进入 running 状态可能需要几分钟时间。

  6. [EC2-Classic] 如果您启动的实例具有关联的弹性 IP 地址,则必须将该地址与新实例关联,如下所示:

    1. 在导航窗格中,选择 Elastic IPs

    2. 选择您在此过程开始时记录的弹性 IP 地址。

    3. 依次选择 ActionsAssociate Address

    4. Instance 中,选择新实例,然后选择 Associate

  7. (可选) 如果不再需要用以创建映像的原有实例,则您可将其终止。选择实例并确认您将要终止原始实例而不是新实例 (例如,查看名称或启动时间)。依次选择 ActionsInstance StateTerminate

迁移到新的实例配置

如果您的实例的当前配置与您所需的新实例类型不兼容,则不能将该实例的大小调整为新实例类型的大小。您可以将应用程序迁移到其配置与您所需的新实例类型兼容的新实例。

如果您要将从 PV AMI 启动的实例变为仅限 HVM 的实例类型,一般过程如下:

将您的应用程序迁移到兼容实例

  1. 备份实例存储卷上所有您需要保留在持久性存储中的数据。要迁移 EBS 卷上您需要保留的数据,请创建这些卷的快照 (请参阅 创建 Amazon EBS 快照) 或从实例中分离卷,以便您之后可以将其附加到新实例 (请参阅 将 Amazon EBS 卷与实例分离)。

  2. 启动新实例,选择下列内容:

    • HVM AMI。

    • 仅限 HVM 的实例类型。

    • [EC2-VPC] 如果您正在使用弹性 IP 地址,请选择原始实例当前正在其中运行的 VPC。

    • 您从原始实例中分离并且要附加到新实例的任何 EBS 卷,或者基于您创建的快照的新的 EBS 卷。

    • 如果您要允许相同的流量到达新实例,请选择与原始实例关联的安全组。

  3. 在实例上安装应用程序和所有必需软件。

  4. 还原您在原始实例的实例存储卷中备份的所有数据。

  5. 如果您正在使用弹性 IP 地址,请按如下所示将其分配给新启动的实例:

    1. 在导航窗格中,选择 Elastic IPs

    2. 选择与原始实例关联的弹性 IP 地址,然后依次选择 ActionsDisassociate address。当系统提示进行确认时,选择 Disassociate address

    3. 在弹性 IP 地址仍处于选中状态的情况下,依次选择 ActionsAssociate address

    4. Instance 中,选择新实例,然后选择 Associate

  6. (可选) 如果不再需要原始实例,您可以将其终止。选择实例并确认您将要终止原始实例而不是新实例 (例如,查看名称或启动时间)。依次选择 ActionsInstance StateTerminate

有关将应用程序从 EC2-Classic 中的实例迁移到 VPC 中的实例的信息,请参阅 从 EC2-Classic 中的 Linux 实例迁移到 VPC 中的 Linux 实例