Como usar la consola de amazon para crear aws Lambda con image de docker


 

 

# Creación Lambda con imagen

Para trabajar con AWS Lambda con imagen, es necesario crear un Registro de Contenedor en el servicio ECR (Amazon Elastic Container Registry) y configurar una función Lambda. A continuación, se detallan los pasos para lograrlo.

## Creación del Registro de Contenedor en la Consola de AWS

1. Accede a la consola de AWS utilizando el siguiente enlace: [Consola de AWS ECR](https://us-east-1.console.aws.amazon.com/ecr/repositories?region=us-east-1).

2. Dentro de la consola, sigue los siguientes pasos:

a. Haz clic en el botón "View Push Commands".

b. Copia todos los comandos que se muestran en esa sección. Deberías obtener algo similar a lo siguiente:

![Comandos de AWS ECR](./resources/img/awsecrcommands.png)

Estos comandos te serán útiles para subir tu imagen de Docker a AWS y usarla en tu función Lambda.

## Preparación de tu Proyecto

3. Toma el archivo de Docker y el archivo `main.go` de esta carpeta y agrégalos a tu proyecto.

4. Modifica lo que sea necesario en tu software para que funcione correctamente.

## Compilación del Docker

5. Asegúrate de que el archivo Dockerfile se encuentre en la misma carpeta que tu main.go. Luego, ejecuta los siguientes comandos en tu consola:

### Primer Comando
docker build --platform linux/amd64 -t milambdaimagen .

Si ejecutas el primer comando correctamente, deberías ver la salida en tu consola como se muestra a continuación:

![Salida del comando Docker Build](./resources/img/dockerbuild.png)

### Segundo Comando
```
docker tag milambdaimagen:latest <TUNUMERODECUENTA>.dkr.ecr.us-east-1.amazonaws.com/milambdaimagen:latest
```

### Tercer Comando
```
docker push <TUNUMERODECUENTA>.dkr.ecr.us-east-1.amazonaws.com/milambdaimagen:latest
```
## Creación de la Función Lambda

6. Utiliza el siguiente enlace para crear una función Lambda en la consola de AWS:

[Crear Función Lambda](https://us-east-1.console.aws.amazon.com/lambda/home?region=us-east-1#/create/function?intent=authorFromImage)

Añade un nombre y selecciona la imagen que creaste en AWS ECR.

## Pruebas

7. Utiliza el botón de prueba en la configuración de tu Lambda para verificar que todo está funcionando correctamente. Si todo está bien, deberías ver un mensaje de éxito en verde.

## Notas

Recuerda que tu Registro de Contenedor en ECR puede necesitar permisos adecuados para que la Lambda pueda ejecutarlo. A continuación, se muestra un ejemplo de políticas que puedes asignar:

si usas la consola para crear el lambda y asociarlo a el ecr esto se hara automaticamente.

```json
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "LambdaECRImageRetrievalPolicy",
"Effect": "Allow",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Action": [
"ecr:BatchGetImage",
"ecr:DeleteRepositoryPolicy",
"ecr:GetDownloadUrlForLayer",
"ecr:GetRepositoryPolicy",
"ecr:SetRepositoryPolicy"
],
"Condition": {
"StringLike": {
"aws:sourceArn": "arn:aws:lambda:turegion:tunumerodecuenta:function:*"
}
}
}
]
}
```

pero si por alguna razon no estan configurado; asegúrate de configurar los permisos de acuerdo a tus necesidades.

¡Listo! Con estos pasos, habrás creado un Registro de Contenedor en AWS ECR y configurado una función Lambda. Puedes realizar pruebas para verificar que todo esté funcionando correctamente.

Asegúrate de reemplazar `<TUNUMERODECUENTA>` con el número de tu cuenta de AWS en los comandos y en la política.


Comentarios

Entradas populares de este blog

AWS SAM y AWS Lambda docker Container Image tutorial con PYTHON USANDO A...

Solucion: Docker Error: No such container:

Los unicas 4 herramientas que necesitas para volverte un master en Devops