La computación de AWS Lambda ofrece velocidades de inicio optimizadas para sus compilaciones. AWS Lambda admite compilaciones más rápidas debido a una latencia de inicio más baja. AWS Lambda también se escala automáticamente para que las compilaciones no tengan que esperar en la cola para su ejecución. Sin embargo, hay algunos casos de uso con los que AWS Lambda no es compatible; si esto le afecta, utilice la computación de EC2. Para obtener más información, consulte Limitaciones de la computación de AWS Lambda.
Temas
- ¿Qué herramientas y entornos de tiempo de ejecución se incluyen en las imágenes de Docker del entorno de tiempo de ejecución seleccionado que se ejecuta en AWS Lambda?
- ¿Qué pasa si la imagen seleccionada no incluye las herramientas que necesito?
- ¿Qué regiones admiten la computación de AWS Lambda en CodeBuild?
- Limitaciones de la computación de AWS Lambda
- Implementación de una función de Lambda mediante AWS SAM con CodeBuild Lambda Java
- Creación de una aplicación React de una sola página con CodeBuild Lambda Node.js
- Actualización de la configuración de una función de Lambda con CodeBuild Lambda Python
¿Qué herramientas y entornos de tiempo de ejecución se incluyen en las imágenes de Docker del entorno de tiempo de ejecución seleccionado que se ejecuta en AWS Lambda?
AWS Lambda admite las herramientas siguientes: AWS CLI v2, AWS SAM CLI, git, go, Java, Node.js, Python, pip, Ruby y .NET.
¿Qué pasa si la imagen seleccionada no incluye las herramientas que necesito?
Si la imagen seleccionada no incluye las herramientas que necesita, puede proporcionar una imagen de Docker de entorno personalizado que sí las incluya.
Tenga en cuenta que necesita los siguientes permisos de Amazon ECR para utilizar imágenes personalizadas para la computación de Lambda:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecr:GetAuthorizationToken"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage"
],
"Resource": "arn:aws:ecr:image-region
:image-account-id
:repository/image-repo
"
}
]
}
Tenga en cuenta también que debe haber instalado curl
o wget
para poder utilizar imágenes personalizadas.
¿Qué regiones admiten la computación de AWS Lambda en CodeBuild?
En CodeBuild, se admite la computación de AWS Lambda en las Regiones de AWS siguientes: Asia-Pacífico (Bombay), Este de EE. UU. (Ohio), Europa (Irlanda), Europa (Fráncfort), Este de EE. UU. (Norte de Virginia), Asia-Pacífico (Tokio), Oeste de EE. UU. (Oregón), América del Sur (São Paulo), Asia-Pacífico (Singapur) y Asia-Pacífico (Sídney). Para obtener información sobre Regiones de AWS donde CodeBuild está disponible, consulte Servicios de AWS por región
Limitaciones de la computación de AWS Lambda
Hay algunos casos de uso con los que AWS Lambda no es compatible; si esto le afecta, utilice la computación de EC2:
-
AWS Lambda no admite herramientas que requieren permisos de root. En el caso de herramientas como
yum
orpm
, utilice el tipo de computación EC2 u otras herramientas que no requieran permisos de root. -
AWS Lambda no admite compilaciones ni ejecuciones de Docker.
-
AWS Lambda no admite la escritura en archivos fuera de
/tmp
. Los administradores de paquetes incluidos están configurados para usar el directorio/tmp
de forma predeterminada para descargar paquetes y hacer referencia a ellos. -
AWS Lambda no es compatible con el tipo de entorno
LINUX_GPU_CONTAINER
y no es compatible con Windows Server Core 2019. -
AWS Lambda no admite el almacenamiento en caché, las compilaciones por lotes, los tiempos de espera de compilación personalizados, el tiempo de espera en cola, las insignias de compilación, el modo privilegiado, los entornos de tiempo de ejecución personalizados ni los tiempos de ejecución superiores a 15 minutos.
-
AWS Lambda no admite la conectividad con VPC, un rango fijo de direcciones IP de origen de CodeBuild, EFS, la instalación de certificados o el acceso SSH con el Administrador de sesiones.