Entornos de desarrollo

1º DAM/DAW - Curso 2024-2025

User Tools

Site Tools


apuntes:despliegue

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
apuntes:despliegue [2025/03/24 23:25] – created Santiago Faciapuntes:despliegue [2025/03/24 23:51] (current) – [Desplegar la aplicación] Santiago Faci
Line 6: Line 6:
  
 ===== Iniciar una instancia EC2 en AWS ====== ===== Iniciar una instancia EC2 en AWS ======
 +
 +  * Accedemos a la AWS Management Console
 +
 +<figure>
 +{{ aws_management_console.png?500 }}
 +</figure>
 +
 +  * Accedemos al servicio EC2
 +
 +<figure>
 +{{ aws_ec2.png?500 }}
 +</figure>
 +
 +  * Accedemos a la opción ''Instances''
 +
 +<figure>
 +{{ aws_instances.png?500500 }}
 +</figure>
 +
 +  * Desde alli pulsamos en ''Launch Instance'' para lanzar una nueva instancia de EC2
 +  * Una vez lanzada la instancia se nos descargará el fichero PEM que nos hará de certificado cuando queramos conectar con ella a través de SSH. En nuestro caso ese fichero se llamará ''cities.pem''
 +
  
 ===== Conectar con SSH a una instancia EC2 de AWS ===== ===== Conectar con SSH a una instancia EC2 de AWS =====
  
-===== +Encontraremos las instrucciones para conectar pulsando en el botón ''Connect'' una vez hayamos seleccionado la instancia EC2 con la que queremos conectar. 
 + 
 +<figure> 
 +{{ aws_connect.png?500 }} 
 +</figure> 
 + 
 +Si queremos conectar mediante SSH, las instrucciones están en la pestaña que dice ''SSH Client''. Será algo como esto: 
 + 
 +<code bash> 
 +ssh -i "cities.pem" ec2-user@ec2-94-12-3-207.compute-1.amazonaws.com 
 +</code> 
 + 
 +===== Preparar la instancia EC2 para el despliegue ===== 
 + 
 +Una vez que hayamos logrado conectar con la instancia EC2, el primer caso será instalar todo lo necesario. En nuestro caso será: 
 +  * Docker 
 +  * Docker compose 
 +  * Node.js 
 +  * Git (para clonar el repositorio con nuestro código) 
 + 
 +==== Instalar docker y docker-compose ==== 
 + 
 +<code bash> 
 +santi@zenbook:$ sudo yum install docker 
 +santi@zenbook:$ curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o docker-compose 
 +santi@zenbook:$ chown ec2-user.ec2-user docker-compose 
 +santi@zenbook:$ cp docker-compose /usr/local/bin 
 +</code> 
 + 
 +En este punto deberiamos ser capaces de ejecutar los comandos ''docker'' y ''docker-compose'' como superusuario: 
 + 
 +<code bash> 
 +santi@zenbook:$ sudo docker 
 +santi@zenbook:$ sudo docker-compose 
 +</code> 
 + 
 +==== Instalar nodejs ==== 
 + 
 +<code bash> 
 +santi@zenbook:$ yum install nodejs 
 +</code> 
 + 
 +==== Clonar el repositorio ==== 
 + 
 +<code bash> 
 +santi@zenbook:$ sudo yum install git 
 +santi@zenbook:$ git clone https://github.com/codeandcoke/cities 
 +</code> 
 + 
 +===== Lanzar la aplicación ===== 
 + 
 +<code bash> 
 +santi@zenbook:$ sudo docker-compose -f docker-compose.dev.yaml up -d 
 +santi@zenbook:$ npm install 
 +santi@zenbook:$ npm start 
 +</code> 
 + 
 +Y ya tendremos, por ejemplo, el endpoint ''GET /cities'' disponible en http://ec2-94-12-3-207.compute-1.amazonaws.com:8080/cities
  
 ---- ----
apuntes/despliegue.1742858703.txt.gz · Last modified: 2025/03/24 23:25 by Santiago Faci