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

作为本地虚拟机运行 Amazon Linux 2

使用 Amazon Linux 2 虚拟机映像进行本地开发和测试。这些映像适用于以下虚拟化平台:

  • VMWare

  • Oracle VM VirtualBox

  • Microsoft Hyper-V

  • KVM

在虚拟机上运行 Amazon Linux

  1. https://cdn.amazonlinux.com/os-images/latest/ 中下载虚拟化平台的 VM 映像。

  2. 创建 cloud-init 配置 ISO。

    1. 创建 meta-datauser-data 配置文件。下面是一个示例 meta-data 配置文件:

      local-hostname: amazonlinux.onprem # eth0 is the default network interface enabled in the image. You can configure static network settings with an entry like below. #network-interfaces: | # 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

      下面是一个示例 user-data 配置文件,该配置文件创建多个用户并为每个用户提供访问机制 (纯文本密码、哈希密码和密钥对)。

      #cloud-config # vim:syntax=yaml users: # A user by the name ec2-user is created in the image by default. - default # The following entry creates user1 and assigns a plain text password. # Please note that the use of a plain text password is not recommended from security best practises standpoint. - name: user1 groups: sudo sudo: ['ALL=(ALL) NOPASSWD:ALL'] plain_text_passwd: plain-text-password lock_passwd: false # The following entry creates user2 and attaches a hashed password to the user. Hashed passwords can be generated with: # python -c 'import crypt,getpass; print crypt.crypt(getpass.getpass())' - name: user2 passwd: hashed-password lock_passwd: false # The following entry creates user3, disables password-based login and enables an SSH public key. - name: user3 ssh-authorized-keys: - ssh-public-key-information lock_passwd: true chpasswd: list: | ec2-user:plain-text-password # In the above line, do not add any spaces after 'ec2-user:'.

      有关所支持指令的更多信息,请参阅 http://cloudinit.readthedocs.io/en/latest/topics/modules.html

    2. 创建 ISO 映像。

      对于 Linux,使用 genisoimage 之类的工具,从 user-datameta-data 配置文件创建 ISO 映像。以下示例将创建 seed.iso

      $ genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data

      对于 macOS,您可以使用 hdiutil 工具。将 user-datameta-data 配置文件复制到文件夹,然后在命令中指定文件夹名称。以下示例从 seedconfig/ 目录中的文件创建 seed.iso

      $ hdiutil makehybrid -o seed.iso -hfs -joliet -iso -default-volume-name cidata seedconfig/
  3. 使用您下载的 VM 映像并挂载您创建的配置 ISO 来创建虚拟机。使用您在 user-data 配置文件中提供的信息连接到虚拟机。有关更多信息,请参阅您的虚拟化平台相关文档。

    重要

    ISO 必须在第一次启动时附加到虚拟机,以便可应用配置。