Configuración de un punto de enlace de la VPC de la interfaz de Lambda - AWS Lambda

Configuración de un punto de enlace de la VPC de la interfaz de Lambda

Si utiliza Amazon Virtual Private Cloud (Amazon VPC) para alojar los recursos de AWS, puede establecer una conexión privada entre su VPC y Lambda. Puede utilizar esta conexión para invocar la función Lambda sin pasar por la red pública de Internet.

Para establecer una conexión privada entre su VPC y Lambda, cree un punto de enlace de la VPC de la interfaz. Los puntos de enlace de tipo interfaz cuentan con la tecnología de AWS PrivateLink, lo que les permite acceder de forma privada a las API de Lambda sin utilizar una gateway de Internet, un dispositivo NAT, una conexión de VPN o una conexión AWS Direct Connect. Las instancias de la VPC no necesitan direcciones IP públicas para comunicarse con las API de Lambda. El tráfico entre la VPC y Lambda no sale de la red de AWS.

Cada punto de enlace de interfaz está representado por una o varias interfaces de red elásticas en las subredes. Una interfaz de red proporciona una dirección IP privada que sirve como punto de entrada del tráfico dirigido a Lambda.

Consideraciones sobre las instancias de punto de enlace de interfaz de Lambda

Antes de configurar un punto de enlace de interfaz de Lambda, asegúrese de revisar las propiedades y limitaciones de los puntos de enlace de tipo interfaz en la Guía del usuario de Amazon VPC.

Puede llamar a cualquiera de las operaciones de API de Lambda desde su VPC. Por ejemplo, puede invocar la función Lambda llamando a la API Invoke desde su VPC. Para ver la lista completa de las API de Lambda, consulte Actions en la Referencia de las API de Lambda.

Directiva ”keep-alive” para conexiones persistentes

Con el tiempo, Lambda depura las conexiones inactivas, por lo que es necesario utilizar una directiva keep-alive para conservar las conexiones persistentes. Si intenta reutilizar una conexión inactiva al invocar una función, se producirá un error de conexión. Para mantener la conexión persistente, use la directiva keep-alive asociada al tiempo de ejecución. Para ver un ejemplo, consulte Reutilización de conexiones con Keep-Alive en Node.js en la Guía del desarrollador de AWS SDK for JavaScript.

Consideraciones de facturación

No se generan costos adicionales por acceder a una función Lambda a través de un punto de enlace de interfaz. Para obtener más información sobre los precios de Lambda, consulte Precios de AWS Lambda.

Los precios estándar de AWS PrivateLink se aplican a las instancias de punto de enlace de interfaz de Lambda. En la cuenta de AWS, se facturará cada hora de aprovisionamiento de un punto de enlace de interfaz en cada zona de disponibilidad y los datos procesados a través de punto de enlace de interfaz. Para obtener más información sobre los precios de punto de enlace de interfaz, consulte Precios de AWS PrivateLink.

Consideraciones sobre la interconexión de VPC

Puede conectar una VPC a otras con un punto de enlace de interfaz mediante la interconexión de VPC. La interconexión de VPC es una conexión de red entre dos VPC. Puede establecer una interconexión de VPC entre dos VPC propias o con una VPC de otra cuenta de AWS. Las VPC también pueden estar en dos regiones de AWS diferentes.

El tráfico entre las VPC interconectadas permanece en la red de AWS y no pasa por la red pública de Internet. Una vez que las VPC están interconectadas, algunos recursos de las dos VPC como las instancias de Amazon Elastic Compute Cloud (Amazon EC2), las instancias de Amazon Relational Database Service (Amazon RDS) o las funciones Lambda habilitadas para VPC pueden acceder a la API de Lambda a través de un punto de enlace de interfaz creado en una de las VPC.

Creación de un punto de enlace de interfaz de Lambda

Puede crear y ejecutar un punto de enlace de interfaz de Lambda utilizando la consola de Amazon VPC o AWS Command Line Interface (AWS CLI). Para obtener más información, consulte Creación de un punto de enlace de interfaz en la Guía del usuario de Amazon VPC.

Para crear un punto de enlace de interfaz de Lambda (consola)

  1. Abra la página Endpoints (Puntos de enlace) de la consola de Amazon VPC.

  2. Elija Create Endpoint.

  3. En Service category (Categoría de servicio), asegúrese de que se seleccione AWSservices (Servicios de AWS).

  4. En Service Name (Nombre del servicio), elija com.amazonaws.región.lambda. Compruebe que el valor de Type (Tipo) es Interface (Interfaz).

  5. Elija una VPC y las subredes.

  6. Si desea habilitar un DNS privado para el punto de enlace de interfaz, active la casilla Enable DNS Name (Activar nombre DNS).

  7. En Security group (Grupo de seguridad), elija uno o varios grupos de seguridad.

  8. Elija Create endpoint.

Para poder utilizar la opción de DNS privado, debe definir enableDnsHostnames y enableDnsSupportattributes en su VPC. Para obtener más información, consulte Ver y actualizar la compatibilidad de DNS para su VPC en la Guía del usuario de Amazon VPC. Si habilita un DNS privado para el punto de enlace de interfaz, puede realizar solicitudes de API a Lambda utilizando el nombre de DNS predeterminado de la región; por ejemplo, lambda.us-east-1.amazonaws.com. Para ver otros puntos de enlace de servicio, consulte Service endpoints and quotas en la AWS General Reference.

Para obtener más información, consulte Acceso a un servicio a través de un punto de enlace de interfaz en la Guía del usuario de Amazon VPC.

Para obtener información acerca de cómo se crea y configura un punto de enlace mediante AWS CloudFormation, consulte el recurso AWS::EC2::VPCEndpoint en la Guía del usuario de AWS CloudFormation.

Para crear un punto de enlace de interfaz de Lambda (AWS CLI)

Utilice el comando create-vpc-endpoint y especifique el ID de la VPC, el tipo de punto de enlace de la VPC (interfaz), el nombre del servicio, las subredes que usarán el punto de enlace y los grupos de seguridad que se asociarán a las interfaces de red del punto de enlace. Por ejemplo:

aws ec2 create-vpc-endpoint --vpc-id vpc-ec43eb89 --vpc-endpoint-type Interface --service-name \ com.amazonaws.us-east-1.lambda --subnet-id subnet-abababab --security-group-id sg-1a2b3c4d

Creación de una política de punto de enlace de interfaz para Lambda

Para controlar quién puede usar punto de enlace de interfaz y a qué funciones Lambda tiene acceso el usuario, puede asociar una política al punto de enlace. La política especifica la siguiente información:

  • La entidad principal que puede realizar acciones.

  • Acciones que la entidad principal puede realizar.

  • Recursos en los que la entidad principal puede realizar acciones.

Para obtener más información, consulte Control del acceso a servicios con puntos de enlace de la VPC en la Guía del usuario de Amazon VPC.

Ejemplo: Política de puntos de enlace de tipo interfaz para acciones de Lambda

A continuación, se muestra un ejemplo de una política de puntos de enlace de Lambda. Cuando la política se asocia a un punto de enlace, permite que el usuario MyUser invoque la función my-function.

{ "Statement":[ { "Principal": { "AWS": "arn:aws:iam::123412341234:user/MyUser" }, "Effect":"Allow", "Action":[ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:us-east-2:123456789012:function:my-function” ] } ] }