

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.

# Tutorial: Senden einer Nachricht an eine Amazon-SQS-Warteschlange aus Amazon Virtual Private Cloud
<a name="sqs-sending-messages-from-vpc"></a>

Dieses Tutorial zeigt Ihnen, wie Sie Nachrichten über ein sicheres, privates Netzwerk an eine Amazon SQS SQS-Warteschlange senden. Das Netzwerk umfasst:
+ Eine VPC, die eine Amazon EC2 EC2-Instance enthält.
+ Ein VPC-Schnittstellen-Endpunkt, der es der Amazon EC2 EC2-Instance ermöglicht, sich mit Amazon SQS zu verbinden, ohne das öffentliche Internet zu nutzen.

Selbst in einem vollständig privaten Netzwerk können Sie eine Verbindung zur Amazon EC2 EC2-Instance herstellen und Nachrichten an die Amazon SQS SQS-Warteschlange senden. Weitere Informationen finden Sie unter [Endpunkte von Amazon Virtual Private Cloud für Amazon SQS](sqs-internetwork-traffic-privacy.md#sqs-vpc-endpoints).

**Wichtig**  
Sie können Amazon Virtual Private Cloud nur mit HTTPS-Amazon-SQS-Endpunkten verwenden.
Wenn Sie Amazon SQS für das Senden von Nachrichten von Amazon VPC konfigurieren, müssen Sie privates DNS aktivieren und Endpunkte im Format `sqs.{{us-east-2}}.amazonaws.com` oder `sqs.{{us-east-2}}.api.aws` für den Dual-Stack-Endpunkt angeben.
Amazon SQS unterstützt auch FIPS-Endpunkte PrivateLink mithilfe des `com.amazonaws.region.sqs-fips` Endpoint Service. Sie können im folgenden Format eine Verbindung zu FIPS-Endpunkten herstellen. `sqs-fips.region.amazonaws.com`
Bei Verwendung des Dual-Stack-Endpunkts in Amazon Virtual Private Cloud werden Anfragen mit IPv4 und IPv6 gesendet.
Ein privates DNS unterstützt keine Legacy-Endpunkte wie z. B. `queue.amazonaws.com` oder `{{us-east-2}}.queue.amazonaws.com`.

## Schritt 1: Erstellen eines Amazon EC2-Schlüsselpaares
<a name="create-ec2-key-pair"></a>

Ein *Schlüsselpaar* ermöglicht Ihnen die Verbindung mit einer EC2-Instance. Es besteht aus einem öffentlichen Schlüssel, mit dem Ihre Anmeldeinformationen verschlüsselt werden, und einem privaten Schlüssel, mit dem sie entschlüsselt werden.

1. Melden Sie sich bei der [Amazon-EC2-Konsole](https://console.aws.amazon.com/ec2/) an.

1. Klicken Sie im Navigationsmenü unter **Network & Security (Netzwerk und Sicherheit)** auf **Key Pairs (Schlüsselpaare)**.

1. Wählen Sie **Create Key Pair** aus.

1. Geben Sie im Dialogfeld **Create Key Pair (Schlüsselpaar erstellen)** im Feld **Key pair name (Schlüsselpaarname)** als Namen `SQS-VPCE-Tutorial-Key-Pair` ein und klicken Sie auf **Create (Erstellen)**.

1. Ihr Browser lädt die private Schlüsseldatei `SQS-VPCE-Tutorial-Key-Pair.pem` automatisch herunter. 
**Wichtig**  
Speichern Sie diese Datei an einem sicheren Ort. EC2 generiert eine `.pem`-Datei für dasselbe Schlüsselpaar kein zweites Mal.

1. Um einem SSH-Client das Herstellen einer Verbindung mit Ihrer EC2-Instance zu ermöglichen, legen Sie die Berechtigungen für Ihre private Schlüsseldatei so fest, dass nur Ihrem Benutzer Leseberechtigungen für sie gewährt werden, zum Beispiel:

   ```
   chmod 400 SQS-VPCE-Tutorial-Key-Pair.pem
   ```

## Schritt 2: Ressourcen erstellen AWS
<a name="create-aws-resources"></a>

Um die erforderliche Infrastruktur einzurichten, müssen Sie eine CloudFormation *Vorlage* verwenden, bei der es sich um einen Plan für die Erstellung eines *Stacks* handelt, der aus AWS Ressourcen wie Amazon EC2 EC2-Instances und Amazon SQS SQS-Warteschlangen besteht.

Der Stack für dieses Tutorial enthält die folgenden Ressourcen:
+ Eine VPC und die zugehörigen Netzwerkressourcen, einschließlich eines Subnetzes, einer Sicherheitsgruppe, eines Internet-Gateways und einer Routing-Tabelle.
+ Eine im VPC-Subnetz gestartete Amazon-EC2-Instance
+ Eine Amazon-SQS-Warteschlange

 

1. Laden Sie die Vorlage mit dem CloudFormation Namen von herunter. [https://github.com/aws-samples/amazon-sqs-samples/blob/master/templates/SQS-VPCE-Tutorial-CloudFormation.yaml](https://github.com/aws-samples/amazon-sqs-samples/blob/master/templates/SQS-VPCE-Tutorial-CloudFormation.yaml)GitHub

1. Melden Sie sich bei der [CloudFormation -Konsole](https://console.aws.amazon.com/cloudformation/) an.

1. Wählen Sie **Stack erstellen** aus.

1. Wählen Sie auf der Seite **Select Template (Vorlage auswählen)** die Option **Upload a template to Amazon S3 (Eine Vorlage zu Amazon S3 hochladen)**. Wählen Sie dann die Datei `SQS-VPCE-SQS-Tutorial-CloudFormation.yaml` aus und klicken Sie auf **Next (Weiter)**.

1. Führen Sie auf der Seite **Specify DB Details (Festlegen von DB-Detail)** die folgenden Schritte aus:

   1. Geben Sie unter **Stack name (Stack-Name)** `SQS-VPCE-Tutorial-Stack` ein.

   1. Wählen Sie für **KeyName****SQS-VPCE-Tutorial-Key-Pair**.

   1. Wählen Sie **Weiter** aus.

1. Wählen Sie auf der Seite **Optionen** **Weiter** aus.

1. Wählen Sie auf der Seite **Überprüfen** im Abschnitt **Funktionen** die Option **Ich** bestätige, dass möglicherweise IAM-Ressourcen mit benutzerdefinierten Namen erstellt werden. AWS CloudFormation , und wählen Sie dann **Erstellen** aus.

CloudFormation beginnt mit der Erstellung des Stacks und zeigt den Status **CREATE\_IN\_PROGRESS** an. Wenn der Prozess abgeschlossen ist, zeigt CloudFormation den Status **CREATE\_COMPLETE** an.

## Schritt 3: Bestätigen, dass Ihre EC2-Instance nicht öffentlich zugänglich ist
<a name="confirm-ec2-instance-is-not-publicly-accessible"></a>

Ihre CloudFormation Vorlage startet eine EC2-Instance, die `SQS-VPCE-Tutorial-EC2-Instance` in Ihre VPC benannt ist. Diese EC2-Instance lässt keinen ausgehenden Datenverkehr zu und kann keine Nachrichten an Amazon SQS senden. Um dies zu überprüfen, müssen Sie eine Verbindung mit der Instance herstellen. Versuchen Sie dann, eine Verbindung mit einem öffentlichen Endpunkt herzustellen und eine Nachricht an Amazon SQS zu senden.

1. Melden Sie sich bei der [Amazon-EC2-Konsole](https://console.aws.amazon.com/ec2/) an.

1. Wählen Sie im Navigationsmenü unter **Instances** die Option **Instances**.

1. Wählen Sie **SQS-VPCE** - aus. Tutorial-EC2Instance

1. Kopieren Sie den Hostnamen unter **Public DNS**, z. B. **ec2-203-0-113-0.us-west-2.compute.amazonaws.com**.

1. Stellen Sie über das Verzeichnis, in dem sich [das Schlüsselpaar befindet, das Sie zuvor erstellt haben](#create-ec2-key-pair), mit dem folgenden Befehl eine Verbindung mit der Instance her, zum Beispiel:

   ```
   ssh -i SQS-VPCE-Tutorial-Key-Pair.pem ec2-user@{{ec2-203-0-113-0.us-east-2.compute.amazonaws.com}}
   ```

1. Versuchen Sie, eine Verbindung mit einem öffentlichen Endpunkt herzustellen, zum Beispiel:

   ```
   ping amazon.com
   ```

   Der Verbindungsversuch schlägt erwartungsgemäß fehl.

1. Melden Sie sich bei der [Amazon-SQS-Konsole](https://console.aws.amazon.com/sqs/) an.

1. **Wählen Sie aus der Liste der Warteschlangen die Warteschlange aus, die mit Ihrer Vorlage erstellt wurde, z. B. VPCE-SQS-Tutorial-Stack- -1 IJK. CloudFormation CFQueue ABCDEFGH2**

1. Kopieren Sie in der Tabelle **Details die URL, z. B. **https://sqs.us-east-2.amazonaws.com/123456789012/****

1. Versuchen Sie, über Ihre EC2-Instance mit dem folgenden Befehl eine Nachricht an die Warteschlange zu veröffentlichen, zum Beispiel:

   ```
   aws sqs send-message --region {{us-east-2}} --endpoint-url {{https://sqs.us-east-2.amazonaws.com/}} --queue-url {{https://sqs.us-east-2.amazonaws.com/123456789012/}} --message-body "Hello from Amazon SQS."
   ```

   Der Sendeversuch schlägt erwartungsgemäß fehl.
**Wichtig**  
Später, wenn Sie einen VPC-Endpunkt für Amazon SQS erstellen, wird Ihr Sendeversuch erfolgreich sein.

## Schritt 4: Erstellen eines Amazon-VPC-Endpunkts für Amazon SQS
<a name="create-vpc-endpoint-for-sqs"></a>

Zum Herstellen einer Verbindung Ihrer VPC mit Amazon SQS müssen Sie einen Schnittstellen-VPC-Endpunkt definieren. Nachdem Sie den Endpunkt hinzugefügt haben, können Sie die Amazon-SQS-API von der EC2-Instance in Ihrer VPC verwenden. Auf diese Weise können Sie Nachrichten an eine Warteschlange innerhalb des AWS Netzwerks senden, ohne das öffentliche Internet zu überqueren.

**Anmerkung**  
Die EC2-Instance hat immer noch keinen Zugriff auf andere AWS Dienste und Endpunkte im Internet.

1. Melden Sie sich bei der [Amazon VPC-Konsole](https://console.aws.amazon.com/vpc/) an.

1. Wählen Sie im Navigationsmenü **Endpoints (Endpunkte)**.

1. Klicken Sie auf **Endpunkt erstellen**.

1. Wählen Sie auf der Seite **Endpunkt erstellen** für **Servicename** den Servicenamen für Amazon SQS aus.
**Anmerkung**  
Die Dienstnamen variieren je nach aktueller AWS Region. Wenn Sie sich beispielsweise in USA Ost (Ohio) befinden, lautet der Servicename **com.amazonaws. {{us-east-2}}.sqs.**

1. Wählen Sie für **VPC** die Option **SQS-VPCE-Tutorial-VPC**.

1. Wählen Sie für **Subnets (Subnetze)** das Subnetz aus, dessen **Subnet ID (Subnetz-ID)** den Wert **SQS-VPCE-Tutorial-Subnet** enthält.

1. Wählen Sie für **Security group (Sicherheitsgruppe)** die Option **Select security groups (Sicherheitsgruppen auswählen)**. Wählen Sie dann die Sicherheitsgruppe aus, deren **Group Name (Gruppenname)** den Wert **SQS VPCE Tutorial Security Group** enthält.

1. Wählen Sie **Endpunkt erstellen** aus.

   Der Schnittstellen-VPC-Endpunkt wird erstellt und seine ID wird angezeigt, z. B. **vpce-0ab1cdef2ghi3j456k**.

1. Klicken Sie auf **Schließen**. 

   Die Amazon-VPC-Konsole öffnet die Seite **Endpunkte**.

Amazon VPC beginnt mit der Erstellung des Endpunkts und zeigt als Status **ausstehend** an. Wenn der Prozess abgeschlossen ist, zeigt Amazon VPC als Status **verfügbar** an.

## Schritt 5: Senden einer Nachricht an Ihre Amazon-SQS-Warteschlange
<a name="sqs-vpc-tutorial-publish"></a>

Da Ihre VPC jetzt einen Endpunkt für Amazon SQS erhält, können Sie sich mit Ihrer EC2-Instance verbinden und Nachrichten zu Ihrer Warteschlange senden.

1. Verbinden Sie sich erneut mit Ihrer EC2-Instance, z. B.:

   ```
   ssh -i SQS-VPCE-Tutorial-Key-Pair.pem ec2-user@{{ec2-203-0-113-0.us-east-2.compute.amazonaws.com}}
   ```

1. Versuchen Sie erneut, mit dem folgenden Befehl eine Nachricht in der Warteschlange zu veröffentlichen, zum Beispiel:

   ```
   aws sqs send-message --region {{us-east-2}} --endpoint-url {{https://sqs.us-east-2.amazonaws.com/}} --queue-url {{https://sqs.us-east-2.amazonaws.com/123456789012/}} --message-body "Hello from Amazon SQS."
   ```

   Der Sendeversuch ist erfolgreich und die MD5 Zusammenfassung des Nachrichtentexts und der Nachrichten-ID werden angezeigt, zum Beispiel:

   ```
   {
   	"MD5OfMessageBody": "a1bcd2ef3g45hi678j90klmn12p34qr5",
   	"MessageId": "12345a67-8901-2345-bc67-d890123e45fg"
   }
   ```

Hinweise zum Empfangen und Löschen der Nachricht aus der Warteschlange, die mit Ihrer CloudFormation Vorlage erstellt wurde (z. B. **VPCE-SQS-Tutorial-Stack- -1 IJK**), finden Sie unter. CFQueue ABCDEFGH2 [Empfangen und Löschen einer Nachricht in Amazon SQS](step-receive-delete-message.md)

Weitere Informationen zum Löschen Ihrer Ressourcen finden Sie unter:
+ [Löschen eines VPC-Endpunkts](https://docs.aws.amazon.com/vpc/latest/userguide/delete-vpc-endpoint.html) im *Amazon-VPC-Benutzerhandbuch*
+ [Löschen einer Amazon SQS SQS-Warteschlange](step-delete-queue.md)
+ [Beenden Sie Ihre Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html) im *Amazon EC2 EC2-Benutzerhandbuch*
+ [Löschen Ihrer VPC](https://docs.aws.amazon.com/vpc/latest/userguide/delete-vpc.html) im *Amazon-VPC-Benutzerhandbuch*
+ [Löschen eines Stacks auf der CloudFormation Konsole](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html) im *AWS CloudFormation Benutzerhandbuch*
+ [Löschen Ihres Schlüsselpaars](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#delete-key-pair) im *Amazon EC2 EC2-Benutzerhandbuch*