在更改我的 EC2 Linux 实例的实例类型之前,我需要采取哪些操作?

2 分钟阅读
0

相对于我当前 Amazon Elastic Compute Cloud(Amazon EC2)Linux 实例上现有的 CPU 或内存,我的系统需要更多 CPU 或内存。我想知道在更改实例类型之前,需要进行哪些操作。

概述

要针对您的工作负载优化 Amazon EC2 Linux 实例,请更改实例类型。通过更改实例类型,可以修改工作负载的以下配置:

  • CPU 内核数量
  • RAM 量
  • 分配的实例存储空间量
  • Amazon Elastic Block Store(Amazon EBS)优化
  • 增强联网
  • GPU 内核
  • FPGA
  • 机器学习加速器

**注意:**最好要保留实例和数据的备份。在更改基础设施之前,请创建 AMI创建 EBS 卷的快照

解决方法

验证您当前的实例类型是否与新的实例类型兼容

在更改实例类型或实例系列之前,请验证当前实例类型和新实例类型是否兼容。有关兼容性问题列表,请参阅更改实例类型的兼容性

验证兼容性后,可以更改 Amazon EBS 支持的实例的实例类型

停止您的实例

在更改实例类型之前,必须停止您的实例

重要信息:

  • 如果您的实例是由实例存储备份,或者具有包含数据的实例存储卷,则数据会在实例停止时丢失。如果您要从一个实例存储支持的实例移至另一个实例存储支持的实例,则必须迁移该实例。有关更多信息,请参阅更改实例存储支持的实例的类型
  • 如果您的实例是 Amazon EC2 Auto Scaling 组的一部分,停止该实例可能会导致其终止。如果您使用 Amazon EMR、AWS CloudFormation 或 AWS Elastic Beanstalk 启动该实例,则您的实例可能是 AWS Auto Scaling 组的一部分。在这种情况下,实例是否终止取决于自动扩缩组的实例缩减保护设置。如果您的实例是自动扩缩组的一部分,在开始执行解决步骤之前,请暂时从此自动扩缩组中删除该实例
  • 如果您没有使用弹性 IP 地址,则停止和启动实例会更改该实例的公有 IP 地址。将外部流量路由到您的实例时,最好使用弹性 IP 地址而不是公有 IP 地址。如果您使用的是 Amazon Route 53,那么当公有 IP 发生变化时,您可能必须更新 Route 53 DNS 记录

使用 Amazon EC2 控制台停止实例

  1. 停止实例时,将删除任何实例存储卷上的数据。在停止实例之前,请确认您已将所需的任何数据从实例存储卷复制到永久存储,例如 Amazon EBS 或 Amazon S3。

  2. 打开 Amazon EC2 控制台

  3. 选择实例,然后选择实例。

  4. 选择实例状态停止实例。如果停止实例选项不可用,说明实例已停止或其根设备是实例存储卷。

  5. 系统提示确认时,选择停止。实例可能需要几分钟才能停止。

使用命令行界面停止实例

可以使用以下命令之一。有关这些命令行界面的更多信息,请参阅访问 Amazon EC2

**注意:**如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新版本的 AWS CLI

增强联网

如果您要转换为支持增强联网的实例,请安装所有必需的驱动程序,然后在当前实例上启用增强联网。有关更多信息,请参阅 Linux 上的增强联网

基于 Nitro 的实例类型

如果您要将实例更改为基于 Nitro 的实例类型,请执行以下操作:

  • 确认您在自己的实例上安装了 NVMe 和 ENA 模块。
  • 检查 /etc/fstab 中列出的任何块设备是否与 NVMe 块设备名称(/dev/nvme1/dev/nvme2 等)兼容。
  • Amazon EBS 卷会作为 NVMe 设备向这些实例类型公开,并且在停止或启动事件发生时其设备名称会更改。为避免卷不匹配,请使用 UUID 或标签文件系统来挂载文件系统。

要自动执行这些检查,请运行 NitroInstanceChecks 脚本。有关更多信息,请参阅为何我的 Linux 实例在我将其类型更改为基于 Nitro 的实例类型后未启动?按照运行 NitroInstanceChecks 脚本部分中的说明操作。

运行脚本并进行必要的更新后,验证 /etc/udev/rules.d/70-persistent-net.rules 中的 DRIVERS 条目是否设置为 ? 或者 ENA

使用文本编辑器访问该文件。以下示例使用的是 vi 编辑器。

vi /etc/udev/rules.d/70-persistent-net.rules

正确的条目如下所示:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="01:23:45:67:89:ab", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0

最新一代实例的网络

最新一代实例仅在虚拟私有云(VPC)中启动。如果当前的实例是 EC2-Classic 实例,则将该实例迁移到某个 VPC 中的 Linux 实例

混合 EC2 架构

如果实例的源 AMI 专为特定架构而构建,只能创建相同架构的实例类型。为特定架构构建的 AMI 示例包括 32 位(i386)、64 位(x86_64)或 64 位 ARM(arm64)。如果您的实例运行的是为 mac1 实例类型创建的 AMI,那么也属于这种情况。您无法在实例类型之间移动这些映像。

相关信息

实例的状态检查

Amazon EC2 定价

在将 EC2 实例迁移到第六代实例之前,我需要做些什么才能确保获得最佳的网络性能?

AWS 官方
AWS 官方已更新 1 年前