Utilisation d'Amazon Data Firehose avec AWS PrivateLink - Amazon Data Firehose

Amazon Data Firehose était auparavant connu sous le nom d'Amazon Kinesis Data Firehose

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation d'Amazon Data Firehose avec AWS PrivateLink

Points de terminaison VPC d'interface ()AWS PrivateLink pour Amazon Data Firehose

Vous pouvez utiliser un point de terminaison VPC d'interface pour empêcher le trafic entre votre Amazon VPC et Amazon Data Firehose de quitter le réseau Amazon. Les points de terminaison VPC d'interface ne nécessitent pas de passerelle Internet, de périphérique NAT, de connexion VPN ou de connexion. AWS Direct Connect Les points de terminaison VPC d'interface sont alimentés par AWS PrivateLink une AWS technologie qui permet une communication privée entre les AWS services à l'aide d'une interface réseau élastique avec des adresses IP privées dans votre Amazon VPC. Pour en savoir plus, consultez Amazon Virtual Private Cloud.

Utilisation des points de terminaison VPC d'interface ()AWS PrivateLink pour Amazon Data Firehose

Pour commencer, créez un point de terminaison VPC d'interface afin que le trafic Amazon Data Firehose provenant de vos ressources Amazon VPC commence à circuler via le point de terminaison VPC d'interface. Lorsque vous créez un point de terminaison, vous pouvez y associer une politique de point de terminaison qui contrôle l'accès à Amazon Data Firehose. Pour en savoir plus sur l'utilisation de politiques pour contrôler l'accès d'un point de terminaison VPC à Amazon Data Firehose, consultez la section Contrôle de l'accès aux services avec des points de terminaison VPC.

L'exemple suivant montre comment configurer une AWS Lambda fonction dans un VPC et créer un point de terminaison VPC pour permettre à la fonction de communiquer en toute sécurité avec le service Amazon Data Firehose. Dans cet exemple, vous utilisez une politique qui permet à la fonction Lambda de répertorier les flux Firehose dans la région actuelle, mais pas de décrire un flux Firehose.

Création d'un point de terminaison de VPC
  1. Connectez-vous à la console Amazon VPC AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/vpc/.

  2. Dans le tableau de bord VPC, choisissez Endpoints (Points de terminaison).

  3. Choisissez Créer un point de terminaison.

  4. Dans la liste des noms de service, choisissez com.amazonaws.your_region.kinesis-firehose.

  5. Choisissez le VPC et un ou plusieurs sous-réseaux dans lesquels créer le point de terminaison.

  6. Choisissez un ou plusieurs groupes de sécurité à associer au point de terminaison.

  7. Pour Policy (Stratégie), choisissez Custom (Personnalisée) et collez la stratégie suivante :

    { "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. Choisissez Créer un point de terminaison.

Création d'un rôle IAM à utiliser avec la fonction Lambda
  1. Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation, choisissez Rôles, puis Créer un rôle.

  3. Sous Sélectionner le type d'entité de confiance, conservez la sélection par défaut Service AWS .

  4. Sous Choose the service that will use this role (Choisir le service qui utilisera ce rôle), choisissez Lambda.

  5. Sélectionnez Next: Permissions (Suivant : autorisations).

  6. Dans la liste des stratégies, recherchez et ajoutez les deux stratégies nommées AWS LambdaVPCAccessExecutionRole et AmazonDataFirehoseReadOnlyAccess.

    Important

    Il s’agit d’un exemple. Il se peut que vous ayez besoin de stratégies plus strictes pour votre environnement de production.

  7. Choisissez Suivant : Balises. Vous n'avez pas besoin d'ajouter des balises dans le cadre de cet exercice. Choisissez Suivant : vérification.

  8. Entrez un nom pour le rôle, puis choisissez Créer un rôle.

Création d'une fonction Lambda au sein du VPC
  1. Ouvrez la AWS Lambda console à l'adresse https://console.aws.amazon.com/lambda/.

  2. Choisissez Créer une fonction.

  3. Choisissez Créer à partir de zéro.

  4. Entrez le nom de la fonction, puis définissez Runtime sur Python 3.9 ou une valeur supérieure.

  5. Sous Permissions (Autorisations), développez Choose or create an execution role (Choisir ou créer un rôle d'exécution).

  6. Dans la liste Execution role (Rôle d'exécution), choisissez Use an existing role (Utiliser un rôle existant).

  7. Dans la liste Existing role (Rôle existant), choisissez le rôle que vous avez créé ci-dessus.

  8. Choisissez Créer une fonction.

  9. Sous Function code (Code de fonction), Collez le code suivant.

    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. Sous Basic settings (Paramètres de base), définissez le délai d'expiration sur 1 minute.

  11. Sous Network (Réseau), sélectionnez le VPC dans lequel vous avez créé le point de terminaison ci-dessus, puis choisissez les sous-réseaux et le groupe de sécurité que vous avez associés au point de terminaison lorsque vous l'avez créé.

  12. Dans le haut de la page, choisissez Enregistrer.

  13. Sélectionnez Tester).

  14. Entrez un nom d'événement, puis choisissez Créer.

  15. Choisissez Test à nouveau. La fonction est alors exécutée. Une fois que le résultat d'exécution s'affiche, développez Details (Détails) et comparez la sortie de journal au code de la fonction. Les résultats positifs indiquent une liste des streams Firehose de la région, ainsi que le résultat suivant :

    Calling describe_delivery_stream.

    AccessDeniedException

    Access denied test succeeded.

Disponibilité

Les points de terminaison de VPC d'interface sont actuellement pris en charge dans les régions suivantes :

  • USA Est (Ohio)

  • USA Est (Virginie du Nord)

  • USA Ouest (Californie du Nord)

  • USA Ouest (Oregon)

  • Asie-Pacifique (Mumbai)

  • Asie-Pacifique (Séoul)

  • Asie-Pacifique (Singapour)

  • Asie-Pacifique (Sydney)

  • Asia Pacific (Tokyo)

  • Asie-Pacifique (Hong Kong)

  • Canada (Centre)

  • Canada Ouest (Calgary)

  • Chine (Beijing)

  • China (Ningxia)

  • Europe (Francfort)

  • Europe (Irlande)

  • Europe (Londres)

  • Europe (Paris)

  • Amérique du Sud (São Paulo)

  • AWS GovCloud (USA Est)

  • AWS GovCloud (US-Ouest)

  • Europe (Espagne)

  • Moyen-Orient (EAU)

  • Asie-Pacifique (Jakarta)

  • Asie-Pacifique (Osaka)

  • Israël (Tel Aviv)