Uso de Amazon Data Firehose con AWS PrivateLink - Amazon Data Firehose

Amazon Data Firehose se conocía anteriormente como Amazon Kinesis Data Firehose

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de Amazon Data Firehose con AWS PrivateLink

Puntos de enlace de VPC de interfaz ()AWS PrivateLink para Amazon Data Firehose

Puede utilizar un punto de enlace de VPC de interfaz para evitar que el tráfico entre su Amazon VPC y Amazon Data Firehose salga de la red de Amazon. Los puntos finales de la interfaz VPC no requieren una puerta de enlace a Internet, un dispositivo NAT, una conexión VPN o una conexión. AWS Direct Connect Los puntos de enlace de la interfaz VPC funcionan con una AWS tecnología que permite la comunicación privada entre AWS servicios mediante una interfaz de red elástica con direcciones IP privadas en su Amazon VPC. AWS PrivateLink Para obtener más información, consulte Amazon Virtual Private Cloud.

Uso de puntos de enlace de VPC de interfaz ()AWS PrivateLink para Amazon Data Firehose

Para empezar, cree un punto de enlace de VPC de interfaz para que el tráfico de Amazon Data Firehose procedente de sus recursos de Amazon VPC comience a fluir a través del punto de enlace de VPC de interfaz. Al crear un punto de conexión, puede adjuntarle una política de punto final que controle el acceso a Amazon Data Firehose. Para obtener más información sobre el uso de políticas para controlar el acceso desde un punto de enlace de VPC a Amazon Data Firehose, consulte Control del acceso a los servicios con puntos de enlace de VPC.

El siguiente ejemplo muestra cómo puede configurar una AWS Lambda función en una VPC y crear un punto de enlace de VPC para permitir que la función se comunique de forma segura con el servicio Amazon Data Firehose. En este ejemplo, utiliza una política que permite a la función Lambda enumerar las transmisiones de Firehose de la región actual, pero no describir ninguna transmisión de Firehose.

Crear un punto de conexión de VPC
  1. Inicie sesión en la consola de Amazon VPC AWS Management Console y ábrala en https://console.aws.amazon.com/vpc/.

  2. En el panel de la VPC, elija Endpoints (Puntos de enlace).

  3. Seleccione Crear punto de conexión.

  4. En la lista de nombres de servicio, elija com.amazonaws.your_region.kinesis-firehose.

  5. Elija la VPC y una o varias subredes en las que se debe crear el punto de enlace.

  6. Elija uno o varios grupos de seguridad para asociar con el punto de enlace.

  7. En Policy (Política), elija Custom (Personalizada) y pegue la siguiente política:

    { "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. Seleccione Crear punto de conexión.

Creación de un rol de IAM que se usará con la función de Lambda
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de la izquierda, elija Roles y, a continuación, seleccione Crear rol.

  3. En Seleccionar tipo de entidad de confianza, deje la selección predeterminada Servicio de AWS .

  4. En Choose the service that will use this role (Elegir el servicio que usará este rol), elija Lambda.

  5. Elija Next: Permissions (Siguiente: permisos).

  6. En la lista de políticas, busque y añada las dos políticas denominadas AWS LambdaVPCAccessExecutionRole y AmazonDataFirehoseReadOnlyAccess.

    importante

    A continuación se muestra un ejemplo: Es posible que necesite políticas más estrictas para su entorno de producción.

  7. Elija Siguiente: etiquetas. Para este ejercicio, no es necesario que añada ninguna etiqueta. Elija Siguiente: Revisar.

  8. Ingrese un nombre para el rol y, a continuación, seleccione Crear rol.

Creación de una función de Lambda en la VPC
  1. Abra la AWS Lambda consola en https://console.aws.amazon.com/lambda/.

  2. Elija Crear función.

  3. Elija Crear desde cero.

  4. Introduzca un nombre para la función y, a continuación, establezca Runtime en Python 3.9 o en una posición superior.

  5. En Permissions (Permisos), expanda Choose or create an execution role (Seleccionar o crear un rol de ejecución).

  6. En la lista Execution role (Rol de ejecución), elija Use an existing role (Usar un rol existente).

  7. En la lista Existing role (Rol existente), elija el rol que creó antes.

  8. Elija Crear función.

  9. En Function code (Código de la función), pegue el siguiente código.

    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. En Basic settings (Configuración básica), establezca el tiempo de espera en 1 minuto.

  11. En Network (Red), elija la VPC en la que creó el punto de enlace y, a continuación, elija las subredes y el grupo de seguridad con los que asoció el punto de enlace cuando lo creó.

  12. Cerca de la parte superior de la página, elija Guardar.

  13. Seleccione Probar.

  14. Ingrese un nombre de evento y, a continuación, elija Crear.

  15. Elija Test (Probar) de nuevo. Esto hace que la función se ejecute. Cuando aparezca el resultado de la ejecución, expanda Details (Detalles) y compare la salida de registro con el código de la función. Los resultados satisfactorios muestran una lista de los arroyos Firehose de la región, así como el siguiente resultado:

    Calling describe_delivery_stream.

    AccessDeniedException

    Access denied test succeeded.

Disponibilidad

Los puntos de enlace de la VPC de tipo interfaz se admiten actualmente en las regiones siguientes:

  • US East (Ohio)

  • Este de EE. UU. (Norte de Virginia)

  • Oeste de EE. UU. (Norte de California)

  • Oeste de EE. UU. (Oregón)

  • Asia-Pacífico (Bombay)

  • Asia-Pacífico (Seúl)

  • Asia-Pacífico (Singapur)

  • Asia-Pacífico (Sídney)

  • Asia-Pacífico (Tokio)

  • Asia-Pacífico (Hong Kong)

  • Canadá (centro)

  • Oeste de Canadá (Calgary

  • China (Pekín)

  • China (Ningxia)

  • Europa (Fráncfort)

  • Europa (Irlanda)

  • Europa (Londres)

  • Europa (París)

  • América del Sur (São Paulo)

  • AWS GovCloud (Este de EE. UU.)

  • AWS GovCloud (Estados Unidos-Oeste)

  • Europa (España)

  • Medio Oriente (EAU)

  • Asia-Pacífico (Yakarta)

  • Asia-Pacífico (Osaka)

  • Israel (Tel Aviv)