使用 Amazon Linux 2 虚拟机 (VM) 映像进行本地开发和测试。我们为受支持的每个虚拟化平台提供不同的 Amazon Linux 2 VM 映像。您可以在 Amazon Linux 2 虚拟机映像页面查看支持的平台列表。
要将 Amazon Linux 2 虚拟机映像用于受支持的虚拟化平台之一,请执行以下操作:
· 步骤 2:下载 Amazon Linux 2 VM 映像
步骤 1:准备 seed.iso 启动映像
seed.iso 启动映像包含启动新虚拟机所需的初始配置信息,如网络配置、主机名和用户数据。
注意
seed.iso 启动映像仅包括启动 VM 所需的配置信息。不包括 Amazon Linux 2 操作系统文件。
要生成 seed.iso 启动映像,需要两个配置文件:
· meta-data – 此文件包括 VM 的主机名和静态网络设置。
· user-data - 此文件配置用户账户,并指定其密码、密钥对以及访问机制。默认情况下,Amazon Linux 2 VM 映像会创建 ec2-user 用户账户。使用 user-data 配置文件设置默认用户账户的密码。
创建 seed.iso 启动盘
1. 创建一个名为 seedconfig 的新文件夹并导航到该文件夹。
2. 创建 meta-data 配置文件。
a. 创建名为 meta-data 的新文件。
b. 使用首选编辑器打开 meta-data 文件,并添加以下内容。
c. 保存并关闭 meta-data 配置文件。
3. 有关示例 meta-data 配置文件(用于指定 VM 主机名 (amazonlinux.onprem) 、配置默认网络接口 (eth0) 并为必要的网络设备指定静态 IP 地址),请参阅示例 Seed.iso 文件。
4. 创建 user-data 配置文件。
a. 创建名为 user-data 的新文件。
b. 使用首选编辑器打开 user-data 文件,并添加以下内容。
c. (可选)默认情况下,VM 每次启动时,cloud-init 都会应用网络设置。添加以下内容,以防止 cloud-init 在每次启动时都应用网络设置,并保留首次启动期间应用的网络设置。
d. 保存并关闭 user-data 配置文件。
5. 还可以创建其他用户账户并指定其访问机制、密码和密钥对。有关受支持指令的更多信息,请参阅模块参考。有关创建三个其他用户并为默认 user-data 用户账户指定自定义密码的示例 ec2-user 文件,请参阅示例 Seed.iso 文件。
6. 使用 seed.iso 和 meta-data 配置文件创建 user-data 启动映像。对于 Linux,请使用类似 genisoimage 的工具。导航到 seedconfig 文件夹,并运行以下命令。
local-hostname: vm_hostname # eth0 is the default network interface enabled in the image. You can configure static network settings with an entry like the following. network-interfaces: | auto eth0 iface eth0 inet static address 192.168.1.10 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.254
将 vm_hostname 替换为您选择的 VM 主机名,并根据需要配置网络设置。
#cloud-config
#vim:syntax=yaml
users:
# A user by the name ec2-user is created in the image by default.
- default
chpasswd:
list: |
ec2-user:plain_text_password # In the above line, do not add any spaces after 'ec2-user:'.
将 plain_text_password 替换为您为默认 ec2-user 用户账户选择的密码。
# NOTE: Cloud-init applies network settings on every boot by default. To retain network settings
# from first boot, add the following ‘write_files’ section:
write_files:
- path: /etc/cloud/cloud.cfg.d/80_disable_network_after_firstboot.cfg
content: |
# Disable network configuration after first boot
network:
config: disabled
$ genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data
对于 macOS,请使用类似 hdiutil 的工具。从 seedconfig 文件夹往上导航一级,运行以下命令。
$ hdiutil makehybrid -o seed.iso -hfs -joliet -iso -default-volume-name cidata seedconfig/
步骤 2:下载 Amazon Linux 2 VM 映像
我们为受支持的每个虚拟化平台提供不同的 Amazon Linux 2 VM 映像。您可以查看支持的平台列表,并在 Amazon Linux 2 虚拟机映像页面中为所选平台下载对应的 VM 映像。
步骤 3:启动并连接到新 VM
要启动和连接到新 VM,必须要有 seed.iso 启动映像(在步骤 1 中创建)和 Amazon Linux 2 VM 映像(在步骤 2 中下载)。具体步骤因您选择的 VM 平台而异。
· VMware vSphere
· KVM
· Oracle VirtualBox
· Microsoft Hyper-V
适用于 VMware 的虚拟机映像以 OVF 格式提供。
要使用 VMware vSphere 引导虚拟机
1. 为 seed.iso 文件创建新的数据存储,或将其添加到现有的数据存储中。
2. 部署 OVF 模板,但先不启动虚拟机。
3. 在 Navigator (导航器) 面板中,右键单击新虚拟机,然后选择 Edit Settings (编辑设置)。
4. 在 Virtual Hardware (虚拟硬件) 选项卡上,为 New device (新设备) 选择 CD/DVD Drive (CD/DVD 驱动器),然后选择 Add (添加)。
5. 对于 New CD/DVD Drive (新 CD/DVD 驱动器),请选择 Datastore ISO File (数据存储 ISO 文件)。选择将 seed.iso 文件添加到的数据存储,浏览到并选择 seed.iso 文件,然后选择 OK (确定)。
6. 对于新 CD/DVD 驱动器,请选择连接,然后选择确定。
在将数据存储与虚拟机关联后,您应该能够引导该虚拟机。
在 VM 启动后,使用在 user-data 配置文件中定义的用户账户之一登录。在您第一次登录之后,就可以断开 seed.iso 启动映像与 VM 的连接。
20250106更新使用
首先手动设置 meta-data、network-config、user-data,打成seed.iso
下载镜像al2023
https://cdn.amazonlinux.com/al2023/os-images/2023.6.20241212.0/vmware/
使用vmware打开ova文件,添加CD/DVD,设置刚才打好的seed.iso为启动时连接。
[hao@wode ~]$ ll
总计 384
-rw-r--r--. 1 hao hao 388 1月 6日 10:05 meta-data
-rw-r--r--. 1 hao hao 155 1月 6日 10:08 network-config
-rw-r--r--. 1 root root 82 12月27日 17:27 package-lock.json
-rw-r--r--. 1 hao hao 376832 1月 6日 10:08 seed.iso
-rw-r--r--. 1 hao hao 170 1月 6日 10:05 user-data
[hao@wode ~]$ cat meta-data
local-hostname: vm-hao-al2023
# NOTE: Cloud-init applies network settings on every boot by default. To retain network settings
# from first boot, add the following ‘write_files’ section:
write_files:
- path: /etc/cloud/cloud.cfg.d/80_disable_network_after_firstboot.cfg
content: |
# Disable network configuration after first boot
network:
config: disabled
[hao@wode ~]$ cat network-config
version: 2
ethernets:
ens192:
addresses:
- 192.168.19.200/24
gateway4: 192.168.19.2
nameservers:
addresses: 192.168.19.2
[hao@wode ~]$ cat user-data
#cloud-config
#vim:syntax=yaml
users:
# A user by the name 'ec2-user' is created in the image by default.
- default
chpasswd:
list: |
ec2-user:Passw0rd.
启动之后需要更改设置密码
修改网卡桥接模式为NAT模式
sshd允许使用密码登录
PasswordAuthentication yes
完成