Tutorial sobre la creació d'aplicacions a Amazon Web Services (AWS)

Tutorial sobre la creació d'aplicacions a Amazon Web Services (AWS)

Amazon Web Services (AWS) és una de les plataformes de computació en núvol més populars del món. Amb AWS, podeu crear i executar aplicacions sense comprar servidors físics, configurar espai de servidor ni mantenir la vostra pròpia infraestructura. Aquest article us guiarà en la creació d'una aplicació senzilla a AWS mitjançant un enfocament comú: implementar una aplicació web mitjançant serveis de computació (EC2), una base de dades gestionada (RDS) com a opció i emmagatzematge i un domini si cal. Tot i que l'exemple següent és general, el podeu aplicar a molts tipus d'aplicacions.

-

1. Preparació inicial: Comptes i conceptes bàsics

Abans de començar, assegureu-vos que teniu un compte d'AWS. Molts serveis d'AWS ofereixen un nivell gratuït (gratuït dins de certs límits) que és perfecte per practicar.

Alguns conceptes importants que cal entendre:

– Regió: Ubicació del centre de dades d'AWS (exemple: Singapur/ap-southeast-1). Trieu la regió més propera per a una latència baixa.
– IAM (Identity and Access Management): un sistema de gestió d'accés. Pràctica recomanada: no utilitzeu el compte root per a la feina diària.
– VPC (Núvol Privat Virtual): una xarxa virtual on s'executen els vostres serveis.
– Grup de seguretat: “tallafocs” per regular l'accés entrant/sortint del servidor.

Si entens aquestes quatre coses, et serà molt més fàcil navegar pels conceptes bàsics d'AWS.

-

2. Crea usuaris d'IAM i protegeix els comptes

La seguretat sempre és la nostra prioritat número u. Inicieu la sessió a la consola d'AWS com a root i, a continuació:

1. Obriu el servei IAM.
2. Creeu un usuari nou (per exemple, `admin-dev`) i marqueu Proporcioneu accés d'usuari a la consola de gestió d'AWS.
3. Atorga permisos: per a la pràctica pots utilitzar AdministratorAccess (encara que en projectes reals hauria de ser més limitat).
4. Activeu l'MFA (autenticació multifactor) per augmentar la seguretat.

Un cop fet això, tanqueu la sessió des de l'usuari root i inicieu-la amb l'usuari IAM que acabeu de crear.

-

3. Determinar l'arquitectura de l'aplicació

Per a aquest tutorial, construirem una arquitectura senzilla:

– EC2: execució d'aplicacions web (per exemple, Node.js/Express, Python Flask o PHP).
– RDS opcional: base de dades MySQL/PostgreSQL gestionada, de manera que les dades s'emmagatzemen de manera ordenada.
– S3 (opcional): emmagatzema fitxers estàtics com ara imatges, documents o còpies de seguretat.
– Ruta 53 (opcional): gestionar dominis.
– CloudWatch: monitorització bàsica.

LLEGIR  Beneficis d'utilitzar la computació en núvol per a empreses

Si tot just esteu començant, centreu-vos primer en EC2 per executar les vostres aplicacions.

-

4. Crea un servidor EC2

a) Crear una instància
1. Inicieu la sessió al servei EC2.
2. Feu clic a Inicia instància.
3. Seleccioneu el sistema operatiu, per exemple Ubuntu Server 22.04 LTS.
4. Seleccioneu el tipus d'instància: per al nivell gratuït, utilitzeu `t2.micro` o `t3.micro` (segons disponibilitat).
5. Crea o selecciona un parell de claus (per exemple, `aws-key.pem`). Mantingueu el fitxer `.pem` segur, ja que s'utilitzarà per a SSH.

b) Configuració de xarxa i tallafocs
– Assegureu-vos que la instància estigui a la VPC per defecte (només per practicar).
– Estableix el grup de seguretat:
– Port 22 (SSH) només des de la vostra IP (per exemple, `La meva IP`)
– Port 80 (HTTP) de `0.0.0.0/0` (públic)
– Port 443 (HTTPS) des de `0.0.0.0/0` si més tard s'utilitza SSL

Nota: Obrir SSH al públic és arriscat. Restringeix sempre les adreces IP.

Feu clic a Inicia i espereu que la instància s'executi.

-

5. Inicieu la sessió al servidor mitjançant SSH

A Windows, podeu utilitzar WSL o PuTTY. A macOS/Linux, podeu fer-ho directament des del terminal.

1. Canviar la clau de permisos:
"`bash
chmod 400 aws-key.pem

2. Connecteu-vos al servidor per SSH (feu servir l'IPv4 pública d'EC2):
"`bash
ssh -i aws-key.pem ubuntu@IP_PÚBLICA

Si ho feu correctament, sou al servidor AWS Ubuntu.

-

6. Instal·leu el servidor web i el temps d'execució de les aplicacions

Aquí teniu un exemple d'aplicació Node.js, ja que s'utilitza àmpliament per a la web moderna.

a) Actualitzar i instal·lar dependències
"`bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git

b) Instal·leu Node.js (versió LTS)
"`bash
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash –
sudo apt install -y nodejs
node -v
npm -v

-

7. Crea una aplicació senzilla

LLEGIR  Com optimitzar el SEO per a llocs web de comerç electrònic

Crea una carpeta de projecte:

"`bash
mkdir la meva aplicació i cd la meva aplicació
npm init -y
npm install express

Crea un fitxer `index.js`:

"`js"
const express = requereix("express");
const app = express();

app.get("/", (req, res) => {
res.send("Hola! La teva aplicació s'està executant a AWS EC2.");
});

app.listen(3000, () => console.log("Servidor executant-se al port 3000"));

Executeu l'aplicació:

"`bash
node index.js

Prova d'accedir des d'un navegador:
– `http://IP_PÚBLICA:3000`

Tanmateix, el port 3000 no està obert actualment al Grup de Seguretat. Podeu:
1) obrir el port 3000 al Grup de Seguretat, o
2) utilitzeu un proxy invers (més recomanable) de manera que l'aplicació romangui al port intern però es pugui accedir a través del port 80/443.

-

8. Ús de Nginx com a proxy invers (accés a través del port 80)

Instal·leu Nginx:
"`bash
sudo apt install -y nginx
sudo systemctl permeten nginx
sudo systemctl start nginx

Configuració de Nginx:
"`bash
sudo nano /etc/nginx/sites-available/myapp

Contingut de configuració:
"`nginx
servidor {
escolta 80;
nom_servidor _;

ubicació / {
proxy_pass http://127.0.0.1:3000;
proxy_http_versió 1.1;
proxy_set_header Actualitza $http_upgrade;
proxy_set_header Connexió 'actualització';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}

Habilita la configuració:
"`bash
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl recarrega nginx

Ara accedeix a:
– `http://IP_PÚBLICA/`

L'aplicació s'executa al port 3000, però el públic hi accedeix a través del port 80.

-

9. Executar aplicacions de manera persistent amb PM2

Per evitar que l'aplicació es bloquegi quan es desconnecta SSH, feu servir PM2:

"`bash
sudo npm install -g pm2
pm2 start index.js –name myapp
pm2 guarda
engegada pm2

L'ordre `pm2 startup` proporcionarà instruccions addicionals. Executeu l'ordre que es mostra perquè l'aplicació s'executi automàticament quan es reiniciï el servidor.

-

10. (Opcional) Afegir una base de dades amb RDS

Si la vostra aplicació requereix una base de dades, RDS ho facilita perquè AWS gestiona còpies de seguretat, aplicacions de pegats i escalabilitat.

Passos curts:
1. Obriu el servei RDS → Crea una base de dades.
2. Seleccioneu MySQL o PostgreSQL (les regles de nivell gratuït estan disponibles en determinades configuracions).
3. Establiu el nom d'usuari i la contrasenya.
4. Assegureu-vos que la instància RDS es troba a la mateixa VPC que l'EC2.
5. Configureu el grup de seguretat RDS per acceptar només connexions del grup de seguretat EC2 (no del públic).

LLEGIR  Com gestionar projectes de programari amb Agile

Un cop la base de dades estigui activa, agafeu el punt final RDS i connecteu-vos-hi des de l'aplicació mitjançant el controlador de base de dades.

-

11. (Opcional) Activa HTTPS amb certificat SSL

Per a la producció, HTTPS és obligatori. Mètode típic:
– Utilitzeu un domini (per exemple, de Route 53 o d'un altre registrador).
– Instal·leu SSL mitjançant Let's Encrypt (Certbot) a EC2.

En resum:
"`bash
sudo apt install -y certbot python3-certbot-nginx
sudo certbot –nginx

Seguiu l'assistent per seleccionar un domini i habilitar la redirecció HTTPS.

-

12. Seguiment i costos

AWS proporciona CloudWatch per veure mètriques com la CPU, la xarxa i registres específics. També voldreu supervisar els vostres costos per evitar perdre's res.

Consells importants:
– Activeu l'alarma de facturació a CloudWatch (per exemple, alarma si els càrrecs superen els 5 $).
– Apagueu la instància quan no estigui en ús.
– Elimineu els recursos no utilitzats (equilibradors de càrrega, EBS, IP elàstiques, instantànies), ja que encara poden generar costos.

-

Tancament

Enhorabona! Has après els conceptes bàsics de com crear una aplicació a AWS amb EC2, executar una aplicació web, configurar un proxy invers de Nginx i fer-lo estar sempre actiu amb PM2. També has obtingut una visió general de serveis addicionals com RDS per a bases de dades, S3 per a emmagatzematge i certificats HTTPS per a seguretat.

Si voleu pujar de nivell, els passos següents solen ser:
– Implementació automatitzada amb CI/CD (GitHub Actions + SSH o AWS CodeDeploy),
– Ús de contenidors amb Docker i orquestracions com ECS o EKS,
– Ús d'una arquitectura sense servidor amb Lambda + API Gateway.

Si voleu, especifiqueu el tipus d'aplicació que esteu creant (Node.js, Laravel, Django, React, etc.) i el seu propòsit previst (demo, producció, a gran escala). Puc personalitzar el tutorial amb passos més específics.

Deixa un comentari