

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Konvertieren Sie Ihre Amazon-S3-gestütztes AMI in ein Amazon EBS-gestütztes AMI
<a name="Using_ConvertingS3toEBS"></a>

Sie können ein Amazon-S3-gestütztes Linux-AMI, dessen Eigentümer Sie sind, in ein Amazon-EBS-gestütztes Linux-AMI konvertieren. 

**Wichtig**  
Sie können kein AMI konvertieren, das Ihnen nicht gehört.

**So konvertieren Sie ein Amazon-S3-gestütztes AMI in ein Amazon-EBS-gestütztes AMI**

1. Starten Sie eine Amazon Linux-Instance über ein Amazon EBS-gestütztes AMI. Weitere Informationen finden Sie unter [EC2-Instance mit dem Launch Instance Wizard in der Konsole starten](ec2-launch-instance-wizard.md). Auf Amazon Linux-Instances sind die Tools AWS CLI und AMI vorinstalliert.

1. Laden Sie den privaten X.509-Schlüssel, den Sie zum Bündeln Ihres Amazon-S3-gestützten AMI verwendet haben, auf Ihre Instance hoch. Wir verwenden diesen Schlüssel, um sicherzustellen, dass nur Sie und Amazon EC2 Zugriff auf Ihr AMI haben.

   1. Erstellen Sie auf Ihrer Instance wie folgt ein temporäres Verzeichnis für Ihren privaten X.509-Schlüssel:

      ```
      [ec2-user ~]$ mkdir /tmp/cert
      ```

   1. Kopieren Sie Ihren privaten X.509-Schlüssel von Ihrem Computer in das Verzeichnis `/tmp/cert` auf Ihrer Instance, indem Sie ein Secure Copy-Tool nutzen, z. B. [scp](linux-file-transfer-scp.md). Der *my-private-key* Parameter im folgenden Befehl ist der private Schlüssel, den Sie verwenden, um über SSH eine Verbindung zu Ihrer Instance herzustellen. Beispiel:

      ```
      you@your_computer:~ $ scp -i my-private-key.pem /path/to/pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem ec2-user@ec2-203-0-113-25.compute-1.amazonaws.com:/tmp/cert/
      pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem  100%  717     0.7KB/s   00:00
      ```

1. Konfigurieren Sie Ihre Umgebungsvariablen für die Verwendung der AWS CLI. Weitere Informationen finden Sie unter [Umgebungsvariablen](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html).

   1. (Empfohlen) Legen Sie Umgebungsvariablen für Ihren AWS Zugriffsschlüssel, Ihren geheimen Schlüssel und Ihr Sitzungstoken fest.

      ```
      [ec2-user ~]$ export AWS_ACCESS_KEY_ID=your_access_key_id
      [ec2-user ~]$ export AWS_SECRET_ACCESS_KEY=your_secret_access_key
      [ec2-user ~]$ export AWS_SESSION_TOKEN=your_session_token
      ```

   1. Legen Sie Umgebungsvariablen für Ihren AWS Zugriffsschlüssel und Ihren geheimen Schlüssel fest.

      ```
      [ec2-user ~]$ export AWS_ACCESS_KEY_ID=your_access_key_id
      [ec2-user ~]$ export AWS_SECRET_ACCESS_KEY=your_secret_access_key
      ```

1. Bereiten Sie ein Volume Amazon Elastic Block Store (Amazon EBS) für Ihr neues AMI vor.

   1. Erstellen Sie ein leeres EBS-Volume in derselben Availability Zone wie für Ihre Instance, indem Sie den Befehl [create-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-volume.html) verwenden. Notieren Sie sich die Volume-ID in der Befehlsausgabe.
**Wichtig**  
 Dieses EBS-Volume muss mindestens die gleiche Größe wie das ursprüngliche Stamm-Volume des Instance-Speichers haben.

      ```
      aws ec2 create-volume \
          --size 10 \
          --region us-west-2 \
          --availability-zone us-west-2b
      ```

   1. Fügen Sie das Volume mit dem Befehl [attach-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/attach-volume.html) an Ihre Amazon EBS-gestützte Instance an.

      ```
      aws ec2 attach-volume \
          --volume-id vol-01234567890abcdef \
          --instance-id i-1234567890abcdef0 \
          --region us-west-2
      ```

1. Erstellen Sie einen Ordner für Ihr Paket.

   ```
   [ec2-user ~]$ mkdir /tmp/bundle
   ```

1. Laden Sie das Paket für Ihr Instance Store-Backed AMI in das Verzeichnis `/tmp/bundle` herunter, indem Sie den Befehl [ec2-download-bundle](ami-tools-commands.md#ami-download-bundle) verwenden.

   ```
   [ec2-user ~]$ ec2-download-bundle -b amzn-s3-demo-bucket/bundle_folder/bundle_name -m image.manifest.xml -a $AWS_ACCESS_KEY_ID -s $AWS_SECRET_ACCESS_KEY --privatekey /path/to/pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem -d /tmp/bundle
   ```

1. Stellen Sie die Image-Datei mit dem Befehl [ec2-unbundle](ami-tools-commands.md#ami-unbundle) aus dem Paket wieder her.

   1. Wechseln Sie in den Paketordner (bundle).

      ```
      [ec2-user ~]$ cd /tmp/bundle/
      ```

   1. Führen Sie den Befehl [ec2-unbundle](ami-tools-commands.md#ami-unbundle) aus.

      ```
      [ec2-user bundle]$ ec2-unbundle -m image.manifest.xml --privatekey /path/to/pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem
      ```

1. Kopieren Sie die Dateien aus dem entpackten Image auf das neue EBS-Volume.

   ```
   [ec2-user bundle]$ sudo dd if=/tmp/bundle/image of=/dev/sdb bs=1M
   ```

1. Überprüfen Sie das Volume auf neue Partitionen, die aus dem Paket entpackt wurden.

   ```
   [ec2-user bundle]$ sudo partprobe /dev/sdb1
   ```

1. Listen Sie die Blockgeräte auf, um den Gerätenamen für das Mounten ermitteln zu können.

   ```
   [ec2-user bundle]$ lsblk
   NAME         MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
   /dev/sda    202:0    0   8G  0 disk
   └─/dev/sda1 202:1    0   8G  0 part /
   /dev/sdb    202:80   0  10G  0 disk
   └─/dev/sdb1 202:81   0  10G  0 part
   ```

   In diesem Beispiel lautet die Partition für das Mounten `/dev/sdb1`, aber Ihr Gerätename lautet wahrscheinlich anders. Falls Ihr Volume nicht partitioniert ist, lautet das Gerät für das Mounten etwa `/dev/sdb` (ohne nachgestellte Ziffer für die Gerätepartition).

1. Erstellen Sie einen Mounting-Punkt für das neue EBS-Volume und mounten Sie das Volume.

   ```
   [ec2-user bundle]$ sudo mkdir /mnt/ebs
   [ec2-user bundle]$ sudo mount /dev/sdb1 /mnt/ebs
   ```

1. Öffnen Sie die Datei `/etc/fstab` auf dem EBS-Volume mit Ihrem bevorzugten Text-Editor (z. B. **vim** oder **nano**) und entfernen Sie alle Einträge für Instance-Speicher-Volumes (flüchtiger Speicher). Da das EBS-Volume unter `/mnt/ebs` gemountet wurde, befindet sich die Datei `fstab` unter `/mnt/ebs/etc/fstab`.

   ```
   [ec2-user bundle]$ sudo nano /mnt/ebs/etc/fstab
   #
   LABEL=/     /           ext4    defaults,noatime  1   1
   tmpfs       /dev/shm    tmpfs   defaults        0   0
   devpts      /dev/pts    devpts  gid=5,mode=620  0   0
   sysfs       /sys        sysfs   defaults        0   0
   proc        /proc       proc    defaults        0   0
   /dev/sdb        /media/ephemeral0       auto    defaults,comment=cloudconfig    0       2
   ```

   In diesem Beispiel sollte die letzte Zeile entfernt werden.

1. Heben Sie das Mounting des Volumes auf und trennen Sie es von der Instance.

   ```
   [ec2-user bundle]$ sudo umount /mnt/ebs
   [ec2-user bundle]$ aws ec2 detach-volume --volume-id vol-01234567890abcdef --region us-west-2
   ```

1. Erstellen Sie aus dem neuen EBS-Volume wie folgt ein AMI.

   1. Erstellen Sie einen Snapshot des neuen EBS-Volumes.

      ```
      [ec2-user bundle]$ aws ec2 create-snapshot --region us-west-2 --description "your_snapshot_description" --volume-id vol-01234567890abcdef
      ```

   1. Überprüfen Sie, ob Ihr Snapshot vollständig ist.

      ```
      [ec2-user bundle]$ aws ec2 describe-snapshots --region us-west-2 --snapshot-id snap-0abcdef1234567890
      ```

   1. Ermitteln Sie die auf dem ursprünglichen AMI verwendete Prozessorarchitektur, den Virtualisierungstyp und das Kernel-Image (`aki`) mit dem Befehl **describe-images**. Für diesen Schritt benötigen Sie die AMI-ID des ursprünglichen Amazon-S3-gestützten AMI.

      ```
      [ec2-user bundle]$ aws ec2 describe-images --region us-west-2 --image-id ami-0abcdef1234567890 --output text
      IMAGES	x86_64	amazon/amzn-ami-pv-2013.09.2.x86_64-s3	ami-8ef297be	amazon	available	public	machine	aki-fc8f11cc	instance-store	paravirtual	xen
      ```

      In diesem Beispiel werden als Architektur `x86_64` und als Kernel-Image-ID `aki-fc8f11cc` verwendet. Nutzen Sie diese Werte im folgenden Schritt. Falls in der Ausgabe des obigen Befehls auch eine `ari`-ID aufgeführt ist, sollten Sie sich diese ebenfalls notieren.

   1. Registrieren Sie Ihr neues AMI mit der Snapshot-ID Ihres neuen EBS-Volumes und den Werten aus dem vorherigen Schritt. Wenn in der Ausgabe des vorherigen Befehls eine `ari`-ID aufgeführt ist, sollten Sie diese im folgenden Befehl als `--ramdisk-id ari_id` einfügen.

      ```
      [ec2-user bundle]$ aws ec2 register-image --region us-west-2 --name your_new_ami_name --block-device-mappings DeviceName=device-name,Ebs={SnapshotId=snap-0abcdef1234567890} --virtualization-type paravirtual --architecture x86_64 --kernel-id aki-fc8f11cc --root-device-name device-name
      ```

1. (Optional) Nachdem Sie per Test sichergestellt haben, dass Sie über Ihr neues AMI eine Instance starten können, können Sie das für dieses Verfahren erstellte EBS-Volume löschen.

   ```
   aws ec2 delete-volume --volume-id vol-01234567890abcdef
   ```