Quiero integrar Amazon DynamoDB con mi instancia de AWS Lambda en Amazon Virtual Private Cloud (Amazon VPC).
Resolución
Requisitos previos:
Conexión de Lambda a DynamoDB
Sigue estos pasos:
- Abre la consola de Lambda.
- En el panel de navegación, selecciona Funciones.
- Selecciona Crear función.
- Selecciona Crear desde cero.
- En Información básica, configura lo siguiente:
En Nombre de la función, introduce un nombre para la función.
En Versión ejecutable, elige una opción de versión ejecutable. En este ejemplo, se utiliza Python 3.12.
En Arquitectura, elige x86_64.
- En Configuración avanzada, configura lo siguiente:
Selecciona Habilitar VPC y, a continuación, selecciona tu VPC.
En Subredes, selecciona solo subredes privadas.
En Grupos de seguridad, selecciona el grupo de seguridad predeterminado.
- Selecciona Crear función.
- En la página de detalles de la función, en Código fuente, introduce el siguiente código:
import json
import boto3
client = boto3.client('dynamodb')
def lambda_handler(event, context):
response = client.get_item(
TableName='Music',
Key={
'Artist': {
'S': 'No One You Know',
},
'SongTitle': {
'S': 'Call Me Today',
},
}
)
print(response)
return {
'statusCode': 200,
'body': json.dumps('Success!')
}
Nota: Sustituye TableName y Key por tus valores.
- Selecciona Desplegar.
- Prueba tu función.
Nota: Para probar la función, el rol de AWS Identity and Access Management (IAM) para Lambda debe tener los permisos adecuados. Para obtener más información, consulta Administración de permisos en AWS Lambda.
Resolución de problemas adicionales
Para solucionar problemas relacionados con una función de Lambda conectada a una VPC, haz lo siguiente:
-
Elimina las conexiones a subredes públicas de la función de Lambda. Si te conectas a subredes públicas, el tráfico intenta pasar a través de las subredes públicas y puede provocar problemas de tiempo de espera intermitentes.
-
Asegúrate de que el punto de enlace de puerta de enlace para DynamoDB esté configurado correctamente.
-
Actualiza las subredes privadas asociadas a la función de Lambda para que pasen por el punto de enlace de puerta de enlace de la VPC de DynamoDB. Estos puntos de enlace tienen listas de prefijos administradas por AWS que simplifican la configuración de los grupos de seguridad entre Lambda y DynamoDB.
Ejemplo de tabla de enrutamiento de subredes privadas:
Route Table: rtb-12345
Destination Gateway Status
10.0.0.0/16 local active
pl-1234 vpce-1234 active
-
Actualiza las reglas del grupo de seguridad de Lambda para permitir todo el tráfico.
Información relacionada
Creación de una función de Lambda con la consola
Uso de los puntos de enlace de Amazon VPC para acceder a DynamoDB
Configuraciones de redes y VPC