

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.

# Ein Amazon-S3-gestütztes AMI erstellen
<a name="creating-an-ami-instance-store"></a>

Anhand des AMI, das Sie beim Starten Ihrer Instance angeben, wird der Typ des Root-Volumes ermittelt.

Beginnen Sie auf einer Instance, die Sie über ein vorhandenes Amazon-S3-gestütztes Linux-AMI gestartet haben, um ein Amazon-S3-gestütztes Linux-AMI zu erstellen. Nachdem Sie die Instance an Ihre Anforderungen angepasst haben, können Sie das Volume als Paket bündeln (Bundle) und ein neues AMI erstellen und registrieren, um es zum Starten von neuen Instances mit diesen Anpassungen zu verwenden.

Sie können kein Amazon S3-gestütztes Windows-AMI erstellen, da Windows den Instance-Speicher für das Root-Volume AMIs nicht unterstützt.

**Wichtig**  
Nur die folgenden Instance-Typen unterstützen ein Instance-Speicher-Volume als Root-Volume und erfordern ein Amazon-S3-gestütztes AMI: C1, C3, D2, I2, M1, M2, M3, R3 und X1.

Der AMI-Erstellungsprozess ist bei Amazon AMIs EBS-gestützten Systemen anders. Weitere Informationen finden Sie unter [Ein Amazon-EBS-gestütztes AMI erstellen](creating-an-ami-ebs.md).

**Topics**
+ [Übersicht über die Erstellung von AMI](#process-creating-an-ami-instance-store)
+ [Voraussetzungen](#bundle-ami-prerequisites)
+ [Erstellen eines AMI aus einer Amazon-Linux-Instance](#amazon_linux_instructions)
+ [Die Amazon-EC2-AMI-Tools einrichten](set-up-ami-tools.md)
+ [Referenz zu den Amazon EC2 AMI-Tools](ami-tools-commands.md)
+ [Konvertieren Sie Ihre Amazon-S3-gestütztes AMI in ein Amazon EBS-gestütztes AMI](Using_ConvertingS3toEBS.md)

## Übersicht über die Erstellung von AMI
<a name="process-creating-an-ami-instance-store"></a>

Im folgenden Diagramm ist der Prozess zum Erstellen eines AMI aus einer Instance mit einem Instance-Speicher-Root-Volume dargestellt.

![\[Erstellen eines Amazon-S3-gestützten AMI.\]](http://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/images/ami_create_instance_store.png)


Starten Sie zuerst eine Instance über ein AMI, das dem zu erstellenden AMI ähnelt. Sie können eine Verbindung mit Ihrer Instance herstellen und sie anpassen. Wenn die Instance nach Ihren Vorstellungen konfiguriert ist, können Sie dafür ein Paket (Bundle) erstellen. Es dauert mehrere Minuten, bis die Paketerstellung abgeschlossen ist. Nach Abschluss des Prozesses verfügen Sie über ein Paket, das aus einem Image-Manifest (`image.manifest.xml`) und Dateien (`image.part.`*xx*) besteht, die eine Vorlage für das Stamm-Volume enthalten. Als Nächstes laden Sie das Paket in Ihren Amazon S3-Bucket hoch und registrieren anschließend Ihr AMI.

**Anmerkung**  
Um Objekte für Ihr Amazon-S3-gestütztes Linux-AMI in einen S3-Bucket hochzuladen, müssen ACLs für den Bucket aktiviert sein. Andernfalls kann Amazon EC2 keine Einstellungen für die ACLs hochzuladenden Objekte festlegen. Wenn Ihr Ziel-Bucket die vom Bucket-Besitzer erzwungene Einstellung für S3 Object Ownership verwendet, funktioniert dies nicht, da sie deaktiviert ACLs sind. Weitere Informationen finden Sie unter [Kontrolle des Besitzes von Objekten und Deaktivierung ACLs für Ihren Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html).

Beim Starten einer Instance mit dem neuen AMI erstellen wir das Stamm-Volume für die Instance mithilfe des Pakets, das Sie in Amazon S3 hochgeladen haben. Für den Speicherplatz, der von dem Paket in Amazon S3 verwendet wird, werden Ihrem Konto Kosten berechnet, bis Sie es löschen. Weitere Informationen finden Sie unter [Aufheben der Registrierung eines Amazon-EC2-AMI](deregister-ami.md).

Wenn Sie Ihrer Instance zusätzlich zum Root-Volume Instance-Speicher-Volumes hinzufügen, enthält die Blockgerät-Zuweisung für das neue AMI Informationen zu diesen Volumes. Außerdem enthalten die Blockgerät-Zuweisungen für Instances, die Sie über das neue AMI starten, automatisch Informationen zu diesen Volumes. Weitere Informationen finden Sie unter [Blockgerät-Zuweisungen auf Amazon-EC2-Instances blockieren](block-device-mapping-concepts.md).

## Voraussetzungen
<a name="bundle-ami-prerequisites"></a>

Bevor Sie ein AMI erstellen können, müssen Sie die folgenden Aufgaben durchführen:
+ Installieren Sie die AMI-Tools. Weitere Informationen finden Sie unter [Die Amazon-EC2-AMI-Tools einrichten](set-up-ami-tools.md).
+ Installieren Sie das AWS CLI. Weitere Informationen finden Sie unter [Erste Schritte mit AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html).
+ Stellen Sie sicher, dass Sie über einen S3-Bucket für das Bundle verfügen und dass Ihr Bucket ACLs aktiviert ist. Weitere Informationen zur Konfiguration finden ACLs Sie unter [Konfiguration ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/managing-acls.html).
  + Um einen S3-Bucket mit dem zu erstellen AWS-Managementkonsole, öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)und wählen Sie **Create Bucket**.
  + Um einen S3-Bucket mit dem zu erstellen AWS CLI, können Sie den Befehl [mb](https://docs.aws.amazon.com/cli/latest/reference/s3/mb.html) verwenden. Wenn Ihre installierte Version der AMI-Tools 1.5.18 oder höher ist, können Sie auch den `ec2-upload-bundle`-Befehl verwenden, um den S3-Bucket zu erstellen. Weitere Informationen finden Sie unter [ec2-upload-bundle](ami-tools-commands.md#ami-upload-bundle).
+ Stellen Sie sicher, dass die Dateien in Ihrem Paket nicht im S3-Bucket verschlüsselt sind. Wenn Sie Verschlüsselung für Ihr AMI benötigen, können Sie stattdessen ein EBS-gestütztes AMI verwenden. Weitere Informationen finden Sie unter [Verschlüsselung mit EBS-gestützter Verschlüsselung verwenden AMIs](AMIEncryption.md).
+ Stellen Sie sicher, dass Sie Ihre AWS Konto-ID haben. Weitere Informationen finden Sie im *Referenzhandbuch zur AWS Kontoverwaltung unter AWS-Konto * [Identifikatoren anzeigen](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html).
+ Stellen Sie sicher, dass Sie über Anmeldeinformationen zur Verwendung von AWS CLI verfügen. Weitere Informationen finden Sie unter [Authentifizierung und Zugriffs-Anmeldeinformationen für die AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-authentication.html) im *Benutzerhandbuch für AWS Command Line Interface *.
+ Stellen Sie sicher, dass Sie über ein X.509-Zertifikat und den entsprechenden privaten Schlüssel verfügen.
  + Informationen zur Erstellung eines X.509-Zertifikats erhalten Sie unter [Verwalten von Signaturzertifikaten](set-up-ami-tools.md#ami-tools-managing-certs). Das X.509-Zertifikat und der private Schlüssel werden verwendet, um Ihr AMI zu verschlüsseln und zu entschlüsseln.
  + [China (Peking)] Verwenden Sie das Zertifikat `$EC2_AMITOOL_HOME/etc/ec2/amitools/cert-ec2-cn-north-1.pem`.
  + [AWS GovCloud (US-West)] Verwenden Sie das `$EC2_AMITOOL_HOME/etc/ec2/amitools/cert-ec2-gov.pem` Zertifikat.
+ Stellen Sie eine Verbindung mit Ihrer Instance her und passen Sie sie an. Sie können beispielsweise Software und Anwendungen installieren, Daten kopieren, temporäre Dateien löschen und die Linux-Konfiguration ändern.

## Erstellen eines AMI aus einer Amazon-Linux-Instance
<a name="amazon_linux_instructions"></a>

Die folgenden Verfahren beschreiben, wie Sie ein AMI aus einer Instance mit einem Instance-Speicher-Root-Volume erstellen, auf der Amazon Linux 1 ausgeführt wird. Sie funktionieren unter Umständen nicht für Instances, auf denen andere Linux-Verteilungen ausgeführt werden.

**So bereiten Sie die Verwendung der AMI-Tools vor (nur HVM-Instances)**

1. Für die AMI-Tools ist das richtige Starten von GRUB Legacy-System erforderlich. Verwenden Sie den folgenden Befehl, um GRUB zu installieren:

   ```
   [ec2-user ~]$ sudo yum install -y grub
   ```

1. Installieren Sie die Pakete für die Partitionsverwaltung mit dem folgenden Befehl:

   ```
   [ec2-user ~]$ sudo yum install -y gdisk kpartx parted
   ```

**So erstellen Sie ein AMI aus einer Amazon-Linux-Instance mit einem Instance-Speicher-Root-Volume**

Hierbei wird vorausgesetzt, dass Sie die Voraussetzungen unter [Voraussetzungen](#bundle-ami-prerequisites) erfüllt haben.

Ersetzen Sie in den folgenden Befehlen jeden Befehl *user input placeholder* durch Ihre eigenen Informationen.

1. Laden Sie Ihre Anmeldeinformationen auf Ihre Instance hoch. Wir verwenden diese Anmeldeinformationen, 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 Ihre Anmeldeinformationen:

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

      Auf diese Weise können Sie Ihre Anmeldeinformationen aus der Image-Erstellung ausschließen.

   1. Kopieren Sie Ihr X.509-Zertifikat und den dazugehörigen privaten 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). Die Option `-i my-private-key.pem` im folgenden **scp**-Befehl ist der private Schlüssel, den Sie zum Herstellen der Verbindung für Ihre Instance mit SSH verwenden, und nicht der private X.509-Schlüssel. Beispiel:

      ```
      you@your_computer:~ $ scp -i my-private-key.pem /path/to/pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem /path/to/cert-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
      cert-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem  100%  685     0.7KB/s   00:00
      ```

   Da dies reine Textdateien sind, können Sie das Zertifikat und den Schlüssel in einem Text-Editor öffnen und den Inhalt jeweils in neue Dateien unter kopiere `/tmp/cert`.

1. <a name="step_with_bundle_path_amazon_linux"></a>Bereiten Sie das Paket für den Upload in Amazon S3 vor, indem Sie den Befehl [ec2-bundle-vol](ami-tools-commands.md#ami-bundle-vol) über Ihre Instance ausführen. Achten Sie darauf, die Option `-e` anzugeben, um das Verzeichnis auszuschließen, in dem Ihre Anmeldeinformationen gespeichert sind. Während des Paketprozesses werden standardmäßig Dateien ausgeschlossen, die ggf. vertrauliche Informationen enthalten. Dies sind beispielsweise die Dateien `*.sw`, `*.swo`, `*.swp`, `*.pem`, `*.priv`, `*id_rsa*`, `*id_dsa*` `*.gpg`, `*.jks`, `*/.ssh/authorized_keys` und `*/.bash_history`. Verwenden Sie die Option `--no-filter`, wenn Sie alle diese Dateien einbinden möchten. Mit der Option `--include` können Sie einzelne Dateien einbinden.
**Wichtig**  
Standardmäßig wird beim Prozess zur Erstellung des AMI-Pakets eine komprimierte, verschlüsselte Sammlung von Dateien im Verzeichnis `/tmp` erstellt, das als Ihr Stamm-Volume dient. Falls unter `/tmp` nicht genügend freier Speicherplatz zum Speichern des Pakets vorhanden ist, müssen Sie mit der Option `-d /path/to/bundle/storage` einen anderen Speicherort für das Paket angeben. Einige Instances verfügen über unter `/mnt` oder `/media/ephemeral0` bereitgestellten flüchtigen Speicher, den Sie verwenden können. Alternativ können Sie auch ein neues Amazon-EBS-Volume erstellen, anfügen und bereitstellen, um das Paket zu speichern. Weitere Informationen finden Sie unter [Amazon-EBS-Volume erstellen](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-creating-volume.html) im *Amazon-EBS-Benutzerhandbuch*.

   1. Sie müssen den **ec2-bundle-vol**-Befehl als Root-Benutzer ausführen. Für die meisten Befehle können Sie **sudo** verwenden, um erhöhte Berechtigungen zu erhalten. In diesem Fall sollten Sie aber **sudo -E su** ausführen, um Ihre Umgebungsvariablen beizubehalten.

      ```
      [ec2-user ~]$ sudo -E su
      ```

      Beachten Sie, dass Sie in der bash-Eingabeaufforderung nun als root-Benutzer identifiziert werden und dass das Dollarzeichen durch einen Hashtag ersetzt wurde. Hiermit wird angegeben, dass Sie sich in einer root-Shell befinden:

      ```
      [root ec2-user]#
      ```

   1. Führen Sie den Befehl [ec2-bundle-vol](ami-tools-commands.md#ami-bundle-vol) wie folgt aus, um das AMI-Paket zu erstellen:

      ```
      [root ec2-user]# ec2-bundle-vol -k /tmp/cert/pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem -c /tmp/cert/cert-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem -u 123456789012 -r x86_64 -e /tmp/cert --partition gpt
      ```
**Anmerkung**  
Verwenden Sie für die Regionen China AWS GovCloud (Peking) und (US-West) den `--ec2cert` Parameter und geben Sie die Zertifikate gemäß den [Voraussetzungen](#bundle-ami-prerequisites) an.

      Die Image-Erstellung kann einige Minuten dauern. Wenn dieser Befehl abgeschlossen ist, enthält Ihr `/tmp` (oder nicht standardmäßiges) Verzeichnis das Paket (`image.manifest.xml`und mehrere `image.part.` *xx* Dateien).

   1. Beenden Sie die root-Shell.

      ```
      [root ec2-user]# exit
      ```

1. (Optional) Bearbeiten Sie die Blockgerät-Zuweisungen in der Datei `image.manifest.xml` für Ihr AMI, um mehr Instance-Speicher-Volumes hinzuzufügen. Weitere Informationen finden Sie unter [Blockgerät-Zuweisungen auf Amazon-EC2-Instances blockieren](block-device-mapping-concepts.md).

   1. Erstellen Sie ein Backup der Datei `image.manifest.xml`.

      ```
      [ec2-user ~]$ sudo cp /tmp/image.manifest.xml /tmp/image.manifest.xml.bak
      ```

   1. Formatieren Sie die Datei `image.manifest.xml` neu, damit sie leichter gelesen und bearbeitet werden kann.

      ```
      [ec2-user ~]$ sudo xmllint --format /tmp/image.manifest.xml.bak > /tmp/image.manifest.xml
      ```

   1. Bearbeiten Sie die Blockgerät-Zuweisungen in `image.manifest.xml` mit einem Text-Editor. Das Beispiel unten enthält einen neuen Eintrag für das Instance-Speicher-Volume `ephemeral1`. 
**Anmerkung**  
Eine Liste der ausgeschlossenen Dateien finden Sie unter [ec2-bundle-vol](ami-tools-commands.md#ami-bundle-vol). 

      ```
          <block_device_mapping>
            <mapping>
              <virtual>ami</virtual>
              <device>sda</device>
            </mapping>
            <mapping>
              <virtual>ephemeral0</virtual>
              <device>sdb</device>
            </mapping>
            <mapping>
              <virtual>ephemeral1</virtual>
              <device>sdc</device>
            </mapping>
            <mapping>
              <virtual>root</virtual>
              <device>/dev/sda1</device>
            </mapping>
          </block_device_mapping>
      ```

   1. Speichern Sie die Datei `image.manifest.xml` und beenden Sie den Text-Editor.

1. Führen Sie den Befehl [ec2-upload-bundle](ami-tools-commands.md#ami-upload-bundle) wie folgt aus, um Ihr Paket in Amazon S3 hochzuladen:

   ```
   [ec2-user ~]$ ec2-upload-bundle -b amzn-s3-demo-bucket/bundle_folder/bundle_name -m /tmp/image.manifest.xml -a your_access_key_id -s your_secret_access_key
   ```
**Wichtig**  
Wenn Sie Ihr AMI in einer anderen Region als US East (N. Virginia) registrieren möchten, müssen Sie sowohl die Zielregion mit der Option `--region` als auch einen Bucket-Pfad angeben, der in der Zielregion bereits vorhanden ist (bzw. einen eindeutigen Bucket-Pfad, der in der Zielregion erstellt werden kann).

1. (Optional) Nach dem Upload des Pakets in Amazon S3 können Sie das Paket mit dem folgenden `/tmp`-Befehl aus dem Verzeichnis **rm** auf der Instance entfernen:

   ```
   [ec2-user ~]$ sudo rm /tmp/image.manifest.xml /tmp/image.part.* /tmp/image
   ```
**Wichtig**  
Wenn Sie mit der Option `-d /path/to/bundle/storage` einen Pfad in [Step 2](#step_with_bundle_path_amazon_linux) angegeben haben, sollten Sie diesen Pfad anstelle von `/tmp` verwenden.

1. Führen Sie den Befehl [register-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html) wie folgt aus, um Ihr AMI zu registrieren:

   ```
   [ec2-user ~]$ aws ec2 register-image --image-location amzn-s3-demo-bucket/bundle_folder/bundle_name/image.manifest.xml --name AMI_name --virtualization-type hvm
   ```
**Wichtig**  
Wenn Sie zuvor für den Befehl [ec2-upload-bundle](ami-tools-commands.md#ami-upload-bundle) eine Region angegeben haben, müssen Sie die entsprechende Region für diesen Befehl noch einmal angeben.

# Die Amazon-EC2-AMI-Tools einrichten
<a name="set-up-ami-tools"></a>

Sie können die AMI-Tools verwenden, um Amazon S3-gestütztes Linux zu erstellen und zu verwalten. AMIs Um die Tools verwenden zu können, müssen Sie sie auf Ihrer Linux-Instance installieren. Die AMI-Tools sind als RPM-Paket und für Linux-Distributionen, die RPM nicht unterstützen, auch als ZIP-Datei verfügbar. 

**So richten Sie die AMI-Tools per RPM ein**

1. Installieren Sie Ruby mithilfe des Paket-Managers für Ihre Linux-Veteilung, z. B. yum. Beispiel:

   ```
   [ec2-user ~]$ sudo yum install -y ruby
   ```

1. Laden Sie die RPM-Datei mit einem Tool wie wget oder curl herunter. Beispiel:

   ```
   [ec2-user ~]$ wget https://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.noarch.rpm
   ```

1. Überprüfen Sie die Signatur der RPM-Datei, indem Sie den folgenden Befehl eingeben:

   ```
   [ec2-user ~]$ rpm -K ec2-ami-tools.noarch.rpm
   ```

   Der obige Befehl sollte angeben, dass es sich bei den Dateien und Hashes um Dateien SHA1 und MD5 Hashes handelt. `OK.` Wenn der Befehl angibt, dass es sich um Hashes handelt`NOT OK`, verwenden Sie den folgenden Befehl, um den Header und die Hashes der Datei anzuzeigen: SHA1 MD5 

   ```
   [ec2-user ~]$ rpm -Kv ec2-ami-tools.noarch.rpm
   ```

   Vergleichen Sie dann den Header SHA1 und die MD5 Hashes Ihrer Datei mit den folgenden verifizierten AMI-Tools-Hashes, um die Echtheit der Datei zu bestätigen:
   + Header SHA1: a1f662d6f25f69871104e6a62187fa4df508f880
   + MD5: 9faff05258064e2f7909b66142de6782

   Wenn der Header SHA1 und die MD5 Hashes Ihrer Datei mit den verifizierten AMI-Tools-Hashes übereinstimmen, fahren Sie mit dem nächsten Schritt fort.

1. Installieren Sie RPM mit dem folgenden Befehl:

   ```
   [ec2-user ~]$ sudo yum install ec2-ami-tools.noarch.rpm
   ```

1. Überprüfen Sie die Installation der AMI-Tools mit dem Befehl [ec2- ami-tools-version](ami-tools-commands.md#ami-tools-version).

   ```
   [ec2-user ~]$ ec2-ami-tools-version
   ```
**Anmerkung**  
Wenn Sie einen Ladefehler wie „Diese Datei kann nicht geladen werden -- ec2/amitools/version (LoadError)“ erhalten, führen Sie den nächsten Schritt aus, um den Speicherort Ihrer AMI-Tools-Installation zu Ihrem Pfad hinzuzufügen. `RUBYLIB`

1. (Optional) Wenn Sie im vorherigen Schritt einen Fehler erhalten haben, ist es ratsam, dem `RUBYLIB`-Pfad den Installationsspeicherort Ihrer AMI-Tools hinzuzufügen.

   1. Führen Sie den folgenden Befehl aus, um die hinzuzufügenden Pfade zu ermitteln.

      ```
      [ec2-user ~]$ rpm -qil ec2-ami-tools | grep ec2/amitools/version
      /usr/lib/ruby/site_ruby/ec2/amitools/version.rb
      /usr/lib64/ruby/site_ruby/ec2/amitools/version.rb
      ```

      Im obigen Beispiel befindet sich die fehlende Datei aus dem vorherigen Ladefehler unter `/usr/lib/ruby/site_ruby` und `/usr/lib64/ruby/site_ruby`.

   1. Fügen Sie die Speicherorte aus dem vorherigen Schritt Ihrem `RUBYLIB`-Pfad hinzu.

      ```
      [ec2-user ~]$ export RUBYLIB=$RUBYLIB:/usr/lib/ruby/site_ruby:/usr/lib64/ruby/site_ruby
      ```

   1. Überprüfen Sie die Installation der AMI-Tools mit dem Befehl [ec2- ami-tools-version](ami-tools-commands.md#ami-tools-version).

      ```
      [ec2-user ~]$ ec2-ami-tools-version
      ```

**So richten Sie die AMI-Tools per ZIP-Datei ein**

1. Führen Sie die Ruby-Installation und das Entzippen mithilfe des Paket-Managers für Ihre Linux-Distribution durch, z. B. **apt-get**. Beispiel:

   ```
   [ec2-user ~]$ sudo apt-get update -y && sudo apt-get install -y ruby unzip
   ```

1. Laden Sie die ZIP-Datei mit einem Tool wie wget oder curl herunter. Beispiel:

   ```
   [ec2-user ~]$ wget https://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.zip
   ```

1. Entzippen Sie die Dateien in ein geeignetes Installationsverzeichnis, z. B. `/usr/local/ec2`.

   ```
   [ec2-user ~]$ sudo mkdir -p /usr/local/ec2
   $ sudo unzip ec2-ami-tools.zip -d /usr/local/ec2
   ```

   Beachten Sie, dass die ZIP-Datei einen Ordner ec2-ami-tools- enthält. *x* *x*. *x*, wo*x*. *x*. *x*ist die Versionsnummer der Tools (zum Beispiel`ec2-ami-tools-1.5.7`).

1. Legen Sie die Umgebungsvariable `EC2_AMITOOL_HOME` auf das Installationsverzeichnis für die Tools fest. Beispiel:

   ```
   [ec2-user ~]$ export EC2_AMITOOL_HOME=/usr/local/ec2/ec2-ami-tools-x.x.x
   ```

1. Fügen Sie die Tools Ihrer Umgebungsvariablen `PATH` hinzu. Beispiel:

   ```
   [ec2-user ~]$ export PATH=$EC2_AMITOOL_HOME/bin:$PATH
   ```

1. Sie können die Installation der AMI-Tools mit dem Befehl [ec2- ami-tools-version](ami-tools-commands.md#ami-tools-version) überprüfen.

   ```
   [ec2-user ~]$ ec2-ami-tools-version
   ```

## Verwalten von Signaturzertifikaten
<a name="ami-tools-managing-certs"></a>

Für bestimmte Befehle in den AMI-Tools ist ein Signaturzertifikat erforderlich (auch als X.509-Zertifikat bezeichnet). Sie müssen das Zertifikat erstellen und es dann auf hochladen AWS. Beispielsweise können Sie zum Erstellen des Zertifikats ein Drittanbieter-Tool wie OpenSSL verwenden.

**So erstellen Sie ein Signaturzertifikat**

1. Installieren und konfigurieren Sie OpenSSL.

1. Erstellen Sie mit dem Befehl `openssl genrsa` einen privaten Schlüssel und speichern Sie die Ausgabe in einer `.pem`-Datei. Wir empfehlen Ihnen, einen RSA-Schlüssel mit 2 048 oder 4 096 Bit zu erstellen.

   ```
   openssl genrsa 2048 > private-key.pem
   ```

1. Generieren Sie mit dem Befehl `openssl req` ein Zertifikat.

   ```
   openssl req -new -x509 -nodes -sha256 -days 365 -key private-key.pem -outform PEM -out certificate.pem
   ```

Verwenden Sie den [upload-signing-certificate](https://docs.aws.amazon.com/cli/latest/reference/iam/upload-signing-certificate.html)Befehl AWS, um das Zertifikat hochzuladen.

```
aws iam upload-signing-certificate --user-name user-name --certificate-body file://path/to/certificate.pem
```

Verwenden Sie den [list-signing-certificates](https://docs.aws.amazon.com/cli/latest/reference/iam/list-signing-certificates.html)folgenden Befehl, um die Zertifikate für einen Benutzer aufzulisten:

```
aws iam list-signing-certificates --user-name user-name
```

Verwenden Sie den [update-signing-certificate](https://docs.aws.amazon.com/cli/latest/reference/iam/update-signing-certificate.html)Befehl, um ein Signaturzertifikat für einen Benutzer zu deaktivieren oder erneut zu aktivieren. Mit dem folgenden Befehl wird das Zertifikat deaktiviert:

```
aws iam update-signing-certificate --certificate-id OFHPLP4ZULTHYPMSYEX7O4BEXAMPLE --status Inactive --user-name user-name
```

Verwenden Sie den [delete-signing-certificate](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-signing-certificate.html)folgenden Befehl, um ein Zertifikat zu löschen:

```
aws iam delete-signing-certificate --user-name user-name --certificate-id OFHPLP4ZULTHYPMSYEX7O4BEXAMPLE
```

# Referenz zu den Amazon EC2 AMI-Tools
<a name="ami-tools-commands"></a>

Sie können die Befehle der AMI-Tools verwenden, um Amazon S3-gestütztes Linux zu erstellen und zu verwalten. AMIs Weitere Informationen über das Einrichten der Tools finden Sie unter [Die Amazon-EC2-AMI-Tools einrichten](set-up-ami-tools.md).

Weitere Information über Zugriffsschlüssel finden Sie unter [Verwalten von Zugriffsschlüsseln für IAM-Benutzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) im *IAM-Benutzerhandbuch*.

**Topics**
+ [ec2- ami-tools-version](#ami-tools-version)
+ [ec2-bundle-image](#ami-bundle-image)
+ [ec2-bundle-vol](#ami-bundle-vol)
+ [ec2-delete-bundle](#ami-delete-bundle)
+ [ec2-download-bundle](#ami-download-bundle)
+ [ec2-migrate-manifest](#ami-migrate-manifest)
+ [ec2-unbundle](#ami-unbundle)
+ [ec2-upload-bundle](#ami-upload-bundle)
+ [Allgemeine Optionen für AMI-Tools](#common-args-ami)

## ec2- ami-tools-version
<a name="ami-tools-version"></a>

### Description
<a name="ami-tools-version-description"></a>

Beschreibt die Version der AMI-Tools.

### Syntax
<a name="ami-tools-version-request"></a>

**ec2-ami-tools-version**

### Ausgabe
<a name="ami-tools-version-output"></a>

Die Versionsinformationen

### Beispiel
<a name="ami-tools-version-response"></a>

Dieser Beispielbefehl zeigt die Versionsinformationen für die AMI-Tools an, die Sie verwenden.

```
[ec2-user ~]$ ec2-ami-tools-version
1.5.2 20071010
```

## ec2-bundle-image
<a name="ami-bundle-image"></a>

### Description
<a name="bundle-image-description"></a>

Erstellt ein Amazon-S3-gestütztes Linux-AMI aus einem Betriebssystem-Image, das in einer Loopback-Datei erstellt wurde.

### Syntax
<a name="bundle-image-request"></a>

****ec2-bundle-image** -c *path* -k *path* -u *account* -i *path* [-d *path*] [--ec2cert *path*] [-r *architecture*] [--productcodes *code1*,*code2*,...] [-B *mapping*] [-p *prefix*]** 

### Optionen
<a name="bundle-image-parameters"></a>

`-c, --cert` *path*  
Die PEM-kodierte öffentliche RSA-Schlüsselzertifikatsdatei des Benutzers  
Erforderlich: Ja

`-k, --privatekey` *path*  
Der Pfad zu einer PEM-kodierten RSA-Schlüsseldatei. Sie müssen diesen Schlüssel zum Entpacken dieses Pakets angeben, bewahren Sie ihn daher gut auf. Beachten Sie, dass der Schlüssel nicht in Ihrem AWS Konto registriert sein muss.  
Erforderlich: Ja

`-u, --user ` *account*  
Die AWS Konto-ID des Benutzers ohne Bindestriche.  
Erforderlich: Ja

`-i, --image` *path*  
Der Pfad zum Image, das gebündelt werden soll  
Erforderlich: Ja

`-d, --destination` *path*  
Das Verzeichnis, in dem das Paket erstellt wird  
Standard: `/tmp`  
Erforderlich: Nein

`--ec2cert` *path*  
Der Pfad zum Amazon EC2 X.509-Zertifikat mit öffentlichem Schlüssel, das zur Verschlüsselung des Image-Manifests verwendet wird.  
Die Regionen `us-gov-west-1` und `cn-north-1` verwenden ein nicht standardmäßiges öffentliches Schlüsselzertifikat, und der Pfad zu diesem Zertifikat muss mit dieser Option angegeben werden. Der Pfad zum Zertifikat variiert ausgehend von der Installationsmethode der AMI-Tools. Für Amazon Linux befinden sich die Zertifikate unter `/opt/aws/amitools/ec2/etc/ec2/amitools/`. Wenn Sie die AMI-Tools aus der RPM- oder ZIP-Datei in [Die Amazon-EC2-AMI-Tools einrichten](set-up-ami-tools.md) installiert haben, befinden sich die Zertifikate unter `$EC2_AMITOOL_HOME/etc/ec2/amitools/`.  
Erforderlich: Nur für die Regionen `us-gov-west-1` und `cn-north-1`.

`-r, --arch` *architecture*  
Image-Architektur. Wenn Sie die Architektur nicht in der Befehlszeile angeben, werden Sie dazu aufgefordert, sobald das Bündeln beginnt.  
Zulässige Werte: `i386` \$1 `x86_64`  
Erforderlich: Nein

`--productcodes` *code1,code2,...*  
Produkt-Codes, die dem Image zum Zeitpunkt der Registrierung angefügt werden, durch Kommas getrennt  
Erforderlich: Nein

`-B, --block-device-mapping` *mapping*  
Definiert, wie Blockgeräte für eine Instance dieses AMI bereitgestellt werden, wenn der Instance-Typ das angegebene Gerät unterstützt.  
Geben Sie eine durch Komma getrennte Liste von Schlüssel-Wert-Paaren an, wobei jeder Schlüssel ein virtueller Name und jeder Wert der entsprechende Gerätename ist. Virtuelle Namen umfassen Folgendes:  
+ `ami` — Das Stammdateisystemgerät, wie es von der Instance erfasst wird
+ `root` — Das Stammdateisystemgerät, wie es vom Kernel erfasst wird
+ `swap` — Das Swap-Gerät, wie es von der Instance erfasst wird
+ `ephemeralN` — Das n-te Instance-Speicher-Volume
Erforderlich: Nein

`-p, --prefix` *prefix*  
Das Dateinamenpräfix für gebündelte AMI-Dateien  
Standard: Der Name der Imagedatei. Wenn der Pfad des Images beispielsweise `/var/spool/my-image/version-2/debian.img` ist, dann ist das Standardpräfix `debian.img`.  
Erforderlich: Nein

`--kernel` *kernel\$1id*  
Veraltet. Verwenden Sie zum Festlegen des Kernels [register-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html).  
Erforderlich: Nein

`--ramdisk` *ramdisk\$1id*  
Veraltet. Verwenden Sie zum Festlegen des RAM-Datenträgers (sofern erforderlich) [register-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html).  
Erforderlich: Nein

### Ausgabe
<a name="bundle-image-output"></a>

Statusmeldung, die die Phasen und Status des Bündelungsprozesses beschreibt

### Beispiel
<a name="bundle-image-response"></a>

Dieses Beispiel erstellt ein gebündeltes AMI aus einem Betriebssystem-Image, das in einer Loopback-Datei erstellt wurde.

```
[ec2-user ~]$ ec2-bundle-image -k pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem -c cert-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem -u 111122223333 -i image.img -d bundled/ -r x86_64
Please specify a value for arch [i386]: 
Bundling image file...
Splitting bundled/image.gz.crypt...
Created image.part.00
Created image.part.01
Created image.part.02
Created image.part.03
Created image.part.04
Created image.part.05
Created image.part.06
Created image.part.07
Created image.part.08
Created image.part.09
Created image.part.10
Created image.part.11
Created image.part.12
Created image.part.13
Created image.part.14
Generating digests for each part...
Digests generated.
Creating bundle manifest...
ec2-bundle-image complete.
```

## ec2-bundle-vol
<a name="ami-bundle-vol"></a>

### Description
<a name="bundle-vol-description"></a>

Erstellt ein Amazon-S3-gestütztes Linux-AMI durch Komprimieren, Verschlüsseln und Signieren einer Kopie des Root-Volumes für die Instance.

Amazon EC2 versucht, Produktcodes, Kernel-Einstellungen und RAM-Disk-Einstellungen zu übernehmen und Gerätezuordnungen von der Instance zu blockieren.

Während des Paketprozesses werden standardmäßig Dateien ausgeschlossen, die ggf. vertrauliche Informationen enthalten. Dies sind beispielsweise die Dateien `*.sw`, `*.swo`, `*.swp`, `*.pem`, `*.priv`, `*id_rsa*`, `*id_dsa*` `*.gpg`, `*.jks`, `*/.ssh/authorized_keys` und `*/.bash_history`. Verwenden Sie die Option `--no-filter`, wenn Sie alle diese Dateien einbinden möchten. Mit der Option `--include` können Sie einzelne Dateien einbinden.

Weitere Informationen finden Sie unter [Ein Amazon-S3-gestütztes AMI erstellen](creating-an-ami-instance-store.md).

### Syntax
<a name="bundle-vol-request"></a>

****ec2-bundle-vol** -c *path* -k *path* -u *account* [-d *path*] [--ec2cert *path*] [-r *architecture*] [--productcodes *code1*,*code2*,...] [-B *mapping*] [--all] [-e *directory1*,*directory2*,...] [-i *file1*,*file2*,...] [--no-filter] [-p *prefix*] [-s *size*] [--[no-]inherit] [-v *volume*] [-P *type*] [-S *script*] [--fstab *path*] [--generate-fstab] [--grub-config *path*]** 

### Optionen
<a name="bundle-vol-parameters"></a>

`-c, --cert` *path*  
Die PEM-kodierte öffentliche RSA-Schlüsselzertifikatsdatei des Benutzers  
Erforderlich: Ja

`-k, --privatekey ` *path*   
Der Pfad zur PEM-kodierten RSA-Schlüsseldatei des Benutzers  
Erforderlich: Ja

`-u, --user` *account*  
Die AWS Konto-ID des Benutzers ohne Bindestriche.  
Erforderlich: Ja

`-d, --destination` *destination*  
Das Verzeichnis, in dem das Paket erstellt wird  
Standard: `/tmp`  
Erforderlich: Nein

`--ec2cert` *path*  
Der Pfad zum Amazon EC2 X.509-Zertifikat mit öffentlichem Schlüssel, das zur Verschlüsselung des Image-Manifests verwendet wird.  
Die Regionen `us-gov-west-1` und `cn-north-1` verwenden ein nicht standardmäßiges öffentliches Schlüsselzertifikat, und der Pfad zu diesem Zertifikat muss mit dieser Option angegeben werden. Der Pfad zum Zertifikat variiert ausgehend von der Installationsmethode der AMI-Tools. Für Amazon Linux befinden sich die Zertifikate unter `/opt/aws/amitools/ec2/etc/ec2/amitools/`. Wenn Sie die AMI-Tools aus der RPM- oder ZIP-Datei in [Die Amazon-EC2-AMI-Tools einrichten](set-up-ami-tools.md) installiert haben, befinden sich die Zertifikate unter `$EC2_AMITOOL_HOME/etc/ec2/amitools/`.  
Erforderlich: Nur für die Regionen `us-gov-west-1` und `cn-north-1`.

`-r, --arch ` *architecture*  
Die Architektur des Images. Wenn Sie sie nicht in der Befehlszeile angeben, werden Sie dazu aufgefordert, sobald das Bündeln beginnt.  
Zulässige Werte: `i386` \$1 `x86_64`  
Erforderlich: Nein

`--productcodes` *code1,code2,...*  
Produkt-Codes, die dem Image zum Zeitpunkt der Registrierung angefügt werden, durch Kommas getrennt  
Erforderlich: Nein

`-B, --block-device-mapping` *mapping*  
Definiert, wie Blockgeräte für eine Instance dieses AMI bereitgestellt werden, wenn der Instance-Typ das angegebene Gerät unterstützt.  
Geben Sie eine durch Komma getrennte Liste von Schlüssel-Wert-Paaren an, wobei jeder Schlüssel ein virtueller Name und jeder Wert der entsprechende Gerätename ist. Virtuelle Namen umfassen Folgendes:  
+ `ami` — Das Stammdateisystemgerät, wie es von der Instance erfasst wird
+ `root` — Das Stammdateisystemgerät, wie es vom Kernel erfasst wird
+ `swap` — Das Swap-Gerät, wie es von der Instance erfasst wird
+ `ephemeralN` — Das n-te Instance-Speicher-Volume
Erforderlich: Nein

`-a, --all`  
Bündeln Sie alle Verzeichnisse, einschließlich derer, die sich auf remote bereitgestellten Dateisystemen befinden.  
Erforderlich: Nein

`-e, --exclude ` *directory1,directory2,...*  
Eine Liste absoluter Verzeichnispfade und Dateien, die aus dem Bündelungsvorgang ausgeschlossen werden sollen. Dieser Parameter überschreibt die Option `--all`. Wenn ein Ausschließen festgelegt ist, werden die mit dem Parameter aufgeführten Verzeichnisse und Unterverzeichnisse nicht mit dem Volume gebündelt.  
Erforderlich: Nein

`-i, --include ` *file1,file2,...*  
Eine Liste von Dateien, die in den Bündelungsvorgang einbezogen werden sollen. Die angegeben Dateien werden ansonsten aus dem AMI ausgeschlossen, da sie möglicherweise vertrauliche Informationen enthalten.  
Erforderlich: Nein

`--no-filter`  
Wenn dies angegeben ist werden wir die Dateien nicht aus dem AMI ausschließen, da sie möglicherweise vertrauliche Informationen enthalten.  
Erforderlich: Nein

`-p, --prefix ` *prefix*  
Das Dateinamenpräfix für gebündelte AMI-Dateien  
Standard: `image`  
Erforderlich: Nein

`-s, --size` *size*  
Die Größe der zu erstellenden Image-Datei in MB (1024 \$1 1024 Bytes). Die maximale Größe ist 10240 MB.   
Standard: 10240  
Erforderlich: Nein

`--[no-]inherit`  
Gibt an, ob das Image die Metadaten der Instance erben soll (standardmäßig werden sie geerbt). Das Bündeln schlägt fehl, wenn Sie `--inherit` aktivieren, auf die Instance-Metadaten aber nicht zugegriffen werden kann.  
Erforderlich: Nein

`-v, --volume ` *volume*  
Der absolute Pfad zum bereitgestellten Volume, aus dem das Bündel erstellt werden soll  
Standard: Das Stammverzeichnis (/)  
Erforderlich: Nein

`-P, --partition` *type*  
Gibt an, ob das DatenträgerImage eine Partitionstabelle verwenden soll. Wenn Sie keinen Partitionstabellentyp angeben, wird standardmäßig der Typ festgelegt, der im übergeordneten Blockgerät des Volumes verwendet wird (sofern zutreffend), andernfalls ist der Standard `gpt`.  
Zulässige Werte: `mbr` \$1 `gpt` \$1 `none`  
Erforderlich: Nein

`-S, --script` *script*  
Ein vor dem Bündeln auszuführendes Anpassungsskript. Das Skript muss ein einzelnes Argument, den Mountingpoint des Volumes, erwarten.  
Erforderlich: Nein

`--fstab` *path*  
Der Pfad zum fstab, das im Image gebündelt werden soll. Wenn dies nicht angegeben ist, EC2 bündelt Amazon /etc/fstab.  
Erforderlich: Nein

`--generate-fstab`  
Bündelt das Volume mit einem von Amazon EC2 bereitgestellten Fstab.  
Erforderlich: Nein

`--grub-config`  
Der Pfad zu einer alternativen Grub-Konfigurationsdatei, die im Image gebündelt werden soll. Standardmäßig erwartet `ec2-bundle-vol`, dass entweder `/boot/grub/menu.lst` oder `/boot/grub/grub.conf` auf dem geklonten Image vorhanden ist. Mit dieser Option können Sie einen Pfad zu einer alternativen Grub-Konfigurationsdatei festlegen, der dann in die Standardeinstellungen (wenn vorhanden) kopiert wird.  
Erforderlich: Nein

`--kernel` *kernel\$1id*  
Veraltet. Verwenden Sie zum Festlegen des Kernels [register-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html).  
Erforderlich: Nein

`--ramdisk`*ramdisk\$1id*  
Veraltet. Verwenden Sie zum Festlegen des RAM-Datenträgers (sofern erforderlich) [register-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html).  
Erforderlich: Nein

### Ausgabe
<a name="bundle-vol-output"></a>

Statusmeldung, die die Phasen und Status der Bündelung beschreibt

### Beispiel
<a name="bundle-vol-response"></a>

Dieses Beispiel erstellt eine gebündeltes AMI durch Komprimieren, Verschlüsseln und Signieren eines Snapshots des Stammdateisystems des lokalen Computers. 

```
[ec2-user ~]$ ec2-bundle-vol -d /mnt -k pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem -c cert-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem -u 111122223333 -r x86_64
  Copying / into the image file /mnt/image...
  Excluding:
       sys
       dev/shm
       proc
       dev/pts
       proc/sys/fs/binfmt_misc
       dev
       media
       mnt
       proc
       sys
       tmp/image
       mnt/img-mnt
  1+0 records in
  1+0 records out
  mke2fs 1.38 (30-Jun-2005)
  warning: 256 blocks unused.

  Splitting /mnt/image.gz.crypt...
  Created image.part.00
  Created image.part.01
  Created image.part.02
  Created image.part.03
  ...
  Created image.part.22
  Created image.part.23
  Generating digests for each part...
  Digests generated.
  Creating bundle manifest...
  Bundle Volume complete.
```

## ec2-delete-bundle
<a name="ami-delete-bundle"></a>

### Description
<a name="delete-bundle-description"></a>

Löscht das festgelegte Paket aus dem Amazon S3-Speicher. Wenn Sie ein Paket löschen, können Sie aus dem entsprechenden AMI keine Instances starten.

### Syntax
<a name="delete-bundle-request"></a>

****ec2-delete-bundle** -b *bucket* -a *access\$1key\$1id* -s *secret\$1access\$1key* [-t *token*] [--url *url*] [--region *region*] [--sigv *version*] [-m *path*] [-p *prefix*] [--clear] [--retry] [-y]** 

### Optionen
<a name="delete-bundle-parameters"></a>

`-b, --bucket `*bucket*  
Der Name des Amazon S3-Buckets, der das gebündelte AMI enthält, gefolgt von einem optionalen, durch "/" getrennten Pfadpräfix  
Erforderlich: Ja

`-a, --access-key` *access\$1key\$1id*  
Die AWS Zugriffsschlüssel-ID.  
Erforderlich: Ja

`-s, --secret-key` *secret\$1access\$1key*  
Der AWS geheime Zugriffsschlüssel.  
Erforderlich: Ja

`-t, --delegation-token` *token*  
Das Delegierungstoken, das an die AWS Anfrage weitergegeben werden soll. Weitere Informationen finden Sie unter [Temporäre Sicherheitsanmeldeinformationen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) im *IAM-Benutzerhandbuch*.  
Erforderlich: Nur wenn Sie temporäre Sicherheitsanmeldeinformationen verwenden.  
Standard: Der Wert der `AWS_DELEGATION_TOKEN`-Umgebungsvariablen (wenn festgelegt)

`--region`*region*  
Die in der Anforderungssignatur zu verwendende Region.  
Standard: `us-east-1`  
Erforderlich: Ist erforderlich, wenn Signaturversion 4 verwendet wird

`--sigv`*Version*  
Die beim Signieren der Anforderung zu verwendende Signaturversion  
Zulässige Werte: `2` \$1 `4`  
Standard: `4`  
Erforderlich: Nein

`-m, --manifest`*path*  
Der Pfad zur Manifestdatei  
Erforderlich: Sie müssen `--prefix` oder `--manifest` angeben.

`-p, --prefix` *prefix*  
Das gebündelte AMI-Dateinamenpräfix. Geben Sie das gesamte Präfix an. Verwenden Sie beim Präfix "image.img" beispielsweise `-p image.img` und nicht `-p image`.  
Erforderlich: Sie müssen `--prefix` oder `--manifest` angeben.

`--clear`  
Löscht nach dem Löschen des angegebenen Pakets den Amazon S3-Bucket, wenn er leer ist.  
Erforderlich: Nein

`--retry`  
Versucht bei allen Amazon S3-Fehlern den Vorgang automatisch erneut, bis zu fünfmal pro Vorgang.  
Erforderlich: Nein

`-y, --yes`  
Es wird automatisch davon ausgegangen, dass die Antwort auf alle Eingabeaufforderungen "ja" ist.  
Erforderlich: Nein

### Ausgabe
<a name="delete-bundle-output"></a>

Amazon EC2 zeigt Statusmeldungen an, die die Phasen und den Status des Löschvorgangs angeben.

### Beispiel
<a name="delete-bundle-response"></a>

Dieses Beispiel löscht ein Paket aus Amazon S3.

```
[ec2-user ~]$ ec2-delete-bundle -b amzn-s3-demo-bucket -a your_access_key_id -s your_secret_access_key
Deleting files:
amzn-s3-demo-bucket/image.manifest.xml
amzn-s3-demo-bucket/image.part.00
amzn-s3-demo-bucket/image.part.01
amzn-s3-demo-bucket/image.part.02
amzn-s3-demo-bucket/image.part.03
amzn-s3-demo-bucket/image.part.04
amzn-s3-demo-bucket/image.part.05
amzn-s3-demo-bucket/image.part.06
Continue? [y/n]
y
Deleted amzn-s3-demo-bucket/image.manifest.xml
Deleted amzn-s3-demo-bucket/image.part.00
Deleted amzn-s3-demo-bucket/image.part.01
Deleted amzn-s3-demo-bucket/image.part.02
Deleted amzn-s3-demo-bucket/image.part.03
Deleted amzn-s3-demo-bucket/image.part.04
Deleted amzn-s3-demo-bucket/image.part.05
Deleted amzn-s3-demo-bucket/image.part.06
ec2-delete-bundle complete.
```

## ec2-download-bundle
<a name="ami-download-bundle"></a>

### Description
<a name="download-bundle-description"></a>

Lädt das angegebene Amazon S3-gestützte Linux AMIs aus dem Amazon S3 S3-Speicher herunter.

### Syntax
<a name="download-bundle-request"></a>

****ec2-download-bundle** -b *bucket* -a *access\$1key\$1id* -s *secret\$1access\$1key* -k *path* [--url *url*] [--region *region*] [--sigv *version*] [-m *file*] [-p *prefix*] [-d *directory*] [--retry]** 

### Optionen
<a name="download-bundle-parameters"></a>

`-b, --bucket` *bucket*  
Der Name des Amazon S3-Buckets, in dem sich das Paket befindet, gefolgt von einem optionalen, durch "/" getrennten Pfadpräfix  
Erforderlich: Ja

`-a, --access-key` *access\$1key\$1id*  
Die AWS Zugriffsschlüssel-ID.  
Erforderlich: Ja

`-s, --secret-key` *secret\$1access\$1key*  
Der AWS geheime Zugriffsschlüssel.  
Erforderlich: Ja

`-k, --privatekey` *path*  
Der private Schlüssel, der zum Entschlüsseln des Manifests verwendet wird  
Erforderlich: Ja

`--url` *url*  
Die Amazon S3-Service-URL  
Standard: `https://s3.amazonaws.com/`  
Erforderlich: Nein

`--region` *region*  
Die in der Anforderungssignatur zu verwendende Region.  
Standard: `us-east-1`  
Erforderlich: Ist erforderlich, wenn Signaturversion 4 verwendet wird

`--sigv` *version*  
Die beim Signieren der Anforderung zu verwendende Signaturversion  
Zulässige Werte: `2` \$1 `4`  
Standard: `4`  
Erforderlich: Nein

`-m, --manifest` *file*  
Der Name der Manifestdatei (ohne den Pfad). Wir empfehlen Ihnen, dass Sie entweder das Manifest (`-m`) oder ein Präfix (`-p`) angeben.  
Erforderlich: Nein

`-p, --prefix ` *prefix*  
Das Dateinamenpräfix für gebündelte AMI-Dateien  
Standard: `image`  
Erforderlich: Nein

`-d, --directory ` *directory*  
Das Verzeichnis, in dem das heruntergeladene Paket gespeichert wird. Das Verzeichnis muss vorhanden sein.  
Standard: Das aktuelle Arbeitsverzeichnis  
Erforderlich: Nein

 `--retry`   
Versucht bei allen Amazon S3-Fehlern den Vorgang automatisch erneut, bis zu fünfmal pro Vorgang.  
Erforderlich: Nein

### Ausgabe
<a name="download-bundle-output"></a>

Statusmeldungen werden angezeigt, die die unterschiedlichen Phasen und Status des Download-Vorgangs angeben.

### Beispiel
<a name="download-bundle-response"></a>

Dieses Beispiel erstellt das `bundled`-Verzeichnis (mithilfe des Linux-Befehls **mkdir**) und lädt das Paket vom Amazon S3-Bucket `amzn-s3-demo-bucket` herunter.

```
[ec2-user ~]$ mkdir bundled
[ec2-user ~]$ ec2-download-bundle -b amzn-s3-demo-bucket/bundles/bundle_name -m image.manifest.xml -a your_access_key_id -s your_secret_access_key -k pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem -d mybundle
Downloading manifest image.manifest.xml from amzn-s3-demo-bucket to mybundle/image.manifest.xml ...
Downloading part image.part.00 from amzn-s3-demo-bucket/bundles/bundle_name to mybundle/image.part.00 ...
Downloaded image.part.00 from amzn-s3-demo-bucket
Downloading part image.part.01 from amzn-s3-demo-bucket/bundles/bundle_name to mybundle/image.part.01 ...
Downloaded image.part.01 from amzn-s3-demo-bucket
Downloading part image.part.02 from amzn-s3-demo-bucket/bundles/bundle_name to mybundle/image.part.02 ...
Downloaded image.part.02 from amzn-s3-demo-bucket
Downloading part image.part.03 from amzn-s3-demo-bucket/bundles/bundle_name to mybundle/image.part.03 ...
Downloaded image.part.03 from amzn-s3-demo-bucket
Downloading part image.part.04 from amzn-s3-demo-bucket/bundles/bundle_name to mybundle/image.part.04 ...
Downloaded image.part.04 from amzn-s3-demo-bucket
Downloading part image.part.05 from amzn-s3-demo-bucket/bundles/bundle_name to mybundle/image.part.05 ...
Downloaded image.part.05 from amzn-s3-demo-bucket
Downloading part image.part.06 from amzn-s3-demo-bucket/bundles/bundle_name to mybundle/image.part.06 ...
Downloaded image.part.06 from amzn-s3-demo-bucket
```

## ec2-migrate-manifest
<a name="ami-migrate-manifest"></a>

### Description
<a name="migrate-manifest-description"></a>

Verändert ein Amazon-S3-gestütztes Linux-AMI (z. B. das Zertifikat, den Kernel und den RAM-Datenträger) so, dass es eine andere Region unterstützt.

### Syntax
<a name="migrate-manifest-request"></a>

****ec2-migrate-manifest** -c *path* -k *path* -m *path* \$1(-a *access\$1key\$1id* -s *secret\$1access\$1key* --region *region*) \$1 (--no-mapping)\$1 [--ec2cert *ec2\$1cert\$1path*] [--kernel *kernel-id*] [--ramdisk *ramdisk\$1id*]** 

### Optionen
<a name="migrate-manifest-parameters"></a>

`-c, --cert` *path*  
Die PEM-kodierte öffentliche RSA-Schlüsselzertifikatsdatei des Benutzers  
Erforderlich: Ja

`-k, --privatekey` *path*  
Der Pfad zur PEM-kodierten RSA-Schlüsseldatei des Benutzers  
Erforderlich: Ja

`--manifest` *path*  
Der Pfad zur Manifestdatei  
Erforderlich: Ja

`-a, --access-key` *access\$1key\$1id*  
Die ID des AWS Zugriffsschlüssels.  
Erforderlich: Ist erforderlich, wenn das automatische Mapping verwendet wird.

`-s, --secret-key ` *secret\$1access\$1key*  
Der AWS geheime Zugriffsschlüssel.  
Erforderlich: Ist erforderlich, wenn das automatische Mapping verwendet wird.

`--region` *region*  
Die in der Mapping-Datei zu suchende Region  
Erforderlich: Ist erforderlich, wenn das automatische Mapping verwendet wird.

`--no-mapping`  
Deaktiviert das automatische Mapping von Kernels und RAM-Datenträgern.  
 Während der Migration EC2 ersetzt Amazon den Kernel und die RAM-Disk in der Manifest-Datei durch eine Kernel- und RAM-Disk, die für die Zielregion konzipiert sind. Sofern der Parameter `--no-mapping` nicht angeben wurde, verwendet `ec2-migrate-bundle` unter Umständen die Vorgänge `DescribeRegions` und `DescribeImages` für automatisierte Zuweisungen.   
Erforderlich: Ist erforderlich, wenn Sie die Optionen `-a`, `-s` und `--region` nicht angeben, die für das automatische Mapping verwendet werden.

`--ec2cert` *path*  
Der Pfad zum Amazon EC2 X.509-Zertifikat mit öffentlichem Schlüssel, das zur Verschlüsselung des Image-Manifests verwendet wird.  
Die Regionen `us-gov-west-1` und `cn-north-1` verwenden ein nicht standardmäßiges öffentliches Schlüsselzertifikat, und der Pfad zu diesem Zertifikat muss mit dieser Option angegeben werden. Der Pfad zum Zertifikat variiert ausgehend von der Installationsmethode der AMI-Tools. Für Amazon Linux befinden sich die Zertifikate unter `/opt/aws/amitools/ec2/etc/ec2/amitools/`. Wenn Sie die AMI-Tools aus der ZIP-Datei in [Die Amazon-EC2-AMI-Tools einrichten](set-up-ami-tools.md) installiert haben, befinden sich die Zertifikate unter `$EC2_AMITOOL_HOME/etc/ec2/amitools/`.  
Erforderlich: Nur für die Regionen `us-gov-west-1` und `cn-north-1`.

`--kernel` *kernel\$1id*  
Die ID des Kernels, der ausgewählt werden soll  
Wir empfehlen Ihnen die Verwendung von PV-GRUB anstelle von Kernels und RAM-Datenträgern. Weitere Informationen finden Sie unter [Vom Benutzer bereitgestellte Kernel](https://docs.aws.amazon.com/linux/al2/ug/UserProvidedKernels.html) im *Benutzerhandbuch für Amazon Linux 2*.
Erforderlich: Nein

`--ramdisk` *ramdisk\$1id*  
Die ID des RAM-Datenträgers, der ausgewählt werden soll  
Wir empfehlen Ihnen die Verwendung von PV-GRUB anstelle von Kernels und RAM-Datenträgern. Weitere Informationen finden Sie unter [Vom Benutzer bereitgestellte Kernel](https://docs.aws.amazon.com/linux/al2/ug/UserProvidedKernels.html) im *Benutzerhandbuch für Amazon Linux 2*.
Erforderlich: Nein

### Ausgabe
<a name="migrate-manifest-output"></a>

Statusmeldung, die die Phasen und Status des Bündelungsprozesses beschreibt

### Beispiel
<a name="migrate-manifest-response"></a>

Dieses Beispiel kopiert das im `my-ami.manifest.xml`-Manifest angegebene AMI aus den USA in die EU.

```
[ec2-user ~]$ ec2-migrate-manifest --manifest my-ami.manifest.xml --cert cert-HKZYKTAIG2ECMXYIBH3HXV4ZBZQ55CLO.pem --privatekey pk-HKZYKTAIG2ECMXYIBH3HXV4ZBZQ55CLO.pem --region eu-west-1 

Backing up manifest...
Successfully migrated my-ami.manifest.xml It is now suitable for use in eu-west-1.
```

## ec2-unbundle
<a name="ami-unbundle"></a>

### Description
<a name="unbundle-description"></a>

Erstellt das Paket neu aus einem Amazon-S3-gestützten AMI für Linux.

### Syntax
<a name="unbundle-request"></a>

****ec2-unbundle** -k *path* -m *path* [-s *source\$1directory*] [-d *destination\$1directory*]** 

### Optionen
<a name="unbundle-parameters"></a>

`-k, --privatekey` *path*  
Der Pfad zu Ihrer PEM-kodierten RSA-Schlüsseldatei  
Erforderlich: Ja

`-m, --manifest` *path*  
Der Pfad zur Manifestdatei  
Erforderlich: Ja

`-s, --source` *source\$1directory*  
Das Verzeichnis, das das Paket enthält  
Standard: Das aktuelle Verzeichnis  
Erforderlich: Nein

`-d, --destination` *destination\$1directory*  
Das Verzeichnis, in dem das AMI entpackt wird. Das Zielverzeichnis muss vorhanden sein.   
Standard: Das aktuelle Verzeichnis  
Erforderlich: Nein

### Beispiel
<a name="unbundle-response"></a>

Dieses Linux- und UNIX-Beispiel entpackt das AMI, das in der `image.manifest.xml`-Datei angegeben ist.

```
[ec2-user ~]$ mkdir unbundled
$ ec2-unbundle -m mybundle/image.manifest.xml -k pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem -s mybundle -d unbundled
$ ls -l unbundled
total 1025008
-rw-r--r-- 1 root root 1048578048 Aug 25 23:46 image.img
```

### Ausgabe
<a name="unbundle-output"></a>

Statusmeldungen werden angezeigt, die die unterschiedlichen Phasen und Status des Entpackvorgangs angeben.

## ec2-upload-bundle
<a name="ami-upload-bundle"></a>

### Description
<a name="upload-bundle-description"></a>

Lädt das Paket für ein Amazon S3-gestütztes Linux-AMI auf Amazon S3 hoch und legt die entsprechenden Zugriffskontrolllisten (ACLs) für die hochgeladenen Objekte fest. Weitere Informationen finden Sie unter [Ein Amazon-S3-gestütztes AMI erstellen](creating-an-ami-instance-store.md).

**Anmerkung**  
Um Objekte in einen S3-Bucket für Ihr Amazon S3-gestütztes Linux-AMI hochzuladen, ACLs müssen Sie für den Bucket aktiviert sein. Andernfalls kann Amazon EC2 die ACLs hochzuladenden Objekte nicht festlegen. Wenn Ihr Ziel-Bucket die vom Bucket-Besitzer erzwungene Einstellung für S3 Object Ownership verwendet, funktioniert das nicht, weil sie deaktiviert ACLs sind. Weitere Informationen finden Sie unter [Kontrolle des Besitzes von Objekten und Deaktivierung ACLs für Ihren Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html).

### Syntax
<a name="upload-bundle-request"></a>

****ec2-upload-bundle** -b *bucket* -a *access\$1key\$1id* -s *secret\$1access\$1key* [-t *token*] -m *path* [--url *url*] [--region *region*] [--sigv *version*] [--acl *acl*] [-d *directory*] [--part *part*] [--retry] [--skipmanifest]** 

### Optionen
<a name="upload-bundle-parameters"></a>

`-b, --bucket` *bucket*  
Der Name des Amazon S3-Buckets, in dem das Paket gespeichert werden soll, gefolgt von einem optionalen durch "/" getrennten Pfadpräfix. Wenn der Bucket nicht vorhanden ist, wird er erstellt, sofern der Bucket-Name verfügbar ist. Wenn der Bucket nicht existiert und die AMI-Tools-Version 1.5.18 oder höher ist, legt dieser Befehl außerdem den ACLs für den Bucket fest.  
Erforderlich: Ja

`-a, --access-key` *access\$1key\$1id*  
Ihre AWS Zugangsschlüssel-ID.  
Erforderlich: Ja

`-s, --secret-key` *secret\$1access\$1key*  
Ihr AWS geheimer Zugangsschlüssel.  
Erforderlich: Ja

`-t, --delegation-token` *token*  
Das Delegierungstoken, das an die AWS Anfrage weitergegeben werden soll. Weitere Informationen finden Sie unter [Temporäre Sicherheitsanmeldeinformationen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) im *IAM-Benutzerhandbuch*.  
Erforderlich: Nur wenn Sie temporäre Sicherheitsanmeldeinformationen verwenden.  
Standard: Der Wert der `AWS_DELEGATION_TOKEN`-Umgebungsvariablen (wenn festgelegt)

`-m, --manifest` *path*  
Der Pfad zur Manifestdatei Die Manifestdatei wird während des Bündelungsvorgangs erstellt. Sie finden sie in dem Verzeichnis, das das Paket enthält.  
Erforderlich: Ja

`--url` *url*  
Veraltet. Verwenden Sie die Option `--region`, wenn Ihr Bucket nicht auf den Standort `EU` (nicht `eu-west-1`) beschränkt ist. Das Flag `--location` ist die einzige Möglichkeit, um auf diese spezifische Standortbeschränkung einzugehen.  
Die Amazon S3-Endpunkt-Service-URL  
Standard: `https://s3.amazonaws.com/`  
Erforderlich: Nein

`--region` *region*  
Die Region, die in der Anforderungssignatur für den S3-Ziel-Bucket verwendet werden soll  
+ Wenn der Bucket nicht vorhanden ist und Sie keine Region angeben, erstellt das Tool den Bucket ohne eine Standortbeschränkung (in `us-east-1`).
+ Wenn der Bucket nicht vorhanden ist und Sie eine Region angeben, erstellt das Tool den Bucket in der angegebenen Region.
+ Wenn der Bucket vorhanden ist und Sie keine Region angeben, verwendet das Tool den Standort des Buckets.
+ Wenn der Bucket vorhanden ist und Sie `us-east-1` als Region angeben, verwendet das Tool den tatsächlichen Standort des Buckets, ohne eine Fehlermeldung auszugeben, und vorhandene übereinstimmende Dateien werden überschrieben.
+ Wenn der Bucket vorhanden ist und Sie eine Region angeben, die nicht `us-east-1` ist und nicht mit dem tatsächlichen Standort des Buckets übereinstimmt, wird das Tool mit einem Fehler beendet.
Wenn Ihr Bucket auf den Standort `EU` (nicht `eu-west-1`) beschränkt ist, verwenden Sie das Flag `--location`. Das Flag `--location` ist die einzige Möglichkeit, um auf diese spezifische Standortbeschränkung einzugehen.  
Standard: `us-east-1`  
Erforderlich: Ist erforderlich, wenn Signaturversion 4 verwendet wird

`--sigv` *version*  
Die beim Signieren der Anforderung zu verwendende Signaturversion  
Zulässige Werte: `2` \$1 `4`  
Standard: `4`  
Erforderlich: Nein

`--acl` *acl*  
Die Richtlinie für die Access Control List des gebündelten Images  
Zulässige Werte: `public-read` \$1 `aws-exec-read`  
Standard: `aws-exec-read`  
Erforderlich: Nein

`-d, --directory` *directory*  
Das Verzeichnis, das die gebündelten AMI-Teile enthält  
Standard: Das Verzeichnis, das die Manifestdatei enthält (siehe die Option `-m`)  
Erforderlich: Nein

`--part` *part*  
Beginnt mit dem Hochladen des angegebenen Teils und aller folgenden Teile. Beispiel, `--part 04`.  
Erforderlich: Nein

`--retry`  
Versucht bei allen Amazon S3-Fehlern den Vorgang automatisch erneut, bis zu fünfmal pro Vorgang.  
Erforderlich: Nein

`--skipmanifest`  
Lädt das Manifest nicht hoch.  
Erforderlich: Nein

`--location` *location*  
Veraltet. Verwenden Sie die Option `--region`, wenn Ihr Bucket nicht auf den Standort `EU` (nicht `eu-west-1`) beschränkt ist. Das Flag `--location` ist die einzige Möglichkeit, um auf diese spezifische Standortbeschränkung einzugehen.  
Die Standortbeschränkung des Amazon S3-Ziel-Buckets. Wenn der Bucket vorhanden ist und Sie einen Standort angegeben haben, der nicht mit dem tatsächlichen Standort des Buckets übereinstimmt, wird das Tool mit einem Fehler beendet. Wenn der Bucket vorhanden ist und Sie keinen Standort angeben, verwendet das Tool den Standort des Buckets. Wenn der Bucket nicht vorhanden ist und Sie einen Standort angeben, erstellt das Tool den Bucket am angegebenen Standort. Wenn der Bucket nicht vorhanden ist und Sie keinen Standort angeben, erstellt das Tool den Bucket ohne eine Standortbeschränkung (in `us-east-1`).   
Standard: Wenn `--region` angegeben ist, wird der Standort auf die angegebene Region festgelegt. Wenn `--region` nicht angegeben ist, ist der Standort standardmäßig `us-east-1`.  
Erforderlich: Nein

### Ausgabe
<a name="upload-bundle-output"></a>

Amazon EC2 zeigt Statusmeldungen an, die die Phasen und den Status des Upload-Vorgangs angeben.

### Beispiel
<a name="upload-bundle-response"></a>

Dieses Beispiel lädt das Paket hoch, das vom `image.manifest.xml`-Manifest festgelegt wurde.

```
[ec2-user ~]$ ec2-upload-bundle -b amzn-s3-demo-bucket/bundles/bundle_name -m image.manifest.xml -a your_access_key_id -s your_secret_access_key
Creating bucket...
Uploading bundled image parts to the S3 bucket amzn-s3-demo-bucket ...
Uploaded image.part.00
Uploaded image.part.01
Uploaded image.part.02
Uploaded image.part.03
Uploaded image.part.04
Uploaded image.part.05
Uploaded image.part.06
Uploaded image.part.07
Uploaded image.part.08
Uploaded image.part.09
Uploaded image.part.10
Uploaded image.part.11
Uploaded image.part.12
Uploaded image.part.13
Uploaded image.part.14
Uploading manifest ...
Uploaded manifest.
Bundle upload completed.
```

## Allgemeine Optionen für AMI-Tools
<a name="common-args-ami"></a>

Die meisten AMI-Tools akzeptieren die folgenden optionalen Parameter.

`--help, -h`  
Zeigt die Hilfenachricht an.

`--version`  
Zeigt die Version und das Copyright an.

`--manual`  
Zeigt die manuelle Eingabe an.

`--batch`  
Wird im Stapelmodus ausgeführt und unterdrückt interaktive Eingabeaufforderungen.

`--debug`  
Zeigt Informationen an, die bei der Problembehebung hilfreich sind.

# 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
   ```