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

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 EC2 Amazon-Instance enthält.

  • Ein VPC-Schnittstellen-Endpunkt, der es der EC2 Amazon-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 EC2 Amazon-Instance herstellen und Nachrichten an die Amazon SQS-Warteschlange senden. Weitere Informationen finden Sie unter Endpunkte von Amazon Virtual Private Cloud 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.govskope.ca-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 Sie ein EC2 Amazon-Schlüsselpaar

Mit einem key pair können Sie eine Verbindung zu einer EC2 Amazon-Instance herstellen. 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 EC2Amazon-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 kein zweites Mal eine .pem Datei für dasselbe key pair.

  6. Damit ein SSH-Client eine Verbindung zu Ihrer EC2 Instance herstellen kann, legen Sie die Berechtigungen für Ihre private Schlüsseldatei so fest, dass nur Ihr Benutzer Leseberechtigungen dafür haben kann, 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. Dabei handelt es sich um eine Blaupause für die Erstellung eines Stacks, der aus AWS Ressourcen wie EC2 Amazon-Instances und Amazon 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 EC2 Amazon-Instance wurde im VPC-Subnetz gestartet

  • Eine Amazon-SQS-Warteschlange

  1. Laden Sie die AWS CloudFormation Vorlage mit dem Namen SQS-VPCE-Tutorial-CloudFormation.yamlvon herunter. GitHub

  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: Stellen Sie sicher, dass Ihre EC2 Instance nicht öffentlich zugänglich ist

Ihre AWS CloudFormation Vorlage startet eine EC2 Instance, SQS-VPCE-Tutorial-EC2-Instance die in Ihrer VPC benannt ist. Diese EC2 Instance erlaubt keinen ausgehenden Datenverkehr 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 EC2Amazon-Konsole an.

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

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

  4. Kopieren Sie den Hostnamen unter Public 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 Liste der Warteschlangen die Warteschlange aus, die mit Ihrer Vorlage erstellt wurde, z. B. VPCE-SQS-Tutorial-Stack- -1 IJK. AWS CloudFormation CFQueue ABCDEFGH2

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

  10. Versuchen Sie von Ihrer EC2 Instance aus, eine Nachricht in der Warteschlange zu veröffentlichen, indem Sie beispielsweise den folgenden Befehl verwenden:

    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 SQS-API von der EC2 Instance in Ihrer VPC aus verwenden. Auf diese Weise können Sie Nachrichten an eine Warteschlange innerhalb des AWS Netzwerks senden, ohne das öffentliche Internet nutzen zu müssen.

Anmerkung

Die EC2 Instanz 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. Wenn Sie sich beispielsweise in USA Ost (Ohio) befinden, lautet 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

Jetzt, da Ihre VPC einen Endpunkt für Amazon SQS enthält, können Sie eine Verbindung zu Ihrer EC2 Instance herstellen und Nachrichten an Ihre Warteschlange senden.

  1. Stellen Sie erneut eine Verbindung zu Ihrer EC2 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
  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 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 AWS 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

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