

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.

# QuickStart: Stellen Sie eine Python-Anwendung auf Elastic Beanstalk bereit
<a name="python-quickstart"></a>

Dieses QuickStart Tutorial führt Sie durch den Prozess der Erstellung einer Python-Anwendung und deren Bereitstellung in einer AWS Elastic Beanstalk Umgebung.

**Nicht für Produktionszwecke**  
Beispiele dienen nur zur Veranschaulichung. Verwenden Sie keine Beispielanwendungen in der Produktion.

**Topics**
+ [Ihre AWS Konto](#python-quickstart-aws-account)
+ [Voraussetzungen](#python-quickstart-prereq)
+ [Schritt 1: Erstellen Sie eine Python-Anwendung](#python-quickstart-create-app)
+ [Schritt 2: Führen Sie Ihre Anwendung lokal aus](#python-quickstart-run-local)
+ [Schritt 3: Stellen Sie Ihre Python-Anwendung mit der EB CLI bereit](#python-quickstart-deploy)
+ [Schritt 4: Führen Sie Ihre Anwendung auf Elastic Beanstalk aus](#python-quickstart-run-eb-ap)
+ [Schritt 5: Bereinigen](#go-tutorial-cleanup)
+ [AWS Ressourcen für Ihre Anwendung](#python-quickstart-eb-resources)
+ [Nächste Schritte](#python-quickstart-next-steps)
+ [Bereitstellung mit der Elastic Beanstalk Beanstalk-Konsole](#python-quickstart-console)

## Ihre AWS Konto
<a name="python-quickstart-aws-account"></a>

Wenn Sie noch kein AWS Kunde sind, müssen Sie ein AWS Konto erstellen. Wenn Sie sich registrieren, können Sie auf Elastic Beanstalk und andere AWS Dienste zugreifen, die Sie benötigen.

Wenn Sie bereits ein AWS Konto haben, können Sie weitermachen zu. [Voraussetzungen](#python-quickstart-prereq)

### Erstellen Sie ein AWS Konto
<a name="python-quickstart-aws-account-procedure"></a>

#### Melde dich an für ein AWS-Konto
<a name="sign-up-for-aws"></a>

Um loszulegen AWS, benötigen Sie eine AWS-Konto. Informationen zum Erstellen eines AWS-Konto finden Sie unter [Erste Schritte mit einem AWS-Konto](https://docs.aws.amazon.com//accounts/latest/reference/getting-started.html) im *AWS -Kontenverwaltung Referenzhandbuch*.

## Voraussetzungen
<a name="python-quickstart-prereq"></a>

Um die Verfahren in diesem Leitfaden zu befolgen, benötigen Sie ein Befehlszeilen-Terminal oder eine Shell für die Ausführung der Befehle. Befehle werden ggf. in Auflistungen mit einem vorangestellten Eingabeaufforderungssymbol ($) und dem Namen des aktuellen Verzeichnisses angezeigt.

```
~/eb-project$ this is a command
this is output
```

In Linux und macOS können Sie Ihren bevorzugten Shell- und Paket-Manager verwenden. Unter Windows können Sie [das Windows-Subsystem für Linux installieren](https://docs.microsoft.com/en-us/windows/wsl/install-win10), um eine Windows-integrated Version von Ubuntu und Bash zu erhalten.

### EB-CLI
<a name="python-quickstart-prereq.ebcli"></a>

Dieses Tutorial verwendet die Befehlszeilenschnittstelle Elastic Beanstalk Command Line Interface (EB CLI). Detaillierte Anweisungen zum Installieren und Konfigurieren der EB CLI finden Sie unter [EB CLI mit Setup-Skript installieren (empfohlen)](eb-cli3.md#eb-cli3-install) und [Konfigurieren der EB CLI](eb-cli3-configuration.md).

### Python- und Flask-Framework
<a name="python-quickstart-prereq.runtime"></a>

Vergewissern Sie sich, dass Sie eine funktionierende Python-Version `pip` installiert haben, indem Sie die folgenden Befehle ausführen.

```
~$ python3 --version
Python 3.N.N
>~$ python3 -m pip --version
pip X.Y.Z from ... (python 3.N.N)
```

Wenn einer der vorherigen Befehle „*Python wurde nicht gefunden*“ zurückgibt, führen Sie die folgenden Befehle aus, die `python` anstelle von verwenden`python3`. Die Einrichtung von Aliasnamen und symbolischen Links kann je nach Betriebssystem und individuellen Anpassungen variieren, sodass der `python3` Befehl auf Ihrem Computer möglicherweise nicht funktioniert.

```
~$ python --version
Python 3.N.N
>~$ python -m pip --version
pip X.Y.Z from ... (python 3.N.N)
```

Wenn Sie Python nicht auf Ihrem lokalen Computer installiert haben, können Sie es von der [Python-Downloadseite](https://www.python.org/downloads/) auf der Python-Website herunterladen. Eine Liste der von Elastic Beanstalk unterstützten Python-Sprachversionen finden Sie unter [Unterstützte *AWS Elastic Beanstalk Python-Plattformen* im Plattformhandbuch](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.python). Die Python-Download-Website bietet einen Link zum *Python Developer's Guide*, in dem Sie Installations- und Einrichtungsanweisungen finden.

**Anmerkung**  
Das `pip` Python-Paket ist standardmäßig in Python 3.4 oder höher enthalten.

Wenn Ihre Ausgabe darauf hinweist, dass Sie eine unterstützte Version von Python haben, aber nicht`pip`, finden Sie weitere Informationen auf der [Installationsseite](https://pip.pypa.io/en/stable/installation/) auf der *pip.pypa.io-Website*. Es bietet Anleitungen zur Installation von Pip in einer Python-Umgebung, in der es nicht vorhanden ist.



Bestätigen Sie, ob Flask installiert ist, indem Sie den folgenden Befehl ausführen:

```
~$ pip list | grep Flask
```

Wenn Flask nicht installiert ist, können Sie es mit dem folgenden Befehl installieren:

```
~$ pip install Flask
```

## Schritt 1: Erstellen Sie eine Python-Anwendung
<a name="python-quickstart-create-app"></a>

Erstellen Sie ein Projektverzeichnis.

```
~$ mkdir eb-python
~$ cd eb-python
```

Erstellen Sie ein Beispiel für „Hello Elastic Beanstalk\!“ Python-Anwendung, die Sie mit Elastic Beanstalk bereitstellen.

Erstellen Sie eine Textdatei mit dem Namen `application.py` in dem Verzeichnis, das Sie gerade erstellt haben, mit dem folgenden Inhalt.

**Example `~/eb- .py python/application`**  

```
from flask import Flask
application = Flask(__name__)

@application.route('/')
def hello_elastic_beanstalk():
        return 'Hello Elastic Beanstalk!'
```

Erstellen Sie eine Textdatei `requirements.txt` mit dem Namen der folgenden Zeile. Diese Datei enthält die erforderlichen `pip` Pakete, damit die Anwendung ausgeführt werden kann.

**Example `~/eb- .txt python/requirements`**  

```
Flask
```

## Schritt 2: Führen Sie Ihre Anwendung lokal aus
<a name="python-quickstart-run-local"></a>

Führen Sie den folgenden Befehl aus, um Ihre Anwendung lokal auszuführen.

```
~/eb-python$ export FLASK_APP=application.py && flask run --port 5000
```

Sie sollten eine Ausgabe sehen, die der folgenden ähnelt

```
Serving Flask app 'application.py'
Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
Running on http://127.0.0.1:5000
Press CTRL+C to quit
127.0.0.1 - - [01/Jan/1970 00:00:00] "GET / HTTP/1.1" 200 -
```

Navigieren Sie `http://localhost:5000` in Ihrem Webbrowser zu. Der Webbrowser sollte „Hello Elastic Beanstalk\!“ anzeigen.

## Schritt 3: Stellen Sie Ihre Python-Anwendung mit der EB CLI bereit
<a name="python-quickstart-deploy"></a>

Führen Sie die folgenden Befehle aus, um eine Elastic Beanstalk Beanstalk-Umgebung für diese Anwendung zu erstellen.

 

**Um eine Umgebung zu erstellen und Ihre Python-Anwendung bereitzustellen**

1. Initialisieren Sie mit dem Befehl **eb init** das EB CLI-Repository.

   ```
   ~/eb-python$ eb init -p python-3.9 python-tutorial --region {{us-east-2}}
   ```

   Dieser Befehl erstellt eine Anwendung mit dem Namen `python-tutorial` und konfiguriert Ihr lokales Repository so, dass Umgebungen mit der bereitgestellten Python-Plattformversion erstellt werden.

1. (Optional) Führen Sie **eb init** erneut aus, um ein Standardschlüsselpaar für die SSH-Verbindung zur EC2-Instance (auf der die Anwendung ausgeführt wird) zu konfigurieren.

   ```
   ~/eb-python$ eb init
   Do you want to set up SSH for your instances?
   (y/n): y
   Select a keypair.
   1) my-keypair
   2) [ Create new KeyPair ]
   ```

   Wählen Sie ein Schlüsselpaar aus (sofern vorhanden) oder befolgen Sie die Anweisungen, um ein Schlüsselpaar zu erstellen. Falls keine Anweisungen angezeigt werden oder Sie die Einstellungen später ändern möchten, führen Sie **eb init -i** aus.

1. Verwenden Sie **eb create**, um eine Umgebung zu erstellen und die Anwendung darin bereitzustellen. Elastic Beanstalk erstellt automatisch eine Zip-Datei für Ihre Anwendung und startet sie auf Port 5000.

   ```
   ~/eb-python$ eb create python-env
   ```

   Es dauert etwa fünf Minuten, bis Elastic Beanstalk Ihre Umgebung erstellt hat.

## Schritt 4: Führen Sie Ihre Anwendung auf Elastic Beanstalk aus
<a name="python-quickstart-run-eb-ap"></a>

Wenn der Prozess zur Erstellung Ihrer Umgebung abgeschlossen ist, öffnen Sie Ihre Website mit. **eb open**

```
~/eb-python$ eb open
```

Herzlichen Glückwunsch\! Sie haben eine Python-Anwendung mit Elastic Beanstalk bereitgestellt\! Es wird ein Browserfenster mit dem für die Anwendung erstellten Domainnamen geöffnet.

## Schritt 5: Bereinigen
<a name="go-tutorial-cleanup"></a>

Sie können Ihre Umgebung beenden, wenn Sie mit der Arbeit an Ihrer Anwendung fertig sind. Elastic Beanstalk beendet alle AWS Ressourcen, die mit Ihrer Umgebung verknüpft sind.

Führen Sie den folgenden Befehl aus, um Ihre Elastic Beanstalk Beanstalk-Umgebung mit der EB-CLI zu beenden.

```
~/eb-python$ eb terminate
```

## AWS Ressourcen für Ihre Anwendung
<a name="python-quickstart-eb-resources"></a>

Sie haben gerade eine Einzelinstanzanwendung erstellt. Es dient als einfache Beispielanwendung mit einer einzigen EC2-Instance, sodass kein Lastenausgleich oder auto Skalierung erforderlich sind. Für Einzelinstanzanwendungen erstellt Elastic Beanstalk die folgenden Ressourcen: AWS 
+ **EC2 instance (EC2-Instance)** – Eine virtuelle Amazon EC2-Maschine zum Ausführen von Webanwendungen auf der von Ihnen ausgewählten Plattform.

  Jede Plattform führt eine andere Gruppe von Software, Konfigurationsdateien und Skripts zur Unterstützung einer bestimmten Sprachversion, eines Framework, Webcontainers oder einer Kombination daraus aus. Die meisten Plattformen verwenden entweder Apache oder nginx als Reverse-Proxy, der Web-Datenverkehr vor Ihrer Web-App verarbeitet, Anforderungen an sie weiterleitet, statische Komponenten verarbeitet und Zugriffs- und Fehlerprotokolle generiert.
+ **Instance security group (Instance-Sicherheitsgruppe)** – Eine Amazon EC2-Sicherheitsgruppe, die so konfiguriert ist, dass eingehender Datenverkehr auf Port 80 zugelassen wird. Mit dieser Ressource kann HTTP-Datenverkehr vom Load Balancer die EC2-Instance mit Ihrer Web-App erreichen. Standardmäßig ist Datenverkehr ist auf anderen Ports nicht zulässig.
+ **Amazon S3-Bucket** – Ein Speicherort für Ihren Quellcode, Protokolle und andere Artefakte, die bei der Verwendung von Elastic Beanstalk erstellt werden.
+ ** CloudWatch Amazon-Alarme** — Zwei CloudWatch Alarme, die die Auslastung der Instances in Ihrer Umgebung überwachen und ausgelöst werden, wenn die Last zu hoch oder zu niedrig ist. Wenn ein Alarm ausgelöst wird, wird Ihre Auto Scaling-Gruppe nach oben oder nach unten skaliert.
+ **CloudFormation stack** — Elastic Beanstalk verwendet CloudFormation , um die Ressourcen in Ihrer Umgebung zu starten und Konfigurationsänderungen zu propagieren. Die Ressourcen werden in einer Vorlage definiert, die Sie in der [CloudFormation -Konsole](https://console.aws.amazon.com/cloudformation) anzeigen können.
+  **Domainname** *— Ein Domainname, der in der Form an Ihre Web-App weitergeleitet wird. {{subdomain}} {{region}}.elasticbeanstalk.com*. 

Elastic Beanstalk verwaltet all diese Ressourcen. Wenn Sie die Umgebung beenden, werden alle darin enthaltenen Ressourcen von Elastic Beanstalk beendet.

## Nächste Schritte
<a name="python-quickstart-next-steps"></a>

Nachdem Sie eine Umgebung erstellt haben, in der eine Anwendung ausgeführt wird, können Sie jederzeit eine neue Version der Anwendung oder eine andere Anwendung bereitstellen. Das Bereitstellen einer neuen Anwendungsversion geht sehr schnell, da keine EC2-Instances bereitgestellt oder neu gestartet werden müssen. Sie können Ihre neue Umgebung auch mit der Elastic Beanstalk Beanstalk-Konsole erkunden. Ausführliche Schritte finden [Sie unter Erkunden Sie Ihre Umgebung](GettingStarted.md#GettingStarted.Explore) im Kapitel *Erste Schritte* dieses Handbuchs.

**Probieren Sie weitere Tutorials aus**  
Wenn Sie andere Tutorials mit anderen Beispielanwendungen ausprobieren möchten, sehen Sie sich die folgenden Tutorials an:  
[Bereitstellen einer Flask-Anwendung in Elastic Beanstalk](create-deploy-python-flask.md)
[Bereitstellen einer Django-Anwendung in Elastic Beanstalk](create-deploy-python-django.md)

Nachdem Sie eine oder zwei Beispielanwendungen bereitgestellt haben und bereit sind, Python-Anwendungen lokal zu entwickeln und auszuführen, finden Sie weitere Informationen unter[Einrichtung Ihrer Python-Entwicklungsumgebung für Elastic Beanstalk](python-development-environment.md). 

## Bereitstellung mit der Elastic Beanstalk Beanstalk-Konsole
<a name="python-quickstart-console"></a>

Sie können die Beispielanwendung auch mit der Elastic Beanstalk Beanstalk-Konsole starten. Ausführliche Schritte finden Sie unter [Erstellen einer Beispielanwendung](GettingStarted.md#GettingStarted.CreateApp) im Kapitel *Erste Schritte* dieses Handbuchs.