跳至内容

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

2 分钟阅读
0

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

简短描述

更改实例类型时,您可以修改工作负载的以下配置:

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

**注意:**最佳做法是保留实例和数据的备份。在更改基础设施之前,请创建实例的亚马逊机器映像 (AMI)创建 Amazon EBS 卷的快照

解决方法

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

在更改实例类型或实例系列之前,请验证当前实例类型和新实例类型是否兼容

停止您的实例

**重要事项:**在停止并启动实例之前,请执行以下操作:

**注意:**当停止或启动某个实例时,该实例的公共 IP 地址将发生变化。最佳做法是使用弹性 IP 地址而不是公共 IP 地址将外部流量路由到您的实例。如果您使用的是 Amazon Route 53,则在公共 IP 地址发生变化时可能需要更新 Route 53 DNS 记录

要更改实例类型,必须停止您的实例。实例可能需要几分钟才能停止。

(可选)配置增强联网

如果您转换为支持增强联网的实例类型,请安装所有必需的驱动程序。此外,请在您当前的实例上激活增强联网

(可选)针对基于 Nitro 的实例类型进行配置

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

  • 确认您已在实例上安装了 NVMeENA 模块
  • 确认 /etc/fstab 中列出的块设备与 NVMe 块设备名称(例如 /dev/nvme1*/dev/nvme2)兼容。
    **注意:**对于基于 Nitro 的实例类型,EBS 卷显示为 NVMe 设备。为避免卷不匹配,请在挂载文件系统时使用 UUID 或标签。

要自动执行这些检查,请运行 NitroInstanceChecks 脚本。要访问该脚本,请参阅 GitHub 网站上的 nitro_check_script.sh。有关安装说明,请参阅 Linux 实例在更改为基于 Nitro 的实例后为什么无法启动?中的“在迁移之前自动检查先决条件

运行脚本并进行必要的更新后,验证 /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

如果需要,请更新条目,将 DRIVERS 设置为 ?*ENA

检查您的实例架构的兼容性

如果实例的源 AMI 专为特定架构而构建,则您只能创建具有相同架构的实例类型。例如,32 位 (i386)、64 位 (x86_64) 和 64 位 ARM (arm64) AMI 和 mac1 AMI 专为特定架构而构建。您无法在实例类型之间移动这些映像。

相关信息

Amazon EC2 实例的状态检查

Amazon EC2 定价

如何解决第六代及更高版本的 Amazon EC2 实例的网络性能问题?

AWS 官方已更新 9 个月前