Solución:
Este error es común si intenta implementar un Lambda en una VPC sin otorgarle los permisos necesarios relacionados con la interfaz de red. ec2:DescribeNetworkInterfaces
, ec2:CreateNetworkInterface
, y ec2:DeleteNetworkInterface
(consulte el Foro de AWS).
Por ejemplo, esta es una política que permite implementar un Lambda en una VPC:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:DescribeNetworkInterfaces",
"ec2:CreateNetworkInterface",
"ec2:DeleteNetworkInterface",
"ec2:DescribeInstances",
"ec2:AttachNetworkInterface"
],
"Resource": "*"
}
]
}
Si está utilizando terraform, simplemente agregue:
resource "aws_iam_role_policy_attachment" "AWSLambdaVPCAccessExecutionRole" {
role = aws_iam_role.lambda.name
policy_arn = "arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole"
}
a través de AWS CLI utilizando una política administrada
- Para otorgar a mi Lambda los permisos necesarios para excavar en una VPC donde vive una base de datos RDS de producción.
- Como mencionó @portatlas anteriormente, el
AWSLambdaVPCAccessExecutionRole
la política administrada encaja como un guante (y todos sabemos que las políticas administradas de IAM son una práctica recomendada recomendada por AWS). - Esto es para Lambda con un rol de servicio ya adjunto.
1. Obtenga el rol de servicio Lambda
-
Tubería
aws lambda get-function-configuration
salida en un grep para Papel (probablemente una forma más limpia / magra / mala de hacer esto)aws lambda get-function-configuration --function-name <<your function name or ARN here>> | grep "Role"
-
regreso
"Role": "arn:aws:iam::000000000000:role/service-role/your-service-role-name",
-
Toma el valor después de la última barra inclinada del ARN del rol
your-service-role-name
a 2
2. Adjunte la política administrada AWSLambdaVPCAccessExecutionRole
al rol de servicio
aws iam attach-role-policy
--role-name your-service-role-name
--policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)