
Ich versuche, ein vorhandenes Debian Jessie HVM AMI (ami-116d857a) anzupassen und es als mein privates AMI zu speichern. Obwohl der AMI-Erstellungsprozess erfolgreich ist, kann ich nicht davon booten. Die Instanz wird als gestartet angezeigt, aber ich kann keine Verbindung über SSH herstellen und die Überwachung zeigt auch, dass keine SSH-Konnektivität verfügbar ist. Ich sehe das gleiche Problem mit allen anderen HVM-AMIs. Das gleiche Verfahren funktioniert perfekt, wenn es sich um ein PVM-AMI handelt.
Hier ist das Verfahren, das ich befolge
- Booten Sie von einem verfügbaren AMI.
- Installieren Sie zusätzliche Pakete vom Paketmanager.
- Installieren Sie npm-Module. (nodejs und npm wurden im vorherigen Schritt installiert)
- Installieren Sie alle verfügbaren Systemupgrades.
- Laden Sie ec2-ami-tools herunter und entpacken Sie es in /opt.
- Privater SCP-Schlüssel und Zertifikat für die Instanz.
Erstellen Sie ein Image der Instanz mit dem folgenden Befehl
/opt/ec2-ami-tools-1.5.7/bin/ec2-bundle-vol -c /home/admin/cert.pem -k /home/admin/pk.pem -u $aws_account_id -p $image_prefix -B ami=sda,root=/dev/sda1 --batch --debug
Laden Sie es dann in einen vorhandenen S3-Bucket hoch.
/opt/ec2-ami-tools-1.5.7/bin/ec2-upload-bundle -b meine-ami-images -m /mnt/$image_prefix.manifest.xml -a $access_key -s $access_secret --retry --de bug
Und dann registrieren Sie schließlich die AMI
aws ec2 register-image --name $image_prefix --image-location meine-ami-images/$image_prefix.manifest.xml --region us-east-1 --virtualization-type hvm --root-device-name /dev/xvda1
Alle diese Schritte verlaufen ohne Fehler und ich kann das AMI in meinem Konto mit dem Root-Gerät als Instanzspeicher und dem Virtualisierungstyp als HVM aufgelistet sehen.
Antwort1
Ihr aktueller AMI-Erstellungsprozess erstellt ein S3-gestütztes (Instance Store) AMI-Image. Aber Ihr Quell-AMI ist ein EBS-gestütztes AMI. Sie müssen eine andere Methode verwenden, um Ihr AMI zu erstellen, wodurch ein EBS-gestütztes AMI erstellt wird.
Anstatt Ihre Instanz zu bündeln und das AMI zu registrieren, gehen Sie wie folgt vor:
- Stoppen Sie Ihre EC2-Instance.
- Wählen Sie in der AWS-Managementkonsole Ihre EC2-Instanz aus und wählen Sie im Menü „Aktionen“ die Option „Image erstellen“. Dadurch wird ein EBS-gestütztes AMI-Image erstellt.
Weitere Informationen zum Erstellen von EBS-gestützten AMI-Images finden Sie hier:
Erstellen eines Amazon EBS-gestützten Linux-AMI | Amazon Elastic Compute Cloud