Tutorial: Senden einer Nachricht an eine Amazon-SQS-Warteschlange aus Amazon Virtual Private Cloud - Amazon Simple Queue Service

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

In diesem Tutorial erfahren Sie, wie Sie Nachrichten über ein sicheres, privates Netzwerk zu einer Amazon-SQS-Warteschlange senden. Dieses Netzwerk besteht aus einer VPC, die eine Amazon-EC2-Instance enthält. Die Instance stellt über einen Schnittstellen-VPC-Endpunkt eine Verbindung mit Amazon SQS her, so dass Sie eine Verbindung mit der Amazon-EC2-Instance herstellen und Nachrichten an die Amazon-SQS-Warteschlange senden können, auch wenn das Netzwerk nicht mit dem öffentlichen Internet verbunden ist. Weitere Informationen finden Sie unter Amazon Virtual Private Cloud Cloud-Endpunkte für Amazon SQS.

Wichtig
  • Sie können Amazon Virtual Private Cloud nur mit HTTPS-Amazon-SQS-Endpunkten verwenden.

  • Wenn Sie Amazon SQS konfigurieren, um Nachrichten von Amazon VPC zu senden, müssen Sie privates DNS aktivieren und Endpunkte im sqs.us-east-2.amazonaws.com.rproxy.goskope.com-Format angeben.

  • 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

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 an.

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

  3. Wählen Sie Create Key Pair aus.

  4. 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).

  5. 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.

  6. 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

Um die erforderliche Infrastruktur einzurichten, müssen Sie eine AWS 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 AWS CloudFormation Namen von herunter. SQS-VPCE-Tutorial-CloudFormation.yamlGitHub

  2. Melden Sie sich an der AWS CloudFormation -Konsole an.

  3. Wählen Sie Stapel erstellen aus.

  4. 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).

  5. 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.

    2. Wählen Sie für KeyNameSQS-VPCE-Tutorial-Key-Pair.

    3. Wählen Sie Weiter aus.

  6. Wählen Sie auf der Seite Optionen Weiter aus.

  7. 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.

AWS CloudFormation beginnt mit der Erstellung des Stacks und zeigt den Status CREATE_IN_PROGRESS an. Wenn der Prozess abgeschlossen ist, zeigt AWS CloudFormation den Status CREATE_COMPLETE an.

Schritt 3: Bestätigen, dass Ihre EC2-Instance nicht öffentlich zugänglich ist

Ihre AWS 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 an.

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

  3. Wählen Sie SQS-VPCE - aus. Tutorial-EC2Instance

  4. Kopieren Sie den Hostnamen unter Public DNS (IPv4) (Öffentliches DNS (IPv4)), z. B. ec2-203-0-113-0.us-west-2.compute.amazonaws.com.

  5. Stellen Sie über das Verzeichnis, in dem sich das Schlüsselpaar befindet, das Sie zuvor erstellt haben, 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
  6. Versuchen Sie, eine Verbindung mit einem öffentlichen Endpunkt herzustellen, zum Beispiel:

    ping amazon.com

    Der Verbindungsversuch schlägt erwartungsgemäß fehl.

  7. Melden Sie sich bei der Amazon-SQS-Konsole an.

  8. Wählen Sie aus der Warteschlangenliste die Warteschlange aus, die mit Ihrer AWS CloudFormation Vorlage erstellt wurde, z. B. VPCE-SQS-Tutorial-Stack-CFQueue-1ABCDEFGH2IJK.

  9. Kopieren Sie in der Tabelle Details die URL, zum Beispiel https://sqs.us-east-2.amazonaws.com/123456789012/.

  10. 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

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 an.

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

  3. Klicken Sie auf Endpunkt erstellen.

  4. 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. Zum Beispiel: Wenn Sie sich in USA Ost (Ohio) befinden, ist der Servicename com.amazonaws.us-east-2.sqs.

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

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

  7. 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.

  8. Wählen Sie Endpunkt erstellen aus.

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

  9. 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

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
  2. 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 der MD5 Digest des Nachrichtentexts und die Nachrichten-ID werden angezeigt, zum Beispiel:

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

Informationen zum Empfangen und Löschen der Nachricht aus der Warteschlange, die mit Ihrer AWS CloudFormation Vorlage erstellt wurde (z. B. VPCE-SQS-Tutorial-Stack-CFQueue-1ABCDEFGH2IJK), finden Sie unter. Empfangen und Löschen einer Nachricht in Amazon SQS

Weitere Informationen zum Löschen Ihrer Ressourcen finden Sie unter: