

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.

# Schritt 3: Lade dein „Hallo, Welt\$1“ hoch Anwendung auf Amazon S3
<a name="tutorials-windows-upload-application"></a>

Jetzt bereiten Sie Ihre Quellinhalte vor und laden sie an einen Ort hoch, von dem aus Sie sie bereitstellen CodeDeploy können. Die folgenden Anweisungen zeigen Ihnen, wie Sie einen Amazon S3 S3-Bucket bereitstellen, die Dateien der Anwendungsrevision für den Bucket vorbereiten, die Dateien der Revision bündeln und dann die Revision in den Bucket übertragen.

**Anmerkung**  
Obwohl dies in diesem Tutorial nicht behandelt wird, können Sie es verwenden, CodeDeploy um Anwendungen von GitHub Repositorys auf Instances bereitzustellen. Weitere Informationen finden Sie unter [Integrieren CodeDeploy mit GitHub](integrations-partners-github.md).

**Topics**
+ [Bereitstellen eines Amazon S3 S3-Buckets](#tutorials-windows-upload-application-create-s3-bucket)
+ [Bereiten Sie die Dateien der Anwendung für den Bucket vor](#tutorials-windows-upload-application-prepare-application-files)
+ [Bündeln Sie die Dateien der Anwendung in einer einzigen Archivdatei und übertragen Sie die Archivdatei per Push](#tutorials-windows-upload-application-bundle-and-push-archive)

## Bereitstellen eines Amazon S3 S3-Buckets
<a name="tutorials-windows-upload-application-create-s3-bucket"></a>

Erstellen Sie einen Speichercontainer oder *Bucket* in Amazon S3 — oder verwenden Sie einen vorhandenen Bucket. Stellen Sie sicher, dass Sie die Revision in den Bucket hochladen können und dass Amazon EC2 EC2-Instances, die in Bereitstellungen verwendet werden, die Revision aus dem Bucket herunterladen können.

Sie können die AWS CLI, die Amazon S3-Konsole oder Amazon S3 verwenden, APIs um einen Amazon S3 S3-Bucket zu erstellen. Sobald Sie den Bucket erstellt haben, müssen Sie ihm und Ihrem CodeDeploy-Benutzer Zugriffsberechtigungen erteilen.

**Anmerkung**  
Bucket-Namen müssen in Amazon S3 für alle AWS Konten eindeutig sein. Falls Sie **amzn-s3-demo-bucket** nicht verwenden können: Versuchen Sie es mit einem anderen Bucket-Namen wie **amzn-s3-demo-bucket**, gefolgt von einem Bindestrich und Ihren Initialen oder einem anderen eindeutigen Bezeichner. Anschließend müssen Sie überall im Tutorial **amzn-s3-demo-bucket** durch Ihren Bucket-Namen ersetzen.  
Der Amazon S3 S3-Bucket muss in derselben AWS Region erstellt werden, in der Ihre Amazon EC2 EC2-Ziel-Instances gestartet werden. Wenn Sie den Bucket beispielsweise in der Region USA Ost (Nord-Virginia) erstellen, müssen Ihre Amazon EC2 EC2-Ziel-Instances in der Region USA Ost (Nord-Virginia) gestartet werden.

**Topics**
+ [So erstellen Sie einen Amazon S3 S3-Bucket (CLI)](#tutorials-windows-upload-application-create-s3-bucket-cli)
+ [So erstellen Sie einen Amazon S3 S3-Bucket (Konsole)](#tutorials-windows-upload-application-create-s3-bucket-console)
+ [Erteilen Sie Berechtigungen für den Amazon S3 S3-Bucket und Ihr AWS Konto](#tutorials-windows-upload-application-create-s3-bucket-grant-permission)

### So erstellen Sie einen Amazon S3 S3-Bucket (CLI)
<a name="tutorials-windows-upload-application-create-s3-bucket-cli"></a>

Rufen Sie den **mb** Befehl auf, um einen Amazon S3 S3-Bucket mit dem Namen zu erstellen**amzn-s3-demo-bucket**:

```
aws s3 mb s3://amzn-s3-demo-bucket --region region
```

### So erstellen Sie einen Amazon S3 S3-Bucket (Konsole)
<a name="tutorials-windows-upload-application-create-s3-bucket-console"></a>

1. Öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie in der Amazon S3 S3-Konsole **Create Bucket** aus.

1. Geben Sie im Feld **Bucket name (Bucket-Name)** einen Namen für den Bucket ein.

1. Wählen Sie aus der Liste **Region** die Zielregion aus, und klicken Sie auf **Create (Erstellen)**.

### Erteilen Sie Berechtigungen für den Amazon S3 S3-Bucket und Ihr AWS Konto
<a name="tutorials-windows-upload-application-create-s3-bucket-grant-permission"></a>

Sie müssen über Berechtigungen zum Hochladen in den Amazon S3 S3-Bucket verfügen. Sie können diese Berechtigungen über eine Amazon S3 S3-Bucket-Richtlinie angeben. In der folgenden Amazon S3 S3-Bucket-Richtlinie ermöglicht die Verwendung des Platzhalterzeichens (\$1) dem AWS Konto `111122223333` beispielsweise das Hochladen von Dateien in ein beliebiges Verzeichnis im Amazon S3 S3-Bucket mit dem Namen`amzn-s3-demo-bucket`:

```
{
    "Statement": [
        {
            "Action": [
                "s3:PutObject"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Principal": {
                "AWS": [
                    "111122223333"
                ]
            }
        }
    ]
}
```

Informationen zur Anzeige Ihrer AWS Konto-ID [finden Sie unter Ihre AWS Konto-ID finden](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html#FindingYourAWSId).

Jetzt ist ein guter Zeitpunkt, um zu überprüfen, ob der Amazon S3 S3-Bucket Download-Anfragen von jeder teilnehmenden Amazon EC2 EC2-Instance zulässt. Sie können dies über eine Amazon S3 S3-Bucket-Richtlinie angeben. In der folgenden Amazon S3 S3-Bucket-Richtlinie ermöglicht die Verwendung des Platzhalterzeichens (\$1) beispielsweise jeder Amazon EC2 EC2-Instance mit einem angehängten IAM-Instance-Profil, das den ARN `arn:aws:iam::444455556666:role/CodeDeployDemo` enthält, Dateien aus einem beliebigen Verzeichnis im Amazon S3 S3-Bucket mit dem Namen herunterzuladen: `amzn-s3-demo-bucket`

```
{
    "Statement": [
        {
            "Action": [
                "s3:Get*",
                "s3:List*"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::444455556666:role/CodeDeployDemo"
                ]
            }
        }
    ]
}
```

Informationen zum Generieren und Anhängen einer Amazon S3 S3-Bucket-Richtlinie finden Sie unter [Beispiele für Bucket-Richtlinien](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).

Der CodeDeploy Administratorbenutzer, in dem Sie erstellt haben, [Schritt 1: Einrichtung](getting-started-setting-up.md) muss auch über die Berechtigung verfügen, die Revision in den Amazon S3 S3-Bucket hochzuladen. Eine Möglichkeit, dies zu spezifizieren, ist eine IAM-Richtlinie, die Sie dem Berechtigungssatz des Benutzers hinzufügen, oder einer IAM-Rolle (die Sie dem Benutzer zuweisen). Die folgende IAM-Richtlinie ermöglicht es dem Benutzer, Revisionen an einer beliebigen Stelle im Amazon S3 S3-Bucket mit dem Namen hochzuladen: `amzn-s3-demo-bucket`

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	   
  "Statement":[
    {
      "Effect":"Allow",
      "Action":["s3:PutObject"],
      "Resource":"arn:aws:s3:::amzn-s3-demo-bucket/*"
    }
  ]
}
```

------

*Informationen zum Erstellen einer IAM-Richtlinie finden Sie unter [Erstellen von IAM-Richtlinien im IAM-Benutzerhandbuch](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html).* *Informationen zum Hinzufügen einer Richtlinie zu einem Berechtigungssatz finden Sie unter [Erstellen eines Berechtigungssatzes](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtocreatepermissionset.html) im AWS IAM Identity Center Benutzerhandbuch.*

## Bereiten Sie die Dateien der Anwendung für den Bucket vor
<a name="tutorials-windows-upload-application-prepare-application-files"></a>

Stellen Sie sicher, dass die Webseite, die AppSpec Datei und das Skript auf Ihrem Entwicklungscomputer wie folgt organisiert sind:

```
c:\
  |-- temp\
        |--HelloWorldApp\
             |-- appspec.yml
             |-- before-install.bat
             |-- index.html
```

## Bündeln Sie die Dateien der Anwendung in einer einzigen Archivdatei und übertragen Sie die Archivdatei per Push
<a name="tutorials-windows-upload-application-bundle-and-push-archive"></a>

Bündeln Sie die Dateien in einer Archivdatei (auch Anwendungs*revision* genannt).

**Anmerkung**  
Möglicherweise werden Ihnen für die Speicherung von Objekten in einem Bucket und die Übertragung von Anwendungsrevisionen in einen oder aus einem Bucket Gebühren berechnet. Weitere Informationen finden Sie unter [Amazon S3 – Preise](https://aws.amazon.com/s3/pricing/). 

1. Wechseln Sie auf dem Entwicklungscomputer in den Ordner, in dem die Dateien abgelegt sind: 

   ```
   cd c:\temp\HelloWorldApp
   ```
**Anmerkung**  
Wenn Sie nicht in diesen Ordner wechseln, startet die Dateibündelung im jeweils aktuellen Ordner. Beispiel: Wenn der aktuelle Ordner `c:\temp` statt `c:\temp\HelloWorldApp` ist, beginnt der Bündelvorgang mit den Dateien und Unterordnern im Ordner `c:\temp`, in dem u. U. mehr enthalten ist als nur der `HelloWorldApp`-Unterordner.

1. Rufen Sie den **create-application** Befehl auf, um eine neue Anwendung **HelloWorld\$1App** mit dem folgenden Namen zu registrieren CodeDeploy:

   ```
   aws deploy create-application --application-name HelloWorld_App
   ```

1. Rufen Sie den Befehl CodeDeploy [push](https://docs.aws.amazon.com/cli/latest/reference/deploy/push.html) auf, um die Dateien zu bündeln, die Revisionen auf Amazon S3 hochzuladen und Informationen CodeDeploy über die hochgeladene Version zu registrieren — alles in einer Aktion. 

   ```
   aws deploy push --application-name HelloWorld_App --s3-location s3://amzn-s3-demo-bucket/HelloWorld_App.zip --ignore-hidden-files
   ```

   Dieser Befehl bündelt die Dateien aus dem aktuellen Verzeichnis (mit Ausnahme aller versteckten Dateien) in einer einzigen Archivdatei mit dem Namen`HelloWorld_App.zip`, lädt die Revision in den **amzn-s3-demo-bucket** Bucket hoch und registriert Informationen CodeDeploy über die hochgeladene Revision.