

# Otorgamiento a las funciones de Lambda de acceso a un recurso de Amazon VPC en otra cuenta
<a name="configuration-vpc-cross-account"></a>

Puede conceder a su función de AWS Lambda acceso a un recurso de Amazon VPC en Amazon Virtual Private Cloud gestionado por otra cuenta sin exponer ninguna de las VPC a Internet. Este patrón de acceso le permite compartir datos con otras organizaciones que utilicen AWS. Con este patrón de acceso, puede compartir datos entre VPC con un mayor nivel de seguridad y rendimiento que a través de Internet. Configure su función de Lambda para usar una conexión de emparejamiento de Amazon VPC para acceder a estos recursos.

**aviso**  
Cuando permita el acceso entre cuentas o VPC, compruebe que su plan cumpla con los requisitos de seguridad de las respectivas organizaciones que administran estas cuentas. Seguir las instrucciones de este documento afectará a la seguridad de sus recursos.

En este tutorial, conectará dos cuentas mediante una conexión de pares mediante IPv4. Configure una función de Lambda que aún no esté conectada a una Amazon VPC. La resolución de DNS se configura para conectar la función a los recursos que no proporcionan direcciones IP estáticas. Para adaptar estas instrucciones a otros escenarios de emparejamiento, consulte la [Guía de emparejamiento de VPC](https://docs.aws.amazon.com//vpc/latest/peering/what-is-vpc-peering.html).

## Requisitos previos
<a name="w2aac15c43c67b9"></a>

Para conceder acceso a una función de Lambda a un recurso de otra cuenta, debe tener:
+ Una función de Lambda configurada para autenticarse con el recurso y, a continuación, leerlo.
+ Un recurso de otra cuenta, como un clúster de Amazon RDS, disponible a través de Amazon VPC.
+ Credenciales para la cuenta de su función de Lambda y la cuenta de su recurso. Si tiene autorización para usar la cuenta de su recurso, contacte con un usuario autorizado para que prepare esa cuenta.
+ Permiso para crear y actualizar una VPC (y los recursos de Amazon VPC compatibles) para asociarla a su función de Lambda.
+ Permiso para actualizar el rol de ejecución y la configuración de VPC de la función de Lambda.
+ Permiso para crear una conexión de emparejamiento de VPC en la cuenta de su función de Lambda.
+ Permiso para aceptar una conexión de emparejamiento de VPC en la cuenta de su recurso.
+ Permiso para actualizar la configuración de la VPC de su recurso (y los recursos de Amazon VPC compatibles).
+ Permiso para invocar una función de Lambda.

## Creación de una Amazon VPC en la cuenta de su función
<a name="w2aac15c43c67c11"></a>

Cree una Amazon VPC, subredes, tablas de enrutamiento y un grupo de seguridad en la cuenta de su función de Lambda. 

**Para crear una VPC, subredes y otros recursos de la VPC mediante la consola**

1. Abra la consola de Amazon VPC en [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. En el panel, elija **Crear VPC**.

1. Para el **bloque de CIDR de IPv4**, proporcione un bloque de CIDR privado. El bloque de CIDR no se debe solapar con los bloques utilizados en la VPC de su recurso. No elija un bloque que utilice la VPC de sus recursos para asignar direcciones IP a los recursos ni un bloque ya definido en las tablas de enrutamiento de la VPC de sus recursos. Para obtener más información sobre cómo definir los bloques de CIDR adecuados, consulte [Bloques de CIDR de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-cidr-blocks.html).

1. Elija **Personalizar las zonas de disponibilidad**.

1. Seleccione las mismas zonas de disponibilidad que su recurso.

1. Para **Cantidad de subredes públicas**, elija **0**.

1. Para **VPC endpoints** (Puntos de conexión de la VPC), elija **None** (Ninguno).

1. Seleccione **Creación de VPC**.

## Concesión de permisos de VPC al rol de ejecución de la función
<a name="w2aac15c43c67c13"></a>

Adjunte [AWSLambdaVPCAccessExecutionRole](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLambdaVPCAccessExecutionRole.html) al rol de ejecución de la función para permitir que se conecte a las VPC. 

**Concesión de permisos de VPC al rol de ejecución de la función**

1. Abra la página de [Funciones](https://console.aws.amazon.com/lambda/home#/functions) en la consola de Lambda.

1. Elija el nombre de su función.

1. Elija **Configuración**.

1. Elija **Permisos**.

1. En **Nombre del rol**, elija el rol de ejecución.

1. En la sección **Políticas de permisos**, elija **Agregar permisos**.

1. En la lista desplegable, elija **Adjuntar políticas**.

1. En el cuadro de búsqueda, escriba `AWSLambdaVPCAccessExecutionRole`.

1. A la izquierda del nombre de la política, elija la casilla de verificación.

1. Elija **Añadir permisos**.

**Asociación de la función a su Amazon VPC**

1. Abra la página de [Funciones](https://console.aws.amazon.com/lambda/home#/functions) en la consola de Lambda.

1. Elija el nombre de su función.

1. Elija la pestaña **Configuración** y, a continuación, elija **VPC**.

1. Elija **Edit (Edición de)**.

1. En **VPC**, seleccione la VPC.

1. En **Subredes**, elija sus subredes.

1. En **Grupo de seguridad**, seleccione el grupo de seguridad predeterminado de la VPC.

1. Seleccione **Save**.

## Creación de una solicitud de conexión de emparejamiento de VPC
<a name="w2aac15c43c67c17"></a>

Cree una solicitud de conexión de emparejamiento de VPC desde la VPC de su función (la VPC solicitante) a la VPC de su recurso (la VPC receptora).

**Solicitud de una conexión de emparejamiento de VPC desde la VPC de su función**

1. Abra [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. En el panel de navegación, elija **Peering Connections** (Conexiones de emparejamiento).

1. Elija **Create peering connection** (Crear conexión de emparejamiento).

1. En **ID de VPC (solicitante)**, seleccione la VPC de su función.

1. En **ID de cuenta**, ingrese el ID de la cuenta de su recurso.

1. En **ID de VPC (receptora)**, ingrese la VPC de su recurso.

## Preparación de la cuenta del recurso
<a name="w2aac15c43c67c19"></a>

Para crear la conexión de emparejamiento y preparar la VPC del recurso para usarla, inicie sesión en la cuenta del recurso con un rol que posea los permisos que se indican en los requisitos previos. Los pasos para iniciar sesión pueden variar según la forma en que esté protegida la cuenta. Para obtener más información sobre el inicio de sesión en una cuenta de AWS, consulte la [Guía del usuario de Inicio de sesión en AWS](https://docs.aws.amazon.com//signin/latest/userguide/what-is-sign-in.html). En la cuenta de su recurso, lleve a cabo los siguientes procedimientos.

**Aceptación de una solicitud de conexión de emparejamiento de VPC**

1. Abra [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. En el panel de navegación, elija **Peering Connections** (Conexiones de emparejamiento).

1. Seleccione la conexión de emparejamiento de VPC pendiente (con el estado aceptación pendiente).

1. Elija **Acciones**.

1. En la lista desplegable, elija **Aceptar solicitud**.

1. Cuando se le pida confirmación, elija **Aceptar solicitud**.

1. Elija **Modificar mis tablas de ruteo ahora** para agregar una ruta a la tabla de enrutamiento principal de la VPC y, así, poder enviar y recibir tráfico a través de la conexión de emparejamiento.

Inspeccione las tablas de enrutamiento de la VPC del recurso. Es posible que la ruta generada por Amazon VPC no establezca la conectividad en función de cómo esté configurada la VPC de su recurso. Compruebe si hay conflictos entre la nueva ruta y la configuración existente de la VPC. Para obtener más información sobre la solución de problemas, consulte [Solución de problemas de conexión de emparejamiento de VPC](https://docs.aws.amazon.com/vpc/latest/peering/troubleshoot-vpc-peering-connections.html) en la *Guía de emparejamiento de Amazon Virtual Private Cloud (VPC)*.

**Actualización del grupo de seguridad de su recurso**

1. Abra [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. En el panel de navegación, elija **Grupos de seguridad**.

1. Seleccione el grupo de seguridad de su recurso.

1. Elija **Acciones**.

1. En la lista desplegable, elija **Editar reglas de entrada**.

1. Seleccione **Agregar regla**.

1. En **Origen**, ingrese el ID de cuenta de la función y el ID del grupo de seguridad, separados por una barra diagonal (como, por ejemplo, 111122223333/sg-1a2b3c4d).

1. Elija **Edit outbound rules**.

1. Compruebe si el tráfico saliente está restringido. La configuración de VPC predeterminada permite todo el tráfico saliente. Si el tráfico saliente está restringido, continúe con el siguiente paso.

1. Seleccione **Agregar regla**.

1. En **Destino**, ingrese el ID de cuenta de la función y el ID del grupo de seguridad, separados por una barra diagonal (como, por ejemplo, 111122223333/sg-1a2b3c4d).

1. Seleccione **Guardar reglas**.

**Habilitación de la resolución de DNS para la interconexión**

1. Abra [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. En el panel de navegación, elija **Peering Connections** (Conexiones de emparejamiento).

1. Seleccione la conexión de emparejamiento.

1. Elija **Acciones**.

1. Elija **Editar configuración de DNS**.

1. En la sección **Resolución de DNS de receptora**, seleccione **Permitir al VPC solicitante resolver el DNS de los host de VPC receptores a una IP privada**.

1. Seleccione **Save changes (Guardar cambios)**.

## Actualización de la configuración de VPC en la cuenta de la función
<a name="w2aac15c43c67c21"></a>

Inicie sesión en la cuenta de la función y, a continuación, actualice la configuración de VPC.

**Adición de una ruta para su conexión de emparejamiento de VPC**

1. Abra [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. En el panel de navegación, elija **Tablas de enrutamiento**.

1. Seleccione la casilla de verificación situada junto al nombre de la tabla de enrutamiento para la subred que asoció a su función.

1. Elija **Acciones**.

1. Elija **Edit routes** (Editar rutas).

1. Seleccione **Añadir ruta**.

1. En **Destino**, ingrese el bloque de CIDR de la VPC de su recurso.

1. En **Objetivo**, seleccione la conexión de emparejamiento de VPC.

1. Seleccione **Save changes (Guardar cambios)**.

Para obtener más información sobre las consideraciones que pueden surgir al actualizar las tablas de enrutamiento, consulte [Actualice sus tablas de enrutamiento para interconexiones de VPC](https://docs.aws.amazon.com//vpc/latest/peering/vpc-peering-routing.html).

**Actualización del grupo de seguridad de la función de Lambda**

1. Abra [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. En el panel de navegación, elija **Grupos de seguridad**.

1. Elija **Acciones**.

1. Elija **Editar reglas de entrada**.

1. Seleccione **Agregar regla**.

1. En **Origen**, ingrese el ID de cuenta y el ID del grupo de seguridad del recurso, separados por una barra diagonal (por ejemplo, 111122223333/sg-1a2b3c4d).

1. Seleccione **Guardar reglas**.

**Habilitación de la resolución de DNS para la interconexión**

1. Abra [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. En el panel de navegación, elija **Peering Connections** (Conexiones de emparejamiento).

1. Seleccione la conexión de emparejamiento.

1. Elija **Acciones**.

1. Elija **Editar configuración de DNS**.

1. En la sección **Resolución de DNS de solicitante**, seleccione **Permitir al VPC receptor resolver el DNS de los host de VPC solicitantes a una IP privada**.

1. Seleccione **Save changes (Guardar cambios)**.

## Comprobación de la función de
<a name="w2aac15c43c67c23"></a>

**Creación de un evento de prueba e inspección del resultado de la función**

1. En el panel **Código fuente**, elija **Probar**.

1. Seleccione **Crear un evento nuevo**.

1. En el panel **Evento JSON**, sustituya los valores predeterminados por una entrada adecuada para la función de Lambda.

1. Elija **Invoke (Invocar)**.

1. En la pestaña **Resultados de ejecución**, confirme que **Respuesta** contenga el resultado esperado.

Además, puede comprobar los registros de su función para verificar que sean los esperados.

**Visualización de los registros de invocación de la función en Registros de CloudWatch**

1. Elija la pestaña **Supervisar**.

1. Seleccione **Ver Registros en CloudWatch**.

1. En la pestaña **Flujos de registro**, elija el flujo de registro para la invocación de la función.

1. Confirme que los registros son los esperados.