

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
<a name="vpc"></a>

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 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](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html). 

## Verwenden von Schnittstellen-VPC-Endpunkten (AWS PrivateLink) für Firehose
<a name="using-interface-vpc-endpoints"></a>

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](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html).

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 an AWS-Managementkonsole und öffnen Sie die Amazon VPC-Konsole unter [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

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

1. Klicken Sie auf **Endpunkt erstellen**.

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

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

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

1. 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": [
                   "*"
               ]
           }
       ]
   }
   ```

1. Wählen Sie **Endpunkt erstellen** aus.

**Erstellen einer IAM-Rolle zur Verwendung mit der Lambda-Funktion**

1. Öffnen Sie unter [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) die IAM-Konsole.

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

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

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

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

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

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

1. 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/](https://console.aws.amazon.com/lambda/)

1. Wählen Sie **Funktion erstellen**.

1. Wählen Sie **Von Grund auf neu schreiben** aus.

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

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

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

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

1. Wählen Sie **Funktion erstellen**.

1. 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.")
   ```

1. Legen Sie unter **Basic settings (Grundlegende Einstellungen)** die Zeitüberschreitung auf 1 Minute fest.

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

1. Wählen Sie oben auf der Seite **Speichern** aus.

1. Wählen Sie **Test** aus.

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

1. 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
<a name="availability"></a>

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)