Amazon Linux 2 als lokale virtuelle Maschine ausführen
Verwenden Sie die Abbilder der virtuellen Maschine (VM) von Amazon Linux 2 für die lokale Entwicklung und das Testen. Diese Abbilder stehen nur für die folgenden Virtualisierungsplattformen zur Verfügung:
-
VMWare
-
KVM
-
VirtualBox (Oracle VM)
-
Microsoft Hyper-V
So verwenden Sie die Abbilder der virtuellen Maschine von Amazon Linux 2 mit einer der unterstützten Virtualisierungsplattformen:
Schritt 1: Vorbereiten des seed.iso
-Startabbilds
Das seed.iso
-Startabbild enthält die Erstkonfigurationsinformationen, die zum Starten Ihrer neuen
VM benötigt werden, wie Netzwerkkonfiguration, Hostname und Benutzerdaten.
Anmerkung
Das seed.iso
-Startabbild enthält nur die Konfigurationsinformationen, die zum Starten der VM benötigt
werden. Es enthält keine Amazon Linux 2-Betriebssystemdateien.
Zum Erstellen des seed.iso
-Startabbilds benötigen Sie zwei Konfigurationsdateien:
-
meta-data
: Diese Datei enthält den Hostnamen und statische Netzwerkeinstellungen für die VM. -
user-data
: Diese Datei konfiguriert Benutzerkonten und gibt deren Passwörter, Schlüsselpaare und Zugriffsmechanismen an. Das Amazon Linux 2-VM-Abbild erstellt standardmäßig einec2-user
-Benutzerkonto. Sie verwenden dieuser-data
-Konfigurationsdatei zum Festlegen des Passworts für das Standard-Benutzerkonto.
So erstellen Sie den seed.iso
-Startdatenträger
-
Erstellen Sie einen neuen Ordner namens
seedconfig
zum Speichern Ihrermeta-data
- unduser-data
-Konfigurationsdateien. -
Erstellen Sie die
meta-data
-Konfigurationsdatei.-
Fügen Sie den Hostnamen der VM hinzu.
local-hostname:
vm_hostname
-
Geben Sie benutzerdefinierte Netzwerkeinstellungen, wie z. B. den Netzwerkschnittstellennamen, an.
#network-interfaces: | # iface
interface_name
inet static
Der folgende Codeblock zeigt z. B. den Inhalt einer
meta-data
-Konfigurationsdatei, die den VM-Hostnamen (amazonlinux.onprem
) angibt, die Standardnetzwerkschnittstelle (eth0
) konfiguriert and statische IP-Adressen für die erforderlichen Netzwerkgeräte festlegt.local-hostname: amazonlinux.onprem # 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
-
-
Erstellen Sie die
user-data
-Konfigurationsdatei.-
Geben Sie für das Standard-
ec2-user
-Benutzerkonto ein benutzerdefiniertes Passwort als reine Textdatei ein:#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:'.Anmerkung
Stellen Sie sicher, den Platzhalter
plain_text_password
durch ein Klartextpasswort Ihrer Wahl zu ersetzen. -
(Optional) Erstellen Sie zusätzliche Benutzerkonten und geben Sie deren Zugriffsmechanismen, Passwörter und Schlüsselpaare an. Weitere Informationen zu den unterstützten Richtlinien finden Sie unter Module.
-
(Optional) Standardmäßig wendet cloud-init bei jedem VM-Start Netzwerkeinstellungen an. Fügen Sie den folgenden Code zur
user-data
-Konfigurationsdatei hinzu, um zu verhindern, dass cloud-init bei jedem Start Netzwerkeinstellungen anwendet, und um die beim ersten Start angewandten Netzwerkeinstellungen beizubehalten.# NOTE: Cloud-init applies network settings on every boot by default. To retain network settings from first boot, add 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
Der folgende Codeblock zeigt z. B. den Inhalt einer
user-data
-Konfigurationsdatei, die drei weitere Benutzer erstellt, ein benutzerdefiniertes Passwort für das Standard-ec2-user
-Benutzerkonto angibt und cloud-init daran hindert, bei jedem Start Netzwerkeinstellungen anzuwenden.#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 practices standpoint. - name: user1 groups: sudo sudo: ['ALL=(ALL) NOPASSWD:ALL'] plain_text_passwd: myp@ssw0rd lock_passwd: false # The following entry creates user2 and attaches a hashed password to the user. # Hashed passwords can be generated with the following command on Amazon Linux 2: # 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:myp@ssw0rd # In the above line, do not add any spaces after 'ec2-user:'. # NOTE: Cloud-init applies network settings on every boot by default. To retain network settings from first boot, uncomment 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
-
-
Platzieren Sie Ihre
meta-data
- unduser-data
-Konfigurationsdateien im Ordnerseedconfig
, der in Schritt 1 erstellt wurde. -
Erstellen Sie das Startabbild
seed.iso
mithilfe dermeta-data
- unduser-data
-Konfigurationsdateien.Verwenden Sie für Linux ein Tool wie genisoimage. Wechseln Sie in den Ordner
seedconfig
und führen Sie den folgenden Befehl aus:$ genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data
Verwenden Sie für macOS ein Tool wie hdiutil. Wechseln Sie aus dem Ordner
seedconfig
zur nächsthöheren Ebene und führen Sie den folgenden Befehl aus:$ hdiutil makehybrid -o seed.iso -hfs -joliet -iso -default-volume-name cidata seedconfig/
Schritt 2: Herunterladen des Amazon Linux 2-VM-Abbilds
Für jede der unterstützten Virtualisierungsplattformen bieten wird ein anderes Amazon Linux 2-VM-Abbild an. Laden Sie das korrekte VM-Abbild für die von Ihnen gewählte Plattform herunter:
Schritt 3: Starten und Verbinden mit der neuen Instance
Zum Starten und Verbinden mit Ihrer neuen VM benötigen Sie das seed.iso
-Startabbild (in Schritt 1 erstellt) und ein Amazon Linux 2-VM-Abbild (in Schritt
2 heruntergeladen).
Anmerkung
Sie müssen das seed.iso
-Startabbild beim ersten Start mit der VM verbinden.
seed.iso
wird nur während des ersten Startvorgangs ausgewertet.
Nachdem die VM gestartet wurde, melden Sie sich mit einem der in der user-data
-Konfigurationsdatei definierten Benutzerkonten an. Sie können das Startabbild von
der VM trennen, nachdem Sie sich erstmals angemeldet haben.