

# Conexión de puntos de conexión de VPC de la interfaz de entrada para Lambda
<a name="configuration-vpc-endpoints"></a>

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

Puede establecer una conexión privada entre la VPC y Lambda mediante la creación de un [punto de enlace de la VPC de interfaz](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html). Los puntos de enlace de interfaz cuentan con la tecnología de [AWS PrivateLink](https://aws.amazon.com/privatelink), lo que les permite acceder de forma privada a las API de Lambda sin utilizar una puerta de enlace 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 la interfaz está representado por una o más [interfaces de redes elásticas](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) 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.

**Topics**
+ [Consideraciones para los puntos de enlace de la interfaz Lambda](#vpc-endpoint-considerations)
+ [Creación de un punto de enlace de interfaz para Lambda](#vpc-endpoint-create)
+ [Creación de una política de punto de enlace de interfaz para Lambda](#vpc-endpoint-policy)

## Consideraciones para los puntos de enlace de la interfaz Lambda
<a name="vpc-endpoint-considerations"></a>

Antes de configurar un punto de enlace de la interfaz para Lambda, revise el tema [Propiedades y limitaciones de los puntos de enlace de interfaz](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#vpce-interface-limitations) 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 de Lambda llamando a la API de `Invoke` desde su VPC. Para ver la lista completa de las API de Lambda, consulte [Actions (Acciones)](https://docs.aws.amazon.com/lambda/latest/dg/API_Operations.html) en la Referencia de las API de Lambda.

`use1-az3` es una región de capacidad limitada para las funciones de la VPC de Lambda. No debe utilizar subredes en esta zona de disponibilidad con las funciones de Lambda, ya que esto puede reducir la redundancia zonal en caso de una interrupción.

### Directiva ”keep-alive” para conexiones persistentes
<a name="vpc-endpoint-considerations-keepalive"></a>

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](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-reusing-connections.html) en la *Guía del desarrollador de AWS SDK para JavaScript*.

### Consideraciones de facturación
<a name="vpc-endpoint-considerations-billing"></a>

No se generan costos adicionales por acceder a una función de Lambda a través de un punto de enlace. Para obtener más información sobre los precios de Lambda, consulte los [Precios de AWS Lambda](https://aws.amazon.com/lambda/pricing/).

Los precios estándar de AWS PrivateLink se aplica a los puntos de enlace de la interfaz para Lambda. Su 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 del punto de enlace de la interfaz. Para obtener más información sobre los precios de los puntos de enlace de tipo interfaz, consulte [Precios de AWS PrivateLink](https://aws.amazon.com/privatelink/pricing/).

### Consideraciones sobre la interconexión de VPC
<a name="vpc-endpoint-considerations-peering"></a>

Puede conectar una VPC a otra con puntos de enlace de interfaz mediante [Interconexión con VPC](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html). El emparejamiento 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 emparejadas 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 como las instancias de Amazon Elastic Compute Cloud (Amazon EC2), las instancias de Amazon Relational Database Service (Amazon RDS) o las funciones de Lambda habilitadas para VPC pueden acceder a la API de Lambda a través de puntos de enlace de interfaz creados en una de las VPC.

## Creación de un punto de enlace de interfaz para Lambda
<a name="vpc-endpoint-create"></a>

Puede crear un punto de enlace de interfaz para Lambda mediante la consola de Amazon VPC o la AWS Command Line Interface (AWS CLI). Para más información, consulte [Creación de un punto de conexión de interfaz](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#create-interface-endpoint) en la *Guía del usuario de Amazon VPC*.

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

1. Abra la página [Endpoints (Puntos de enlace)](https://console.aws.amazon.com/vpc/home?#Endpoints) de la consola de Amazon VPC.

1. Seleccione **Crear punto de conexión**.

1. En **Categoría de servicio**, verifique que **Servicios de AWS** esté seleccionada.

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

1. Elija una VPC y las subredes.

1. Para habilitar un DNS privado para el punto de enlace de interfaz, seleccione **Enable DNS Name (Habilitar nombre de DNS)**, en la casilla de verificación. Le recomendamos que habilite nombres DNS privados para su punto de conexión de VPC para los Servicios de AWS. Esto garantiza que las solicitudes que utilizan los puntos de conexión de servicio público, como las solicitudes realizadas a través de un SDK de AWS, se resuelvan en su punto de conexión de VPC.

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

1. Elija **Crear punto de conexión**.

Para poder utilizar la opción de DNS privado, debe definir `enableDnsHostnames` y `enableDnsSupportattributes` en su VPC. Para obtener más información, consulte [Viewing and updating DNS support for your VPC (Visualización y actualización de la compatibilidad de DNS para su VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating) en la *Guía del usuario de Amazon VPC*. Si habilita DNS privado para el punto de enlace de interfaz, puede realizar solicitudes a la API para Lambda usando su nombre de DNS predeterminado para la región, por ejemplo `lambda.us-east-1.amazonaws.com`. Para ver otros puntos de enlace de servicio, consulte [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) en la *Referencia general de AWS*.

Para más información, consulte [Acceso a un servicio a través de un punto de conexión de interfaz](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#access-service-though-endpoint) 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 CloudFormation, consulte el recurso [AWS::EC2::VPCEndpoint](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html) en la *Guía del usuario de AWS CloudFormation*.

**Si desea crear un punto de enlace de la interfaz para Lambda (AWS CLI)**  
Utilice el comando [create-vpc-endpoint](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-vpc-endpoint.html) y especifique el ID de la VPC, el tipo de punto de conexión de VPC (interfaz), el nombre del servicio, las subredes que usarán el punto de conexión y los grupos de seguridad que se asociarán a las interfaces de red del punto de conexión. 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
<a name="vpc-endpoint-policy"></a>

Para controlar quién puede usar en punto de enlace de la interfaz y a qué funciones de 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 más información, consulte [Control del acceso a los servicios con puntos de enlace de la VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) 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`.

**nota**  
Debe incluir el ARN completo e incompleto de la función en el recurso.

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