Tutorial fir d'Erstelle vun Applikatiounen op Amazon Web Services (AWS)
Amazon Web Services (AWS) ass eng vun de populäersten Cloud-Computing-Plattforme weltwäit. Mat AWS kënnt Dir Applikatioune bauen an ausféieren, ouni physesch Serveren ze kafen, Serverplaz opzestellen oder Är eegen Infrastruktur ze verwalten. Dësen Artikel weist Iech, wéi Dir eng einfach Applikatioun op AWS erstellt mat engem gemeinsame Wee: eng Webapplikatioun mat Compute Services (EC2), enger verwalteter Datebank (RDS) als Optioun, a Späicherplatz an enger Domain, wann néideg, deployéieren. Wärend dat folgend Beispill allgemeng ass, kënnt Dir et op vill Aarte vun Applikatiounen uwenden.
-
1. Éischt Virbereedung: Konten a Grondkonzepter
Ier Dir ufänkt, gitt sécher datt Dir en AWS-Kont hutt. Vill AWS-Servicer bidden en gratis Niveau (gratis bannent bestëmmte Grenzen) un, deen fir d'Übung gëeegent ass.
E puer wichteg Konzepter, déi Dir verstoe musst:
– Regioun: Standuert vum AWS-Datenzentrum (Beispill: Singapur/ap-southeast-1). Wielt déi nootste Regioun fir eng niddreg Latenz.
– IAM (Identitéits- a Zougangsmanagement): en Zougangsmanagementsystem. Am Beschten: Benotzt de Root-Kont net fir déi deeglech Aarbecht.
– VPC (Virtual Private Cloud): e virtuellt Netzwierk, wou Är Servicer lafen.
– Sécherheetsgrupp: „Firewall“ fir den Zougang zum/ausgoende vum Server ze reguléieren.
Wann Dir dës véier Saache verstitt, wäert et Iech vill méi einfach sinn, Iech mat den AWS-Grondlage ze vertraut ze maachen.
-
2. IAM-Benotzer erstellen a Konten sécheren
Sécherheet ass ëmmer eis Nummer eent Prioritéit. Mellt Iech an der AWS Konsole als Root un, an dann:
1. Den IAM-Service opmaachen.
2. Erstellt en neie Benotzer (z.B. `admin-dev`) a markéiert de Méiglechkeet "Gitt dem Benotzer Zougang zu der AWS Management Console".
3. Erlaabnis gewähren: fir d'Übung kënnt Dir AdministratorAccess benotzen (obwuel et a richtege Projeten méi limitéiert sollt sinn).
4. Aktivéiert MFA (Multi-Factor Authentication) fir d'Sécherheet ze erhéijen.
Wann Dir fäerdeg sidd, loggt Iech vum Root aus a loggt Iech mat dem nei erstallten IAM-Benotzer an.
-
3. Bestëmmt d'Applikatiounsarchitektur
Fir dësen Tutorial wäerte mir eng einfach Architektur opbauen:
– EC2: Webapplikatiounen ausféieren (z.B. Node.js/Express, Python Flask oder PHP).
– Optional RDS: verwaltete MySQL/PostgreSQL-Datebank, sou datt d'Donnéeën iwwerhaapt gespäichert sinn.
– S3 (optional): späichert statesch Dateien wéi Biller, Dokumenter oder Backups.
– Route 53 (optional): Domainen verwalten.
– CloudWatch: Basis Iwwerwaachung.
Wann Dir just ufänkt, konzentréiert Iech op EC2 fir Är Applikatiounen als éischt auszeféieren.
-
4. Erstellt en EC2 Server
a) Eng Instanz erstellen
1. Mellt Iech beim EC2-Service un.
2. Klickt op Instanz starten.
3. Wielt d'Betribssystem aus, zum Beispill Ubuntu Server 22.04 LTS.
4. Wielt den Instanztyp: fir de Free Tier benotzt `t2.micro` oder `t3.micro` (ofhängeg vun der Disponibilitéit).
5. Erstellt oder wielt e Schlësselpaar (z.B. `aws-key.pem`). Halt d'Datei `.pem` sécher, well se fir SSH benotzt gëtt.
b) Netzwierk- a Firewallkonfiguratioun
– Vergewëssert Iech, datt d'Instanz am Standard-VPC ass (nëmme fir ze üben).
– Sécherheetsgrupp astellen:
– Port 22 (SSH) nëmme vun Ärer IP (z.B. `Meng IP`)
– Port 80 (HTTP) vun `0.0.0.0/0` (ëffentlech)
– Port 443 (HTTPS) vun `0.0.0.0/0` wann spéider SSL benotzt gëtt
Bemierkung: SSH fir d'Ëffentlechkeet opzemaachen ass riskant. IP-Adressen ëmmer beschränken.
Klickt op Launch a waart bis d'Instanz leeft.
-
5. Umellen op de Server iwwer SSH
Op Windows kënnt Dir WSL oder PuTTY benotzen. Op macOS/Linux kënnt Dir dat direkt vum Terminal aus maachen.
1. Berechtigungsschlëssel änneren:
"` bas
chmod 400 aws-key.pem
""
2. SSH op de Server (benotzt ëffentlech IPv4 vun EC2):
"` bas
ssh -i aws-key.pem ubuntu@PUBLIC_IP
""
Wann et erfollegräich ass, sidd Dir um AWS Ubuntu Server.
-
6. Webserver an Applikatiounslafzäit installéieren
Hei ass e Beispill fir eng Node.js Applikatioun, well se wäit verbreet fir de modernen Web benotzt gëtt.
a) Ofhängegkeeten aktualiséieren an installéieren
"` bas
sudo apt update && sudo apt upgrade -y
sudo apt installéieren -y curl git
""
b) Node.js installéieren (LTS Versioun)
"` bas
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash –
sudo apt installéieren -y nodejs
node -v
npm -v
""
-
7. Erstellt eng einfach Applikatioun
Erstellt e Projetdossier:
"` bas
mkdir mengApp && cd mengApp
npm init -y
npm installéieren express
""
Erstellt eng `index.js` Datei:
„`js“
const express = require("express");
const app = express();
app.get("/", (ufro, res) => {
res.send("Hallo! Är Applikatioun leeft op AWS EC2.");
});
app.listen(3000, () => console.log("Server leeft op Port 3000"));
""
Féiert d'Applikatioun aus:
"` bas
node index.js
""
Probéiert vun engem Browser aus zouzegräifen:
– `http://PUBLIC_IP:3000`
Allerdéngs ass de Port 3000 am Moment net an der Sécherheetsgrupp op. Dir kënnt:
1) Port 3000 an der Sécherheetsgrupp opmaachen, oder
2) benotzt e Reverse Proxy (méi recommandéiert), sou datt d'Applikatioun um internen Port bleift, awer iwwer Port 80/443 zougänglech ass.
-
8. Nginx als Reverse Proxy benotzen (Zougang iwwer Port 80)
Installéiert Nginx:
"` bas
sudo apt install -y nginx
sudo systemctl aktivéiert nginx
sudo systemctl start nginx
""
Nginx Konfiguratioun opsetzen:
"` bas
sudo nano /etc/nginx/sites-available/myapp
""
Konfiguratiounsinhalt:
"nginx
Server {
lauschtert 80;
Servernumm _;
Standuert / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Verbindung 'Upgrade';
proxy_set_header Host $ Host;
proxy_cache_bypass $http_upgrade;
}
}
""
Konfiguratioun aktivéieren:
"` bas
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
""
Elo Zougang:
– `http://PUBLIC_IP/`
D'Applikatioun leeft um Port 3000, awer d'Ëffentlechkeet kritt Zougang dozou iwwer de Port 80.
-
9. Applikatioune persistent mat PM2 ausféieren
Fir ze verhënneren datt d'Applikatioun ofstürzt wann SSH ofgebrach ass, benotzt PM2:
"` bas
sudo npm installéieren -g pm2
pm2 start index.js –numm meng App
pm2 späicheren
pm2 Startup
""
De Kommando `pm2 startup` gëtt zousätzlech Instruktiounen. Féiert de ugewise Kommando aus, fir datt d'Applikatioun automatesch leeft, wann de Server nei start.
-
10. (Optional) Eng Datebank mat RDS derbäisetzen
Wann Är Applikatioun eng Datebank erfuerdert, mécht RDS et einfach, well AWS Backups, Patching a Skalierung geréiert.
Kuerz Schrëtt:
1. RDS-Service opmaachen → Datebank erstellen.
2. Wielt MySQL oder PostgreSQL (Free Tier Reegele sinn op bestëmmte Konfiguratiounen verfügbar).
3. Benotzernumm/Passwuert astellen.
4. Vergewëssert Iech, datt d'RDS-Instanz am selwechte VPC wéi den EC2 ass.
5. Setzt d'RDS-Sécherheetsgrupp sou, datt se nëmme Verbindunge vun der EC2-Sécherheetsgrupp akzeptéiert (net vun der ëffentlecher).
Soubal d'Datebank live ass, huelt den RDS-Endpoint erof a verbënnt Iech vun Ärer Applikatioun iwwer den Datebanktreiber domat.
-
11. (Optional) HTTPS mat SSL Zertifikat aktivéieren
Fir d'Produktioun ass HTTPS obligatoresch. Typesch Method:
– Benotzt eng Domain (z.B. vu Route 53 oder engem anere Registrar).
– SSL iwwer Let's Encrypt (Certbot) op EC2 installéieren.
Kuerz gesot:
"` bas
sudo apt install -y certbot python3-certbot-nginx
sudo certbot –nginx
""
Follegt dem Assistent fir eng Domain auszewielen an HTTPS-Viruleedung z'aktivéieren.
-
12. Iwwerwaachung a Käschten
AWS bitt CloudWatch fir Metriken wéi CPU, Netzwierk a spezifesch Logbicher ze gesinn. Dir sollt och Är Käschten iwwerwaachen, fir näischt ze verpassen.
Wichteg Tipps:
– Aktivéiert d'Aktualiséierungsalarm a CloudWatch (z.B. Alarm wann d'Käschte méi wéi $5 sinn).
– Schalt d'Instanz aus, wann se net benotzt gëtt.
– Net benotzt Ressourcen (Load Balancer, EBS, elastesch IPs, Snapshots) ewechhuelen, well se trotzdem Käschte mat sech brénge kënnen.
-
Ofschloss
Gratulatioun! Dir hutt d'Grondlage vum Opbau vun enger Applikatioun op AWS mat EC2 geléiert, wéi Dir eng Webapplikatioun ausféiere kënnt, wéi Dir en Nginx Reverse Proxy opstellt a wéi Dir en mat PM2 ëmmer aktiv maache kënnt. Dir hutt och en Iwwerbléck iwwer zousätzlech Servicer wéi RDS fir Datenbanken, S3 fir Späicherung an HTTPS-Zertifikater fir Sécherheet.
Wann Dir e Level eropgoe wëllt, sinn déi nächst Schrëtt normalerweis:
– Automatiséiert Deployment mat CI/CD (GitHub Actions + SSH oder AWS CodeDeploy),
– Container mat Docker an Orchestratiounen wéi ECS oder EKS benotzen,
– Serverlos Architektur mat Lambda + API Gateway benotzen.
Wann Dir wëllt, gitt w.e.g. un, wéi eng Zort Applikatioun Dir baut (Node.js, Laravel, Django, React, etc.) a wéi eng Zwecker si virgesinn hunn (Demo, Produktioun, Groussskala). Ech kann den Tutorial mat méi spezifesche Schrëtt personaliséieren.