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.
Sie können einen VPC-Schnittstellen-Endpunkt (AWS PrivateLink) verwenden, um von Ihrer VPC aus auf Amazon Data Firehose zuzugreifen, ohne dass ein Internet Gateway oder ein NAT-Gateway erforderlich ist. 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 Private 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 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
Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon VPC-Konsole unter https://console.aws.amazon.com/vpc/
. -
Wählen Sie im VPC-Dashboard Endpoints (Endpunkte) aus.
-
Klicken Sie auf Endpunkt erstellen.
-
Wählen Sie in der Liste der Servicenamen
com.amazonaws.
aus.your_region
.kinesis-firehose -
Wählen Sie die VPC und ein oder mehrere Subnetze aus, in dem/denen Sie den Endpunkt erstellen möchten.
-
Wählen Sie eine oder mehrere Sicherheitsgruppen aus, die mit den Endpunkten verknüpft werden soll(en).
-
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": [ "*" ] } ] }
-
Wählen Sie Endpunkt erstellen aus.
Erstellen einer IAM-Rolle zur Verwendung mit der Lambda-Funktion
Öffnen Sie unter https://console.aws.amazon.com/iam/
die IAM-Konsole. -
Wählen Sie im linken Navigationsbereich Rollen und dann Rolle erstellen aus.
-
Belassen Sie es unter Typ der vertrauenswürdigen Entität auswählen bei der Standard-Auswahl AWS -Service.
-
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.
-
Wählen Sie Next: Permissions (Weiter: Berechtigungen) aus.
-
Suchen Sie in der Liste der Richtlinien nach den beiden Richtlinien mit den Namen
AWS LambdaVPCAccessExecutionRole
undAmazonDataFirehoseReadOnlyAccess
.Wichtig
Dies ist ein Beispiel. Möglicherweise benötigen Sie strengere Richtlinien für Ihre Produktionsumgebung.
-
Wählen Sie Weiter: Tags aus. Das Hinzufügen von Tags ist für diese Übung nicht zweckmäßig. Wählen Sie Weiter: Prüfen aus.
-
Geben Sie einen Namen für die Rolle ein, wählen Sie dann Rolle erstellen aus.
Erstellen einer Lambda-Funktion innerhalb der VPC
Öffnen Sie die AWS Lambda Konsole unter. https://console.aws.amazon.com/lambda/
-
Wählen Sie Create function (Funktion erstellen).
-
Wählen Sie Von Grund auf neu schreiben aus.
-
Geben Sie einen Namen für die Funktion ein und setzen Sie dann Runtime auf
Python 3.9
oder höher. -
Erweitern Sie unter Permissions (Berechtigungen) den Bereich Choose or create an execution role (Ausführungsrolle wählen oder erstellen).
-
Wählen Sie in der Liste Execution role (Ausführungsrolle) die Option Use an existing role (Verwenden einer vorhandenen Rolle) aus.
-
Wählen Sie in der Liste Existing role (Vorhandene Rolle) die oben erstellte Rolle aus.
-
Wählen Sie Funktion erstellen.
-
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.")
-
Legen Sie unter Basic settings (Grundlegende Einstellungen) die Zeitüberschreitung auf 1 Minute fest.
-
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.
-
Wählen Sie oben auf der Seite Speichern aus.
-
Wählen Sie Test aus.
-
Geben Sie einen Ereignisnamen ein und wählen Sie dann Erstellen.
-
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.
Unterstützt AWS-Regionen
Schnittstellen-VPC-Endpunkte werden derzeit 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 (Thailand)
-
Asien-Pazifik (Tokio)
-
Asien-Pazifik (Hongkong)
-
Kanada (Zentral)
-
Kanada West (Calgary)
-
China (Peking)
-
China (Ningxia)
-
Europe (Frankfurt)
-
Europa (Irland)
-
Europa (London)
-
Europa (Paris)
-
Mexiko (Zentral)
-
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)
-
Asien-Pazifik (Malaysia)