经典网络ECS实例如何创建自定义镜像并通过镜像生成VPC网络类型实例
概述
使用经典网络ECS实例生成镜像,然后通过该镜像生成VPC网络类型的ECS实例,网络相关配置会有异常,残留原来经典网络实例相关信息。因此需要在生成镜像前进行相应的配置。
详细信息
本文以CentOS 7.6系统为例进行介绍,CentOS 7.6系统的经典网络实例在创建自定义镜像前,需要将相关网络服务的静态配置修改为动态配置。并设置cloud-init服务开机自启动,以便在创建VPC实例时初始化配置。
- 依次执行以下命令,删除静态路由配置。
cd /etc/sysconfig/network-scripts/
rm -f route-eth* - 执行以下命令,删除ifcfg-eth1文件。
说明:经典网络实例正常情况下有两个网卡,eth0和eth1,分别为内网及公网网卡,需要删除eth1公网网卡,否则会导致network服务启动失败。
rm -f ifcfg-eth1
- 编辑ifcfg-eth0文件,将BOOTPROTO参数修改为dhcp。
说明:经典网络默认配置的是静态IP,不修改的话会导致cloud-init初始化时误判实例已经有网络配置,不会再动态获取地址。
BOOTPROTO=dhcp
DEVICE=eth0
ONBOOT=yes - 执行以下命令,清空网络配置文件。
说明:经典网络实例中配置了HOSTNAME和GATEWAY,不清除的话会导致新生成的VPC网络类型实例的路由异常。
echo > /etc/sysconfig/network
- 通过经典网络ECS实例生成的镜像创建VPC网络类型的ECS实例时,需要编写cloud-init自定义脚本,添加如下命令。
systemctl enable cloud-config.service
systemctl enable cloud-final.service
systemctl enable cloud-init-local.service
systemctl enable cloud-init.service
相关文档
适用于
- 云服务器ECS