Ya sabes como hacer docker a tu aplicación y tienes un Dockerfile en la carpeta de tu proyecto. Instale docker compatible con su sistema operativo aquí
Tiene una cuenta con AWS.
Configurar
- Crea una clave de credencial de usuario aquí
- Haz clic en "Claves de acceso (ID de la clave de acceso y clave de acceso secreta).
- Crea una nueva clave de acceso.
- Descarga o guarda tanto la clave de acceso como la clave secreta en el portapapeles.
![](https://codigoencasa.com/content/images/2023/10/Captura-de-pantalla-2023-10-13-a-las-14.44.28.png)
AWS CLI:
$ brew install awscli$ aws configureAWS Access Key ID [None]: <YOUR_ACCESS_KEY_HERE>AWS Secret Access Key [None]: <YOUR_SECRET_KEY_HERE> Default region name [None]: us-west-2Default output format [None]: json
Recuerda que si tu quieres aprender aws, te dejo el siguiente video
Amazon Elastic Cluster Service
Va aquí para crear un clúster
![](https://codigoencasa.com/content/images/2023/10/Captura-de-pantalla-2023-10-13-a-las-14.48.03.png)
- Haz clic en Crear clúster en lugar de empezar. Esto también creará una instancia EC2 para que ejecutes tu imagen docker.
![](https://codigoencasa.com/content/images/2023/10/Captura-de-pantalla-2023-10-13-a-las-14.49.00.png)
![](https://codigoencasa.com/content/images/2023/10/Captura-de-pantalla-2023-10-13-a-las-14.49.35.png)
Elije una plantilla que se ajuste a lo que necesita. Quiero que mi EC2 simule mi sistema operativo Linux.
Hay 2 cosas que cambio son:
- Tipo de instancia EC2: cambiar a t2.micro porque es una capa gratuita a menos que quieras pagar.
- Par de claves: esto me permitirá acceder por SSH a la instancia desde mi portátil.
P/S: Ahora mismo, la instancia EC2 sólo puede acceder de forma privada, actualizaremos la seguridad más adelante.
- Crea y espera. Luego haz click en Ver Cluster
Ahora debería ver el panel de control de su clúster:
![](https://codigoencasa.com/content/images/2023/10/Captura-de-pantalla-2023-10-13-a-las-14.51.29.png)
AWS Elastic Container Register (ECR)
Similar al hub Docker, Amazon tiene una característica llamada Elastic Container Register, que te permite desplegar tu contenedor Docker en AWS.
- Haz clic en Repositorios en la barra de la izquierda
- Crear repositorio
- Verás tu docker en el dashboard.
- Haz clic en tu repositorio docker
![](https://codigoencasa.com/content/images/2023/10/Captura-de-pantalla-2023-10-13-a-las-14.53.28.png)
Haz clic en View Push Commands y sigue las instrucciones para desplegar tu aplicación.
Nota: Asegúrese de que usted necesita para volver a construir su aplicación de nuevo.
![](https://codigoencasa.com/content/images/2023/10/Captura-de-pantalla-2023-10-13-a-las-14.54.02-1.png)
Felicidades, ya tienes tu imagen URI lista para desplegar en la instancia EC2. Ahora, copia la imagen URI, y volvamos a Amazon ECS
![](https://codigoencasa.com/content/images/2023/10/Captura-de-pantalla-2023-10-13-a-las-14.55.07.png)
Definición de tareas
En la misma ventana, haga clic en "Task Definition" en la barra de la izquierda.
1. Crear nueva definición de tarea.
2. Elegir EC2
![](https://codigoencasa.com/content/images/2023/10/Captura-de-pantalla-2023-10-13-a-las-14.56.04.png)
3. Configura tu Task Definition: en este paso, le diremos a nuestra instancia EC2 que ejecute el contenedor docker que acabas de crear.
![](https://codigoencasa.com/content/images/2023/10/Captura-de-pantalla-2023-10-13-a-las-14.56.48.png)
Nombre: Dale un nombre a tu tarea (ej: run-server)
Tamaño de la tarea: elija 512 para ambos porque nuestra tarea es pequeña y simple supongo.
4. Add Container: ahora, se te pedirá que introduzcas el URI de la imagen de Docker. Si lo olvidaste, haz click aquí
![](https://codigoencasa.com/content/images/2023/10/Captura-de-pantalla-2023-10-13-a-las-14.57.44.png)
Configura el número de puerto para su EC2 a PORT 80
el puerto del contenedor: El puerto en el que se está ejecutando tu contenedor (en mi caso, mi contenedor se ejecuta en 8080).
Deja el resto como predeterminado > haz clic en "Añadir"
5. Haz click en Crear
6. Después de recibir la notificación con éxito, haga clic en acciones > Crear Servicio.
![](https://codigoencasa.com/content/images/2023/10/Captura-de-pantalla-2023-10-13-a-las-14.59.05.png)
Un servicio le permite especificar cuántas copias de su definición de tarea ejecutar y mantener en un clúster....Amazon ECS mantiene ese número de tareas y coordina la programación de tareas con el equilibrador de carga.
Configure tu servicioen aws
Paso 1
![](https://codigoencasa.com/content/images/2023/10/Captura-de-pantalla-2023-10-13-a-las-15.00.09.png)
Tipo de lanzamiento: EC2
Número de tareas: 1
Paso 2
![](https://codigoencasa.com/content/images/2023/10/Captura-de-pantalla-2023-10-13-a-las-15.01.22.png)
Paso 3
Dejarlo por defecto
Paso 4
Revisar > Crear Servicio
Despues de eso, deberías ver tu servicio que tiene "running count: 1" que significa:
a. Su tarea está ejecutando su contenedor docker
b. Su servicio está ejecutando la tarea en su instancia EC2
![](https://codigoencasa.com/content/images/2023/10/Captura-de-pantalla-2023-10-13-a-las-15.02.30.png)
Comprobación de la instancia EC2
Abre tu EC2 aquí
Haz clic en su EC2, y busque DNS Público (IPv4):
![](https://codigoencasa.com/content/images/2023/10/Captura-de-pantalla-2023-10-13-a-las-15.03.41.png)
Abre el navegador e introduce ese DNS público
Si lo has conseguido, enhorabuena, ahora tu aplicación está online. Si no, continúa con estos pasos:
Haz clic en el enlace junto a Grupo de seguridad > haz clic en el ID del grupo de seguridad
![](https://codigoencasa.com/content/images/2023/10/Captura-de-pantalla-2023-10-13-a-las-15.04.47.png)
Añade reglas de entrada como las siguientes:
![](https://codigoencasa.com/content/images/2023/10/Captura-de-pantalla-2023-10-13-a-las-15.05.15.png)
Añadir salida:
![](https://codigoencasa.com/content/images/2023/10/Captura-de-pantalla-2023-10-13-a-las-15.05.49.png)
Esto permitirá a cualquiera acceder a su enlace público.