Verwenden von Amazon Data Firehose mit AWS PrivateLink - Amazon Data Firehose

Amazon Data Firehose war zuvor als Amazon Kinesis Data Firehose bekannt

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.

Verwenden von Amazon Data Firehose mit AWS PrivateLink

Schnittstelle VPC-Endpunkte (AWS PrivateLink) für Amazon Data Firehose

Sie können einen VPC-Schnittstellen-Endpunkt verwenden, um zu verhindern, dass der Datenverkehr zwischen Ihrer Amazon VPC und Amazon Data Firehose das Amazon-Netzwerk verlässt. Schnittstellen-VPC-Endpunkte benötigen kein Internet-Gateway, kein NAT-Gerät, keine VPN-Verbindung oder AWS Direct Connect Verbindung. Interface VPC-Endpoints basieren auf einer AWS Technologie AWS PrivateLink, die private Kommunikation zwischen AWS Services über eine elastic network interface mit privaten IPs in Ihrer Amazon VPC ermöglicht. Weitere Informationen finden Sie unter Amazon Virtual Private Cloud.

Verwenden von Schnittstellen-VPC-Endpunkten (AWS PrivateLink) für Amazon Data Firehose

Erstellen Sie zunächst einen VPC-Schnittstellen-Endpunkt, damit Ihr Amazon Data Firehose-Verkehr von Ihren Amazon VPC-Ressourcen über den Schnittstellen-VPC-Endpunkt fließen kann. Wenn Sie einen Endpunkt erstellen, können Sie ihm eine Endpunktrichtlinie hinzufügen, die den Zugriff auf Amazon Data Firehose steuert. Weitere Informationen zur Verwendung von Richtlinien zur Steuerung des Zugriffs von einem VPC-Endpunkt auf Amazon Data Firehose finden Sie unter Steuern des Zugriffs auf Services mit VPC-Endpunkten.

Das folgende Beispiel zeigt, wie Sie eine AWS Lambda Funktion in einer VPC einrichten und einen VPC-Endpunkt erstellen können, damit die Funktion sicher mit dem Amazon Data Firehose-Service kommunizieren kann. In diesem Beispiel verwenden Sie eine Richtlinie, die es der Lambda-Funktion ermöglicht, die Firehose-Streams in der aktuellen Region aufzulisten, aber keinen Firehose-Stream zu beschreiben.

Erstellen eines VPC-Endpunkts
  1. Melden Sie sich bei der Amazon VPC-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/vpc/.

  2. Wählen Sie im VPC-Dashboard Endpoints (Endpunkte) aus.

  3. Klicken Sie auf Endpunkt erstellen.

  4. Wählen Sie in der Liste der Servicenamen com.amazonaws.your_region.kinesis-firehose aus.

  5. Wählen Sie die VPC und ein oder mehrere Subnetze aus, in dem/denen Sie den Endpunkt erstellen möchten.

  6. Wählen Sie eine oder mehrere Sicherheitsgruppen aus, die mit den Endpunkten verknüpft werden soll(en).

  7. Wählen Sie für Policy (Richtlinie)​Custom (Benutzerdefiniert)​ aus und fügen Sie die folgende Richtlinie ein:

    { "Statement": [ { "Sid": "Allow-only-specific-PrivateAPIs", "Principal": "*", "Action": [ "firehose:ListDeliveryStreams" ], "Effect": "Allow", "Resource": [ "*" ] }, { "Sid": "Allow-only-specific-PrivateAPIs", "Principal": "*", "Action": [ "firehose:DescribeDeliveryStream" ], "Effect": "Deny", "Resource": [ "*" ] } ] }
  8. Wählen Sie Endpunkt erstellen aus.

Erstellen einer IAM-Rolle zur Verwendung mit der Lambda-Funktion
  1. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im linken Navigationsbereich Rollen und dann Rolle erstellen aus.

  3. Belassen Sie es unter Typ der vertrauenswürdigen Entität auswählen bei der Standard-Auswahl AWS -Service.

  4. Wählen Sie unter Choose the service that will use this role (Die Rolle auswählen, die diese Rollen verwenden wird) die Option Lambda aus.

  5. Wählen Sie Next: Permissions (Weiter: Berechtigungen) aus.

  6. Suchen Sie in der Liste der Richtlinien nach den beiden Richtlinien mit den Namen AWS LambdaVPCAccessExecutionRole und AmazonDataFirehoseReadOnlyAccess.

    Wichtig

    Dies ist ein Beispiel. Möglicherweise benötigen Sie strengere Richtlinien für Ihre Produktionsumgebung.

  7. Wählen Sie Weiter: Markierungen. Das Hinzufügen von Tags ist für diese Übung nicht zweckmäßig. Wählen Sie Weiter: Prüfen aus.

  8. Geben Sie einen Namen für die Rolle ein, wählen Sie dann Rolle erstellen aus.

Erstellen einer Lambda-Funktion innerhalb der VPC
  1. Öffnen Sie die AWS Lambda Konsole unter https://console.aws.amazon.com/lambda/.

  2. Wählen Sie Funktion erstellen.

  3. Wählen Sie Von Grund auf neu schreiben aus.

  4. Geben Sie einen Namen für die Funktion ein und setzen Sie dann Runtime auf Python 3.9 oder höher.

  5. Erweitern Sie unter Permissions (Berechtigungen) den Bereich Choose or create an execution role (Ausführungsrolle wählen oder erstellen).

  6. Wählen Sie in der Liste Execution role (Ausführungsrolle) die Option Use an existing role (Verwenden einer vorhandenen Rolle) aus.

  7. Wählen Sie in der Liste Existing role (Vorhandene Rolle) die oben erstellte Rolle aus.

  8. Wählen Sie Funktion erstellen.

  9. Fügen Sie unter Function code (Funktionscode) den folgenden Code ein.

    import json import boto3 import os from botocore.exceptions import ClientError def lambda_handler(event, context): REGION = os.environ['AWS_REGION'] client = boto3.client( 'firehose', REGION ) print("Calling list_delivery_streams with ListDeliveryStreams allowed policy.") delivery_stream_request = client.list_delivery_streams() print("Successfully returned list_delivery_streams request %s." % ( delivery_stream_request )) describe_access_denied = False try: print("Calling describe_delivery_stream with DescribeDeliveryStream denied policy.") delivery_stream_info = client.describe_delivery_stream(DeliveryStreamName='test-describe-denied') except ClientError as e: error_code = e.response['Error']['Code'] print ("Caught %s." % (error_code)) if error_code == 'AccessDeniedException': describe_access_denied = True if not describe_access_denied: raise else: print("Access denied test succeeded.")
  10. Legen Sie unter Basic settings (Grundlegende Einstellungen) die Zeitüberschreitung auf 1 Minute fest.

  11. Wählen Sie unter Network (Netzwerk) die VPC aus, für die Sie den obigen Endpunkt erstellt haben, und wählen Sie dann die Subnetze sowie die Sicherheitsgruppe aus, die mit dem Endpunkt bei der Erstellung verknüpft wurden.

  12. Wählen Sie oben auf der Seite Speichern aus.

  13. Wählen Sie Test aus.

  14. Geben Sie einen Ereignisnamen ein und wählen Sie dann Erstellen.

  15. Wählen Sie erneut Test (Testen) aus. Dies bewirkt, dass die Funktion ausgeführt wird. Erweitern Sie nach Anzeige des Ausführungsergebnisses den Bereich Details (Details) und vergleichen Sie die Protokollausgabe mit dem Funktionscode. Erfolgreiche Ergebnisse zeigen eine Liste der Firehose-Streams in der Region sowie die folgende Ausgabe:

    Calling describe_delivery_stream.

    AccessDeniedException

    Access denied test succeeded.

Verfügbarkeit

Schnittstellen-VPC-Endpunkte werden aktuell in den folgenden Regionen unterstützt:

  • US East (Ohio)

  • USA Ost (Nord-Virginia)

  • USA West (Nordkalifornien)

  • USA West (Oregon)

  • Asia Pacific (Mumbai)

  • Asia Pacific (Seoul)

  • Asien-Pazifik (Singapur)

  • Asien-Pazifik (Sydney)

  • Asien-Pazifik (Tokio)

  • Asien-Pazifik (Hongkong)

  • Kanada (Zentral)

  • Kanada West (Calgary)

  • China (Peking)

  • China (Ningxia)

  • Europe (Frankfurt)

  • Europa (Irland)

  • Europe (London)

  • Europe (Paris)

  • Südamerika (São Paulo)

  • AWS GovCloud (US-Ost)

  • AWS GovCloud (US-West)

  • Europa (Spain)

  • Naher Osten (VAE)

  • Asien-Pazifik (Jakarta)

  • Asien-Pazifik (Osaka)

  • Israel (Tel Aviv)