Isifundo Sokudala Izinhlelo Zokusebenza Kumasevisi Ewebhu e-Amazon (AWS)
I-Amazon Web Services (AWS) ingenye yamapulatifomu e-cloud computing athandwa kakhulu emhlabeni. Nge-AWS, ungakha futhi usebenzise izinhlelo zokusebenza ngaphandle kokuthenga amaseva angokoqobo, ukusetha isikhala seseva, noma ukugcina ingqalasizinda yakho. Lesi sihloko sizokuqondisa ekudaleni uhlelo lokusebenza olulula ku-AWS usebenzisa indlela evamile: ukusebenzisa uhlelo lokusebenza lwewebhu usebenzisa izinsizakalo zokubala (EC2), isizindalwazi esiphethwe (RDS) njengenketho, kanye nesitoreji kanye nesizinda uma kudingeka. Ngenkathi isibonelo esilandelayo sijwayelekile, ungasisebenzisa ezinhlotsheni eziningi zezinhlelo zokusebenza.
-
1. Ukulungiselela Kokuqala: Ama-akhawunti kanye Nemibono Eyisisekelo
Ngaphambi kokuthi uqale, qiniseka ukuthi une-akhawunti ye-AWS. Izinsizakalo eziningi ze-AWS zinikeza i-Free Tier (mahhala ngaphakathi kwemingcele ethile) efaneleke kakhulu ekusebenzeni.
Eminye imiqondo ebalulekile okudingeka uyiqonde:
– Isifunda: Indawo yesikhungo sedatha se-AWS (isibonelo: iSingapore/ap-southeastern-1). Khetha isifunda esiseduze kakhulu sokubambezeleka okuphansi.
– I-IAM (Ubunikazi Nokuphathwa Kokufinyelela): uhlelo lokuphatha ukufinyelela. Umkhuba omuhle kakhulu: ungasebenzisi i-akhawunti eyinhloko emsebenzini wansuku zonke.
– I-VPC (Ifu Eliyimfihlo Eliyi-Virtual): inethiwekhi ebonakalayo lapho izinsizakalo zakho zisebenza khona.
– Iqembu Lokuphepha: “i-firewall” yokulawula ukufinyelela okungenayo/okuphumayo kusuka kuseva.
Ngokuqonda lezi zinto ezine, kuzoba lula kakhulu kuwe ukuzulazula eziyisisekelo ze-AWS.
-
2. Dala Abasebenzisi be-IAM futhi Uvikele Ama-akhawunti
Ukuphepha kuhlale kuyinto eza kuqala kithi. Ngena ngemvume ku-AWS Console njengempande, bese:
1. Vula isevisi ye-IAM.
2. Dala Umsebenzisi omusha (isb. `admin-dev`) bese uhlola ukuthi i-Provide user access to AWS Management Console.
3. Nikeza imvume: ukuze uzijwayeze ungasebenzisa i-AdministratorAccess (yize kumaphrojekthi angempela kufanele kube nomkhawulo kakhulu).
4. Nika amandla i-MFA (Ukuqinisekiswa Kwezici Eziningi) ukuze kwandiswe ukuphepha.
Uma usuqedile, phuma ku-root bese ungena usebenzisa umsebenzisi we-IAM osanda kudalwa.
-
3. Nquma Ukwakheka Kwesicelo
Kulesi sifundo, sizokwakha isakhiwo esilula:
– EC2: ukusebenzisa izinhlelo zokusebenza zewebhu (isb. i-Node.js/Express, i-Python Flask, noma i-PHP).
– I-RDS yokuzikhethela: i-database ye-MySQL/PostgreSQL ephethwe, ukuze idatha igcinwe kahle.
– S3 (ongakukhetha): igcina amafayela angaguquki njengezithombe, amadokhumenti, noma ama-backups.
– Umzila 53 (ongakukhetha): phatha izizinda.
– I-CloudWatch: ukuqapha okuyisisekelo.
Uma usaqala nje, gxila ku-EC2 ukuze usebenzise izinhlelo zakho zokusebenza kuqala.
-
4. Dala iSeva ye-EC2
a) Dala Isibonelo
1. Ngena ngemvume kusevisi ye-EC2.
2. Chofoza i-Launch Instance.
3. Khetha i-OS, isibonelo i-Ubuntu Server 22.04 LTS.
4. Khetha uhlobo lwesibonelo: ukuze uthole i-Free Tier sebenzisa i-`t2.micro` noma i-`t3.micro` (kuye ngokutholakala).
5. Dala noma khetha i-Key Pair (isb., `aws-key.pem`). Gcina ifayela le-`.pem` liphephile njengoba lizosetshenziselwa i-SSH.
b) Ukucushwa Kwenethiwekhi Nomlilo
- Qiniseka ukuthi lesi sibonelo siku-VPC ezenzakalelayo (nje ngokuzijwayeza).
- Iqembu Lokuphepha Elisethiwe:
– I-Port 22 (SSH) kuphela kusuka ku-IP yakho (isb. `I-IP yami`)
– Imbobo 80 (HTTP) ye-`0.0.0.0/0` (yomphakathi)
– I-Port 443 (HTTPS) kusukela ku-`0.0.0.0/0` uma kamuva usebenzisa i-SSL
Qaphela: Ukuvula i-SSH emphakathini kuyingozi. Njalo khawulela amakheli e-IP.
Chofoza u-Launch bese ulinda ukuthi insiza isebenze.
-
5. Ngena ngemvume ku-Server nge-SSH
Ku-Windows, ungasebenzisa i-WSL noma i-PuTTY. Ku-macOS/Linux, ungakwenza ngqo kusuka ku-terminal.
1. Shintsha ukhiye wemvume:
“`bash
i-chmod 400 aws-key.pem
``
2. I-SSH kuseva (sebenzisa i-Public IPv4 evela ku-EC2):
“`bash
ssh -i aws-key.pem ubuntu@PUBLIC_IP
``
Uma uphumelele, useseva ye-AWS Ubuntu.
-
6. Faka i-Web Server kanye ne-Application Runtime
Nasi isibonelo sohlelo lokusebenza lwe-Node.js, njengoba lusetshenziswa kabanzi kwiwebhu yesimanje.
a) Buyekeza futhi ufake ukuncika
“`bash
ukuvuselelwa kwe-sudo apt && sudo apt ukukhuphula -y
ukufaka i-sudo apt -y curl git
``
b) Faka i-Node.js (inguqulo ye-LTS)
“`bash
i-curl -fsSL https://deb.nodesource.com/setup_lts.x | i-sudo -E bash –
sudo apt ukufaka -y nodejs
i-node -v
npm -v
``
-
7. Dala Isicelo Esilula
Dala ifolda yephrojekthi:
“`bash
mkdir myapp && cd myapp
npm init -y
ukufaka i-npm express
``
Dala ifayela elithi `index.js`:
“`js
const express = dinga ("express");
const app = express();
app.get(“/”, (isicelo, res) => {
res.send(“Sawubona! Uhlelo lwakho lokusebenza lusebenza ku-AWS EC2.”);
});
app.listen(3000, () => console.log(“Iseva isebenza ku-port 3000”));
``
Sebenzisa uhlelo lokusebenza:
“`bash
i-node index.js
``
Zama ukufinyelela kusuka kusiphequluli:
– `http://PUBLIC_IP:3000`
Noma kunjalo, i-port 3000 okwamanje ayivuliwe ku-Security Group. Ungakwazi:
1) i-port evulekile engu-3000 ku-Security Group, noma
2) sebenzisa i-reverse proxy (kunconywa kakhulu) ukuze uhlelo lokusebenza luhlale ku-port yangaphakathi kodwa lungafinyelelwa nge-port 80/443.
-
8. Ukusebenzisa i-Nginx njenge-Reverse Proxy (Ukufinyelela nge-Port 80)
Faka i-Nginx:
“`bash
ukufaka i-sudo apt -y nginx
I-sudo systemctl inika amandla i-nginx
sudo systemctl uqale nginx
``
Setha ukucushwa kwe-Nginx:
“`bash
sudo nano /etc/nginx/sites-available/myapp
``
Okuqukethwe kokucushwa:
“`nginx
iseva {
lalela i-80;
Igama le-server _;
indawo / {
ummeleli_pass http://127.0.0.1:3000;
ummeleli_http_inguqulo 1.1;
proxy_set_header Thuthukisa $http_upgrade;
i-proxy_set_header Uxhumano 'luthuthukisa';
proxy_set_header Umsingathi we-$host;
i-proxy_cache_bypass $http_upgrade;
}
}
``
Nika amandla ukucushwa:
“`bash
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl ukulayisha kabusha i-nginx
``
Manje finyelela:
– `http://PUBLIC_IP/`
Uhlelo lokusebenza lusebenza ku-port 3000 kodwa umphakathi ulufinyelela nge-port 80.
-
9. Ukusebenzisa Izinhlelo Zokusebenza Ngokuqhubekayo nge-PM2
Ukuze uvimbele uhlelo lokusebenza ukuthi lungaphazamisi uma i-SSH ingaxhunyiwe, sebenzisa i-PM2:
“`bash
ukufaka i-sudo npm -g pm2
i-pm2 start index.js –igama le-myapp
pm2 londoloza
ukuqala kwe-pm2
``
Umyalo we-`pm2 startup` uzonikeza imiyalelo eyengeziwe. Sebenzisa umyalo obonisiwe ukuze uhlelo lokusebenza lusebenze ngokuzenzakalelayo lapho iseva iqala kabusha.
-
10. (Ongakukhetha) Ukwengeza i-Database nge-RDS
Uma uhlelo lwakho lokusebenza ludinga isizindalwazi, i-RDS yenza kube lula ngoba i-AWS iphatha ama-backups, ama-patch, kanye nokukala.
Izinyathelo ezimfushane:
1. Vula isevisi ye-RDS → Dala isizindalwazi.
2. Khetha i-MySQL noma i-PostgreSQL (Imithetho ye-Free Tier iyatholakala ekucushweni okuthile).
3. Setha igama lomsebenzisi/iphasiwedi.
4. Qiniseka ukuthi i-instance ye-RDS iku-VPC efanayo ne-EC2.
5. Setha i-RDS Security Group ukuthi yamukele kuphela ukuxhumana okuvela ku-EC2 Security Group (hhayi okuvela emphakathini).
Uma i-database isivele isebenza, thatha i-RDS endpoint bese uyixhuma kusuka kuhlelo lwakho lokusebenza usebenzisa i-database driver.
-
11. (Ongakukhetha) Nika amandla i-HTTPS ngeSitifiketi se-SSL
Ekukhiqizeni, i-HTTPS iyimpoqo. Indlela ejwayelekile:
– Sebenzisa isizinda (isib. esivela ku-Route 53 noma komunye umbhalisi).
– Faka i-SSL nge-Let's Encrypt (Certbot) ku-EC2.
Ngamafuphi:
“`bash
ukufaka i-sudo apt -y certbot python3-certbot-nginx
i-sudo certbot –nginx
``
Landela i-wizard ukuze ukhethe isizinda bese uvumela ukuqondisa kabusha kwe-HTTPS.
-
12. Ukuqapha kanye Nezindleko
I-AWS inikeza i-CloudWatch ukubuka izibalo ezifana ne-CPU, inethiwekhi, namalogi athile. Uzofuna futhi ukuqapha izindleko zakho ukuze ugweme ukuphuthelwa.
Amathiphu abalulekile:
– Nika amandla i-Alarm Yokukhokhisa ku-CloudWatch (isb. i-alamu uma izindleko zidlula u-$5).
- Cima i-instance uma ingasetshenziswa.
– Susa izinsiza ezingasetshenziswanga (izibhalansi zomthwalo, i-EBS, ama-IP anwebekayo, izifinyezo) ngoba zingase zenze izindleko.
-
I-Penutup
Halala! Usufundile izisekelo zokwakha uhlelo lokusebenza ku-AWS usebenzisa i-EC2, ukusebenzisa uhlelo lokusebenza lwewebhu, ukusetha i-proxy ye-Nginx reverse, nokuyenza ihlale ivuliwe nge-PM2. Uthole futhi umbono jikelele wezinsizakalo ezengeziwe ezifana ne-RDS yama-database, i-S3 yokugcina, kanye nezitifiketi ze-HTTPS zokuphepha.
Uma ufuna ukukhuphuka izinga, izinyathelo ezilandelayo zivame ukuba:
– Ukufakwa okuzenzakalelayo nge-CI/CD (Izenzo ze-GitHub + SSH, noma i-AWS CodeDeploy),
- Ukusebenzisa izitsha ezine-Docker kanye nokuhlelwa okufana ne-ECS noma i-EKS,
- Ukusebenzisa ukwakheka okungenaseva nge-Lambda + API Gateway.
Uma ungathanda, sicela ucacise uhlobo lohlelo lokusebenza oluyakhayo (i-Node.js, i-Laravel, i-Django, i-React, njll.) kanye nenhloso yalo (i-demo, ukukhiqiza, isikali esikhulu). Ngingakwazi ukwenza ngokwezifiso isifundo ngezinyathelo ezithile.