Tutorial oer it meitsjen fan applikaasjes op Amazon Web Services (AWS)

Tutorial oer it meitsjen fan applikaasjes op Amazon Web Services (AWS)

Amazon Web Services (AWS) is ien fan 'e populêrste cloud computing-platfoarms yn 'e wrâld. Mei AWS kinne jo applikaasjes bouwe en útfiere sûnder fysike servers te keapjen, serverromte yn te stellen of jo eigen ynfrastruktuer te ûnderhâlden. Dit artikel sil jo troch it meitsjen fan in ienfâldige applikaasje op AWS liede mei in mienskiplike oanpak: it ynsetten fan in webapplikaasje mei help fan kompjûtertsjinsten (EC2), in behearde database (RDS) as opsje, en opslach en in domein as it nedich is. Hoewol it folgjende foarbyld algemien is, kinne jo it tapasse op in protte soarten applikaasjes.

-

1. Earste tarieding: Rekkens en basisbegripen

Foardat jo begjinne, soargje derfoar dat jo in AWS-akkount hawwe. In protte AWS-tsjinsten biede in Free Tier (fergees binnen bepaalde limiten) oan dat perfekt is foar oefening.

Guon wichtige konsepten dy't jo begripe moatte:

– Regio: lokaasje fan it AWS-datasintrum (foarbyld: Singapore/ap-súdeast-1). Kies de tichtste regio foar lege latency.
– IAM (Identiteits- en Tagongsbehear): in tagongsbehearsysteem. Bêste praktyk: brûk it root-akkount net foar deistich wurk.
– VPC (Virtual Private Cloud): in firtueel netwurk dêr't jo tsjinsten op rinne.
– Feiligensgroep: “firewall” om ynkommende/útgeande tagong fan 'e server te regeljen.

Troch dizze fjouwer dingen te begripen, sil it folle makliker foar jo wêze om de basis fan AWS te navigearjen.

-

2. Meitsje IAM-brûkers en befeilige akkounts

Feiligens is altyd ús nûmer ien prioriteit. Meld jo oan by de AWS-konsole as root, en dan:

1. Iepenje de IAM-tsjinst.
2. Meitsje in nije brûker oan (bygelyks `admin-dev`) en kontrolearje Brûkerstagong jaan ta de AWS Management Console.
3. Tastimming jaan: foar oefening kinne jo AdministratorAccess brûke (hoewol it yn echte projekten beheinder wêze moat).
4. Skeakelje MFA (Multi-Factor Authentication) yn om de feiligens te fergrutsjen.

As jo ​​​​​​klear binne, logje jo út fan root en meld jo oan mei de nij oanmakke IAM-brûker.

-

3. Bepale de applikaasje-arsjitektuer

Foar dizze tutorial sille wy in ienfâldige arsjitektuer bouwe:

– EC2: webapplikaasjes útfiere (bygelyks Node.js/Express, Python Flask, of PHP).
– Opsjonele RDS: behearde MySQL/PostgreSQL-database, sadat gegevens kreas opslein wurde.
– S3 (opsjoneel): bewarret statyske bestannen lykas ôfbyldings, dokuminten of reservekopyen.
– Rûte 53 (opsjoneel): domeinen beheare.
– CloudWatch: basismonitoring.

LÊZE  It ferskil tusken firtualisaasje en kontenerisaasje

As jo ​​krekt begjinne, fokusje dan op EC2 om jo applikaasjes earst út te fieren.

-

4. Meitsje in EC2-tsjinner

a) Meitsje in eksimplaar
1. Meld jo oan by de EC2-tsjinst.
2. Klik op Eksimplaar starte.
3. Selektearje OS, bygelyks Ubuntu Server 22.04 LTS.
4. Selektearje it ynstânsjetype: foar Free Tier brûk `t2.micro` of `t3.micro` (ôfhinklik fan beskikberens).
5. Meitsje of selektearje in kaaipear (bygelyks, `aws-key.pem`). Hâld it `.pem`-bestân feilich, om't it brûkt wurdt foar SSH.

b) Netwurk- en firewallkonfiguraasje
– Soargje derfoar dat it eksimplaar yn 'e standert VPC is (allinich foar oefening).
– Feiligensgroep ynstelle:
– Poart 22 (SSH) allinnich fan jo IP (bygelyks `Myn IP`)
– Poart 80 (HTTP) fan `0.0.0.0/0` (iepenbier)
– Poart 443 (HTTPS) fan `0.0.0.0/0` as letter SSL brûkt wurdt

Opmerking: It iepenjen fan SSH foar it publyk is riskant. Beheine altyd IP-adressen.

Klik op Start en wachtsje oant it eksimplaar rint.

-

5. Oanmelde by de tsjinner fia SSH

Op Windows kinne jo WSL of PuTTY brûke. Op macOS/Linux kinne jo it direkt fanút de terminal dwaan.

1. Tastimmingskaai feroarje:
"` bash
chmod 400 aws-key.pem
""
2. SSH nei de server (brûk Iepenbiere IPv4 fan EC2):
"` bash
ssh -i aws-key.pem ubuntu@PUBLIC_IP
""

As it slagget, binne jo op 'e AWS Ubuntu-tsjinner.

-

6. Ynstallearje webserver en applikaasje-runtime

Hjir is in foarbyld foar in Node.js-applikaasje, om't it in soad brûkt wurdt foar it moderne web.

a) Ofhinklikheden bywurkje en ynstallearje
"` bash
sudo apt update && sudo apt upgrade -y
sudo apt ynstallearje -y krul git
""

b) Ynstallearje Node.js (LTS-ferzje)
"` bash
krul -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash –
sudo apt ynstalleare -e nodejs
node -v
npm -v
""

-

7. Meitsje in ienfâldige applikaasje

LÊZE  Tutorial oer it meitsjen fan in VM yn VirtualBox en VMware

Meitsje in projektmap oan:

"` bash
mkdir mynapp && cd mynapp
npm init -y
npm ynstallearje ekspres
""

Meitsje in `index.js` bestân:

"`js
const útdruklik = fereaske("útdruklik");
const app = express();

app.get("/", (req, res) => {
res.send("Hallo! Dyn applikaasje rint op AWS EC2.");
});

app.listen(3000, () => console.log("Server rint op poarte 3000"));
""

Fier de applikaasje út:

"` bash
knooppunt yndeks.js
""

Besykje tagong te krijen fanút in browser:
– `http://PUBLIC_IP:3000`

Poart 3000 is lykwols op it stuit net iepen yn 'e Feiligensgroep. Jo kinne:
1) iepenje poarte 3000 yn 'e Feiligensgroep, of
2) brûk in reverse proxy (mear oanrikkemandearre) sadat de applikaasje op 'e ynterne poarte bliuwt, mar tagonklik is fia poarte 80/443.

-

8. Nginx brûke as in Reverse Proxy (tagong fia poarte 80)

Ynstallearje Nginx:
"` bash
sudo apt ynstallearje -y nginx
sudo systemctl enable nginx
sudo systemctl start nginx
""

Nginx-konfiguraasje ynstelle:
"` bash
sudo nano /etc/nginx/sites-available/myapp
""

Konfiguraasje-ynhâld:
"`nginx
tsjinner {
harkje 80;
Server Namme _;

lokaasje / {
proxy_pass http://127.0.0.1:3000;
proxy_http_ferzje 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Ferbining 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
""

Konfiguraasje ynskeakelje:
"` bash
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl opnij laden nginx
""

No tagong:
– `http://PUBLIC_IP/`

De applikaasje rint op poarte 3000, mar it publyk hat tagong ta it fia poarte 80.

-

9. Applikaasjes oanhâldend útfiere mei PM2

Om te foarkommen dat de applikaasje crasht as SSH loskeppele is, brûk PM2:

"` bash
sudo npm ynstallearje -g pm2
pm2 start index.js –namme mynapp
pm2 bewarje
pm2 opstart
""

It kommando `pm2 startup` sil ekstra ynstruksjes jaan. Fier it werjûne kommando út om de applikaasje automatysk te starten as de server opnij opstart.

-

10. (Opsjoneel) In databank tafoegje mei RDS

As jo ​​applikaasje in database fereasket, makket RDS it maklik, om't AWS backups, patching en skalearring beheart.

Koarte stappen:
1. Iepenje RDS-tsjinst → Database oanmeitsje.
2. Selektearje MySQL of PostgreSQL (Free Tier-regels binne beskikber op bepaalde konfiguraasjes).
3. Stel brûkersnamme/wachtwurd yn.
4. Soargje derfoar dat it RDS-eksimplaar yn deselde VPC is as de EC2.
5. Stel de RDS-feiligensgroep yn om allinich ferbiningen fan 'e EC2-feiligensgroep te akseptearjen (net fan it publyk).

LÊZE  Hoe kinne jo de bêste hosting kieze foar in persoanlike webside

As de databank live is, pak it RDS-eindpunt en ferbine dermei fanút jo applikaasje mei it databankstjoerprogramma.

-

11. (Opsjoneel) HTTPS ynskeakelje mei SSL-sertifikaat

Foar produksje is HTTPS ferplicht. Typyske metoade:
– Brûk in domein (bygelyks fan Route 53 of in oare registrar).
– Ynstallearje SSL fia Let's Encrypt (Certbot) op EC2.

Koartsein:
"` bash
sudo apt ynstallearje -y certbot python3-certbot-nginx
sudo certbot –nginx
""

Folgje de wizard om in domein te selektearjen en HTTPS-omlieding yn te skeakeljen.

-

12. Monitoaring en kosten

AWS biedt CloudWatch om metriken te besjen lykas CPU, netwurk en spesifike logs. Jo wolle ek jo kosten kontrolearje om net te missen.

Wichtige tips:
– Fakturearringsalarm ynskeakelje yn CloudWatch (bygelyks alarm as de kosten mear as $5 binne).
- Skeakelje it eksimplaar út as it net yn gebrûk is.
– Ferwiderje net brûkte boarnen (load balancers, EBS, elastyske IP's, snapshots), om't se noch altyd kosten meibringe kinne.

-

Penutup

Lokwinske! Jo hawwe de basis leard fan it bouwen fan in applikaasje op AWS mei EC2, it útfieren fan in webapplikaasje, it ynstellen fan in Nginx reverse proxy, en it altyd oan meitsje mei PM2. Jo hawwe ek in oersjoch krigen fan ekstra tsjinsten lykas RDS foar databases, S3 foar opslach, en HTTPS-sertifikaten foar feiligens.

As jo ​​in nivo omheech wolle, binne de folgjende stappen meastal:
– Automatisearre ynset mei CI/CD (GitHub Actions + SSH, of AWS CodeDeploy),
– It brûken fan konteners mei Docker en orkestraasjes lykas ECS of EKS,
– Mei help fan serverleaze arsjitektuer mei Lambda + API Gateway.

As jo ​​wolle, spesifisearje dan asjebleaft it type applikaasje dat jo bouwe (Node.js, Laravel, Django, React, ensfh.) en it bedoelde doel (demo, produksje, grutskalige). Ik kin de tutorial oanpasse mei mear spesifike stappen.

Lit in reaksje achter