Eine SNS Amazon-Nachricht von Amazon veröffentlichen VPC - Amazon Simple Notification 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.

Eine SNS Amazon-Nachricht von Amazon veröffentlichen VPC

In diesem Abschnitt wird beschrieben, wie Sie in einem SNS Amazon-Thema veröffentlichen und gleichzeitig die Nachrichten in einem privaten Netzwerk schützen können. Sie veröffentlichen eine Nachricht von einer EC2 Amazon-Instance, die in Amazon Virtual Private Cloud (AmazonVPC) gehostet wird. Die Nachricht bleibt im AWS Netzwerk, ohne über das öffentliche Internet zu gelangen. Indem Sie Nachrichten privat von einem veröffentlichenVPC, können Sie die Sicherheit des Datenverkehrs zwischen Ihren Anwendungen und Amazon verbessernSNS. Diese Sicherheit ist wichtig, wenn Sie persönlich identifizierbare Informationen (PII) über Ihre Kunden veröffentlichen oder wenn Ihre Anwendung marktüblichen Vorschriften unterliegt. Private Veröffentlichungen sind beispielsweise hilfreich, wenn Sie über ein Gesundheitssystem verfügen, das den Health Insurance Portability and Accountability Act (HIPAA) einhalten muss, oder ein Finanzsystem, das dem Payment Card Industry Data Security Standard (PCIDSS) entsprechen muss.

Gehen Sie wie folgt vor:

  • Verwenden Sie eine AWS CloudFormation Vorlage, um automatisch ein temporäres privates Netzwerk in Ihrem AWS-Konto zu erstellen.

  • Erstellen Sie einen VPC Endpunkt, der den VPC mit Amazon verbindetSNS.

  • Melden Sie sich bei einer EC2 Amazon-Instance an und veröffentlichen Sie eine Nachricht privat zu einem SNS Amazon-Thema.

  • Vergewissern Sie sich, dass die Nachricht erfolgreich zugestellt wurde.

  • Löschen Sie die Ressourcen, die Sie während dieses Vorgangs erstellt haben, damit sie nicht in Ihren Ressourcen verbleiben AWS-Konto.

Das folgende Diagramm zeigt das private Netzwerk, das Sie in Ihrem AWS Konto erstellen, wenn Sie diese Schritte ausführen:

Die Architektur des privaten Netzwerks, das Sie in diesem Tutorial erstellen.

Dieses Netzwerk besteht aus einemVPC, das eine EC2 Amazon-Instance enthält. Die Instance stellt SNS über einen VPCSchnittstellenendpunkt eine Verbindung zu Amazon her. Dieser Endpunkttyp stellt eine Verbindung zu Diensten her, die von betrieben werden AWS PrivateLink. Wenn diese Verbindung hergestellt ist, können Sie sich bei der EC2 Amazon-Instance anmelden und Nachrichten zum SNS Amazon-Thema veröffentlichen, obwohl das Netzwerk vom öffentlichen Internet getrennt ist. Das Thema verteilt die Nachrichten, die es erhält, auf zwei Abonnementfunktionen. AWS Lambda Diese Funktionen protokollieren die Nachrichten, die sie erhalten, in Amazon CloudWatch Logs.

Es dauert ungefähr 20 Minuten, bis diese Schritte fertig ausgeführt sind.

Bevor Sie beginnen

Bevor Sie beginnen, benötigen Sie einen Amazon Web Services (AWS)-Konto. Wenn Sie sich registrieren, wird Ihr Konto automatisch für alle Dienste angemeldet AWS, einschließlich Amazon SNS und AmazonVPC. Wenn Sie nicht bereits ein Konto erstellt haben, wechseln Sie zu https://aws.amazon.com/ und wählen Sie Create a Free Account (Kostenloses Konto erstellen) aus.

Schritt 1: Erstellen Sie ein EC2 Amazon-Schlüsselpaar

Ein key pair wird verwendet, um sich bei einer EC2 Amazon-Instance anzumelden. Es besteht aus einem öffentlichen Schlüssel zum Verschlüsseln Ihrer Anmeldeinformationen und einem privaten Schlüssel zum Entschlüsseln. Wenn Sie ein Schlüsselpaar erstellen, laden eine Kopie des privaten Schlüssels herunter. Später verwenden Sie das key pair, um sich bei einer EC2 Amazon-Instance anzumelden. Zum Anmelden geben Sie den Namen des Schlüsselpaares und den privaten Schlüssel an.

So erstellen Sie ein Schlüsselpaar
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Suchen Sie im Navigationsmenü auf der linken Seite den Abschnitt Network & Security (Netzwerk und Sicherheit). Wählen Sie dann Key Pairs (Schlüsselpaare).

  3. Wählen Sie Create Key Pair aus.

  4. Geben Sie im Fenster Create Key Pair (Schlüsselpaar erstellen) für Key pair name (Schlüsselpaar-Name) den Wert VPCE-Tutorial-KeyPair ein. Wählen Sie dann die Option Erstellen.

    Das Fenster Schlüsselpaar erstellen mit dem Text "VPCE-Tutorial-KeyPair" im Feld Schlüsselpaarname.
  5. Die private Schlüsseldatei wird von Ihrem Browser automatisch runtergeladen. Bewahren Sie es an einem sicheren Ort auf. Amazon EC2 gibt der Datei eine Erweiterung von.pem.

  6. (Optional) Wenn Sie einen SSH Client auf einem Mac- oder Linux-Computer verwenden, um eine Verbindung zu Ihrer Instance herzustellen, verwenden Sie den chmod Befehl, um die Berechtigungen für Ihre private Schlüsseldatei so festzulegen, dass nur Sie sie lesen können:

    1. Öffnen Sie ein Terminal und navigieren Sie zu dem Verzeichnis, das den privaten Schlüssel enthält:

      $ cd /filepath_to_private_key/
    2. Legen Sie mit folgendem Befehl die Berechtigungen fest:

      $ chmod 400 VPCE-Tutorial-KeyPair.pem

Schritt 2: Erstellen Sie die AWS Ressourcen

Um die Infrastruktur einzurichten, verwenden Sie eine AWS CloudFormation Vorlage. Eine Vorlage ist eine Datei, die als Vorlage für die Erstellung von AWS Ressourcen wie EC2 Amazon-Instances und SNS Amazon-Themen dient. Die Vorlage für diesen Prozess steht Ihnen GitHub zum Herunterladen zur Verfügung.

Sie stellen die Vorlage zur Verfügung und stellen AWS CloudFormation die Ressourcen AWS CloudFormation, die Sie benötigen, als Stapel in Ihrem bereit AWS-Konto. Bei einem Stack handelt es sich um eine Sammlung von Ressourcen, die Sie als einzelne Einheit verwalten. Wenn Sie diese Schritte abgeschlossen haben, können Sie AWS CloudFormation damit alle Ressourcen im Stack auf einmal löschen. Diese Ressourcen verbleiben nicht in Ihrem AWS-Konto, es sei denn, Sie möchten, dass sie es tun.

Der Stack für dieses Tutorial enthält die folgenden Ressourcen:

  • A VPC und die zugehörigen Netzwerkressourcen, einschließlich eines Subnetzes, einer Sicherheitsgruppe, eines Internet-Gateways und einer Routing-Tabelle.

  • Eine EC2 Amazon-Instance, die im Subnetz in der VPC gestartet wurde.

  • Ein SNS Amazon-Thema.

  • Zwei AWS Lambda Funktionen. Diese Funktionen empfangen Nachrichten, die im SNS Amazon-Thema veröffentlicht werden, und protokollieren Ereignisse in CloudWatch Logs.

  • CloudWatch Amazon-Metriken und -Protokolle.

  • Eine IAM Rolle, die es der EC2 Amazon-Instance ermöglichtSNS, Amazon zu verwenden, und eine IAM Rolle, die es den Lambda-Funktionen ermöglicht, in CloudWatch Protokolle zu schreiben.

Um die Ressourcen zu erstellen AWS
  1. Laden Sie die Vorlagendatei von der GitHub Website herunter.

  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) aus. Wählen Sie dann Ihre Datei und Next (Weiter) aus.

  5. Geben Sie auf der Seite Specify Details (Details angeben) Stack- und Schlüsselnamen an:

    1. Geben Sie für Stack name VPCE-Tutorial-Stack ein.

    2. Wählen Sie für KeyNameVPCE-Tutorial- KeyPair.

    3. Behalten Sie für SSHLocationden Standardwert von bei. 0.0.0.0/0

      Die Seite „Details angeben“ mit ausgefüllten Wertefeldern für Stackname KeyName, undSSHLocation.
    4. Wählen Sie Weiter.

  6. Behalten Sie auf der Seite Options (Optionen) alle Standardwerte bei, und wählen Sie dann Next (Weiter).

  7. Überprüfen Sie die Einstellungen auf der Seite Review (Überprüfen) die Stack-Details.

  8. Bestätigen Sie unter Funktionen, dass AWS CloudFormation dadurch IAM Ressourcen mit benutzerdefinierten Namen erstellt werden könnten.

  9. Wählen Sie Create (Erstellen) aus.

    Die AWS CloudFormation Konsole öffnet die Seite Stacks. Der VPCE-Tutorial-Stack hat den Status CREATE_IN_ PROGRESS. Nach einigen Minuten, nachdem der Erstellungsvorgang abgeschlossen ist, ändert sich der Status auf CREATE _. COMPLETE

    Der AWS CloudFormation Stack mit dem Status CREATE _COMPLETE.
    Tipp

    Wählen Sie die Schaltfläche Refresh (Aktualisieren), um den neuesten Stack-Status zu sehen.

Schritt 3: Stellen Sie sicher, dass Ihre EC2 Amazon-Instance keinen Internetzugang hat

Der EC2 Amazon-Instance, die im vorherigen Schritt VPC in Ihrem gestartet wurde, fehlt der Internetzugang. Es verbietet ausgehenden Datenverkehr und kann keine Nachrichten an Amazon veröffentlichen. SNS Überprüfen Sie dies, indem Sie sich bei der Instance anmelden. Versuchen Sie dann, eine Verbindung zu einem öffentlichen Endpunkt herzustellen, und versuchen Sie, Amazon eine Nachricht zu sendenSNS.

An diesem Punkt schlägt der Veröffentlichungsversuch fehl. In einem späteren Schritt, nachdem Sie einen VPC Endpunkt für Amazon erstellt habenSNS, ist Ihr Veröffentlichungsversuch erfolgreich.

So stellen Sie eine Verbindung zu Ihrer EC2 Amazon-Instance her
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Suchen Sie im Navigationsmenü auf der linken Seite den Abschnitt Instances. Wählen Sie anschließend Instances.

  3. Wählen Sie in der Liste der Instances VPCE- ausTutorial-EC2Instance.

  4. Kopieren Sie den Hostnamen, der in der Spalte Public DNS (IPv4) angegeben ist.

    Details zur EC2 Amazon-Instance, die von gestartet wurde AWS CloudFormation.
  5. Öffnen Sie ein -Terminalfenster. Stellen Sie von dem Verzeichnis aus, das das key pair enthält, mithilfe des folgenden Befehls eine Verbindung zur Instance her, wobei instance-hostname ist der Hostname, den Sie von der EC2 Amazon-Konsole kopiert haben:

    $ ssh -i VPCE-Tutorial-KeyPair.pem ec2-user@instance-hostname
So überprüfen Sie, ob die Instance eine Verbindung zum Internet hat
  • Versuchen Sie in Ihrem Terminal, eine Verbindung mit einem öffentlichen Endpunkt herzustellen, wie z. B. amazon.com:

    $ ping amazon.com

    Da der Verbindungsversuch fehlschlägt, können Sie ihn jederzeit stornieren (Strg+C unter Windows oder Befehl+C unter macOS).

Um zu überprüfen, ob die Instance keine Konnektivität zu Amazon hat SNS
  1. Melden Sie sich bei der SNSAmazon-Konsole an.

  2. Wählen Sie im Navigationsmenü auf der linken Seite Topics (Themen) aus.

  3. Kopieren Sie auf der Seite Themen den Amazon-Ressourcennamen (ARN) für das Thema VPCE-Tutorial-Topic.

  4. Versuchen Sie in Ihrem Terminal eine Nachricht an das Thema zu veröffentlichen:

    $ aws sns publish --region aws-region --topic-arn sns-topic-arn --message "Hello"

    Da der Veröffentlichungsversuch fehlschlägt, können Sie ihn jederzeit abbrechen.

Schritt 4: Erstellen Sie einen VPC Amazon-Endpunkt für Amazon SNS

Um die mit Amazon VPC zu verbindenSNS, definieren Sie einen VPC Schnittstellenendpunkt. Nachdem Sie den Endpunkt hinzugefügt haben, können Sie sich bei der EC2 Amazon-Instance in Ihrem VPC anmelden und von dort aus Amazon verwenden SNSAPI. Sie können Nachrichten in dem Thema veröffentlichen. Die Nachrichten werden privat veröffentlicht. Sie bleiben im AWS Netzwerk und nutzen nicht das öffentliche Internet.

Anmerkung

Der Instanz fehlt immer noch der Zugriff auf andere AWS Dienste und Endpunkte im Internet.

So erstellen Sie den Endpunkt
  1. Öffnen Sie die VPC Amazon-Konsole unter https://console.aws.amazon.com/vpc/.

  2. Wählen Sie im Navigationsmenü auf der linken Seite Endpoints (Endpunkte) aus.

  3. Klicken Sie auf Endpunkt erstellen.

  4. Behalten Sie auf der Seite Create Endpoint (Endpunkt erstellen) für Service category (Servicekategorie) die Standardauswahl von AWS Services bei.

  5. Wählen Sie unter Service Name den Servicenamen für Amazon ausSNS.

    Die Servicenamen variieren abhängig von der ausgewählten Region. Wenn Sie beispielsweise US East (Nord-Virginia) ausgewählt haben, lautet der Servicename com.amazonaws.us-east-1.sns.

  6. Wählen Sie für das aus VPC, VPC das den Namen VPCE-Tutorial - hat. VPC

    Das VPC Menü auf der Seite „Endpunkt erstellen“.
  7. Wählen Sie für Subnetze das Subnetz aus, das VPCE-Tutorial-Subnet in der Subnetz-ID enthält.

    Die Subnetze auf der Seite "Create Endpoints (Endpunkte erstellen)".
  8. Wählen Sie für Enable Private Name die Option Enable für diesen Endpoint DNS aus.

  9. Wählen Sie für Sicherheitsgruppe die Option Sicherheitsgruppe auswählen und anschließend VPCE-Tutorial- SecurityGroup aus.

    Die Sicherheitsgruppen auf der Seite "Create Endpoints (Endpunkte erstellen)".
  10. Wählen Sie Endpunkt erstellen aus. Die VPC Amazon-Konsole bestätigt, dass ein VPC Endpunkt erstellt wurde.

    Die Bestätigungsmeldung, die nach dem Erstellen eines Endpunkts angezeigt wird.
  11. Klicken Sie auf Close (Schließen).

    Die VPC Amazon-Konsole öffnet die Seite Endpoints. Der neue Endpunkt weist den Status pending (ausstehend) auf. Nach Abschluss des Erstellungsprozesses ändert sich der Status in wenigen Minuten in available (verfügbar).

    Der VPC Endpunkt mit dem Status „Verfügbar“.

Schritt 5: Veröffentlichen Sie eine Nachricht zu Ihrem SNS Amazon-Thema

Da Sie nun VPC einen Endpunkt für Amazon hinzugefügt habenSNS, können Sie sich bei der EC2 Amazon-Instance anmelden und Nachrichten zum Thema veröffentlichen.

So veröffentlichen Sie eine Nachricht
  1. Wenn Ihr Terminal nicht mehr mit Ihrer EC2 Amazon-Instance verbunden ist, stellen Sie erneut eine Verbindung her:

    $ ssh -i VPCE-Tutorial-KeyPair.pem ec2-user@instance-hostname
  2. Führen Sie denselben Befehl wie zuvor aus, um eine Nachricht zu Ihrem SNS Amazon-Thema zu veröffentlichen. Diesmal ist der Veröffentlichungsversuch erfolgreich und Amazon SNS gibt eine Nachrichten-ID zurück:

    $ aws sns publish --region aws-region --topic-arn sns-topic-arn --message "Hello" { "MessageId": "5b111270-d169-5be6-9042-410dfc9e86de" }

Schritt 6: Überprüfen Sie die Zustellung Ihrer Nachrichten

Wenn das SNS Amazon-Thema eine Nachricht empfängt, fächert es die Nachricht auf, indem es sie an die beiden abonnierenden Lambda-Funktionen sendet. Wenn diese Funktionen die Nachricht erhalten, protokollieren sie das Ereignis in Protokollen CloudWatch . Um zu überprüfen, ob die Nachrichtenzustellung erfolgreich war, überprüfen Sie, ob die Funktionen aufgerufen wurden, und überprüfen Sie, ob die CloudWatch Protokolle aktualisiert wurden.

So überprüfen Sie, dass die Lambda-Funktionen aufgerufen wurden
  1. Öffnen Sie die AWS Lambda Konsole unter. https://console.aws.amazon.com/lambda/

  2. Wählen Sie auf der Seite Funktionen die Option VPCE-Tutorial-Lambda-1.

  3. Wählen Sie Monitoring.

  4. Überprüfen Sie das Diagramm Invocation count (Anzahl der Aufrufe). Dieses Diagramm zeigt die Anzahl der Ausführungen der Lambda-Funktion.

    Die Anzahl der Aufrufe entspricht der Anzahl der Veröffentlichungen einer Nachricht im Thema.

    Das Diagramm der Anzahl der Aufrufe in der Lambda-Konsole.
Um zu überprüfen, ob die Protokolle aktualisiert wurden CloudWatch
  1. Öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/.

  2. Wählen Sie im Navigationsmenü links Logs (Protokolle).

  3. Überprüfen Sie die Protokolle, die von den Lambda-Funktionen geschrieben wurden:

    1. Wählen Sie die Loggruppe/aws/lambda/VPCE-Tutorial-Lambda-1/.

    2. Wählen Sie den Protokollstream.

    3. Prüfen Sie, dass das Protokoll den Eintrag From SNS: Hello enthält.

      Das CloudWatch Protokoll enthält den Eintrag „Von: Hallo“. SNS
    4. Wählen Sie Log Groups (Protokollgruppen) oben auf der Konsole, um zur Seite Log Groups (Protokollgruppen) zurückzukehren. Wiederholen Sie dann die vorherigen Schritte für die Protokollgruppe the /aws/lambda/VPCE -Tutorial-Lambda-2/.

Herzlichen Glückwunsch! Durch das Hinzufügen eines Endpunkts für Amazon SNS zu einem VPC konnten Sie eine Nachricht zu einem Thema aus dem Netzwerk heraus veröffentlichen, das von der verwaltet wirdVPC. Die Nachricht wurde privat veröffentlicht, ohne im Internet veröffentlicht zu werden.

Schritt 7: Bereinigen

Sofern Sie die Ressourcen, die Sie für dieses Tutorial erstellt haben, nicht behalten möchten, können Sie sie nun löschen. Durch das Löschen von AWS Ressourcen, die Sie nicht mehr verwenden, vermeiden Sie unnötige Kosten für Ihre AWS-Konto.

Löschen Sie zunächst Ihren VPC Endpunkt mit der VPC Amazon-Konsole. Löschen Sie dann die anderen Ressourcen, die Sie erstellt haben, indem Sie den Stack in der AWS CloudFormation Konsole löschen. Wenn Sie einen Stapel löschen, AWS CloudFormation werden die Ressourcen des Stacks aus Ihrem entfernt AWS-Konto.

Um deinen VPC Endpunkt zu löschen
  1. Öffnen Sie die VPC Amazon-Konsole unter https://console.aws.amazon.com/vpc/.

  2. Wählen Sie im Navigationsmenü auf der linken Seite Endpoints (Endpunkte) aus.

  3. Wählen Sie den Endpunkt aus, den Sie erstellt haben.

  4. Wählen Sie Actions (Aktionen) und anschließend Delete Endpoint (Endpunkt löschen).

  5. Wählen Sie im Fenster Delete Endpoint (Endpunkt löschen) Yes, Delete (Ja, löschen).

    Der Status des Endpunkts wird in deleting (Wird gelöscht...) geändert. Wenn der Löschvorgang abgeschlossen ist, wird der Endpunkt von der Seite entfernt.

Um Ihren AWS CloudFormation Stack zu löschen
  1. Öffnen Sie die AWS CloudFormation Konsole unter https://console.aws.amazon.com/cloudformation.

  2. Wählen Sie den Stack -Tutorial-Stack VPCE aus.

  3. Wählen Sie die Option Actions (Aktionen) und anschließend Delete Stack (Stack löschen) aus.

  4. Wählen Sie im Fenster Delete Stack (Stack löschen) Yes, Delete (Ja, löschen).

    Der Stack-Status ändert sich auf _IN_. DELETE PROGRESS Wenn der Löschvorgang abgeschlossen ist, wird der Stack von der Seite entfernt.

Weitere Informationen finden Sie in den folgenden Ressourcen.