A'oa'oga i le Fausiaina o Talosaga i luga o le Amazon Web Services (AWS)
O le Amazon Web Services (AWS) o se tasi o fa'avae sili ona lauiloa i le lalolagi mo le fa'aogaina o le ao (cloud computing). Faatasi ai ma le AWS, e mafai ona e fausia ma fa'agaoioia ni polokalama e aunoa ma le fa'atauina o 'au'aunaga fa'aletino, fa'atulagaina o le avanoa o le 'au'aunaga, po'o le tausia o au lava atina'e. O lenei tusiga o le a ta'ita'ia oe i le fatuina o se polokalama faigofie i le AWS e fa'aaoga ai se auala masani: fa'atinoina o se polokalama uepi e fa'aaoga ai auaunaga fa'akomepiuta (EC2), se fa'amaumauga pulea (RDS) o se filifiliga, ma le teuina ma se vaega pe a mana'omia. E ui o le fa'ata'ita'iga lenei e lautele, ae e mafai ona e fa'aogaina i le tele o ituaiga o polokalama.
-
1. Sauniuniga Muamua: Tala ma Manatu Faavae
A'o le'i amataina, ia mautinoa o lo'o ia te oe se teugatupe AWS. O le tele o tautua a le AWS e ofoina atu se Vasega e leai se totogi (e leai se totogi i totonu o ni tapula'a patino) e fetaui lelei mo fa'ata'ita'iga.
O nisi o manatu taua e manaʻomia ona e malamalama i ai:
– Itumalo: Nofoaga o le nofoaga autu o faʻamaumauga a le AWS (faʻataʻitaʻiga: Sigapoa/ap-southeast-1). Filifili le itulagi e sili ona latalata mo le latency maualalo.
– IAM (Pulega o Fa'asinomaga ma Avanoa): o se faiga e pulea ai avanoa. Faiga sili ona lelei: aua le fa'aaogaina le tala autu mo galuega i aso uma.
– VPC (Virtual Private Cloud): o se feso'ota'iga fa'apitoa e fa'agaoioia ai au tautua.
– Vaega Saogalemu: “firewall” e fa'atonutonu ai avanoa e ulufale mai/alu ese mai le 'au'aunaga.
O le malamalama i nei mea e fa, o le a sili atu ona faigofie mo oe ona faʻatautaia mataupu faavae o le AWS.
-
2. Fausia Tagata Fa'aoga IAM ma Fa'amautu Teugatupe
O le saogalemu o la matou faamuamua sili lea i taimi uma. Ulufale i le AWS Console o se root, ona:
1. Tatala le tautua IAM.
2. Fausia se Tagata Fa'aoga fou (e.g. `admin-dev`) ma siaki le Provide user access to the AWS Management Console.
3. Tuuina atu le faatagaga: mo faʻataʻitaʻiga e mafai ona e faʻaaogaina le AdministratorAccess (e ui lava i galuega moni e tatau ona sili atu ona faʻatapulaʻaina).
4. Fa'agaoioia le MFA (Multi-Factor Authentication) e fa'ateleina ai le saogalemu.
A uma loa, alu ese mai le root ma ulufale e faʻaaoga ai le tagata faʻaoga IAM fou na faia.
-
3. Fuafua le Fa'atulagaga o Talosaga
Mo lenei aʻoaʻoga, o le a matou fausia se fausaga faigofie:
– EC2 : fa'agaoioia polokalame uepi (e.g. Node.js/Express, Python Flask, po'o le PHP).
– RDS e filifili ai: fa'amaumauga MySQL/PostgreSQL pulea, ina ia teuina lelei fa'amaumauga.
– S3 (filifiliga): teuina faila tumau e pei o ata, pepa aloaia, po'o ni fa'amaumauga fa'aleoleo.
– Auala 53 (filifiliga): pulea vaega ole initaneti.
– CloudWatch: mata'ituina fa'avae.
Afai o loʻo e amata faʻatoʻa amata, taulaʻi i le EC2 e faʻatino ai au polokalama muamua.
-
4. Fausia se 'Au'aunaga EC2
a) Fausia se Fa'ata'ita'iga
1. Ulufale i le tautua EC2.
2. Kiliki le Tatala le Fa'ata'ita'iga.
3. Filifili le OS, mo se faʻataʻitaʻiga Ubuntu Server 22.04 LTS.
4. Filifili le ituaiga o fa'ata'ita'iga: mo le Free Tier fa'aaoga le `t2.micro` po'o le `t3.micro` (e fa'atatau i le avanoa).
5. Fausia pe filifili se Key Pair (e.g., `aws-key.pem`). Tausi le faila `.pem` ia saogalemu aua o le a fa'aaogaina mo le SSH.
b) Fa'atulagaga o Feso'ota'iga ma le Firewall
– Ia mautinoa o loʻo i totonu o le VPC masani le faʻataʻitaʻiga (mo naʻo le faʻataʻitaʻiga).
– Seti le Vaega Puipuiga:
– Port 22 (SSH) mai lau IP (e.g. `My IP`)
– Port 80 (HTTP) o le `0.0.0.0/0` (lautele)
– Port 443 (HTTPS) mai le `0.0.0.0/0` pe afai e fa'aaogaina mulimuli ane le SSL
Manatua: O le tatalaina o le SSH i tagata lautele e lamatia. Ia fa'atapula'a pea tuatusi IP.
Kiliki le Launch ma fa'atali mo le fa'agaoioiga o le instance.
-
5. Ulufale i le 'Au'aunaga e ala i le SSH
I luga o le Windows, e mafai ona e fa'aogaina le WSL po'o le PuTTY. I luga o le macOS/Linux, e mafai ona e faia sa'o mai le terminal.
1. Suia le ki o le faatagaga:
“`tu'i
chmod 400 aws-key.pem
""
2. SSH i le 'au'aunaga (fa'aaoga le Public IPv4 mai le EC2):
“`tu'i
ssh -i aws-key.pem ubuntu@PUBLIC_IP
""
Afai e manuia, o lona uiga ua e i luga o le 'au'aunaga AWS Ubuntu.
-
6. Fa'apipi'i le 'Upega Tafa'ilagi ma le Taimi e Fa'agaoioi ai Talosaga
O se faʻataʻitaʻiga lea mo se talosaga Node.js, auā e lautele lona faʻaaogaina mo le upega tafaʻilagi faʻaonaponei.
a) Fa'afou ma fa'apipi'i mea e fa'alagolago i ai
“`tu'i
sudo apt update && sudo apt faʻalelei -y
sudo apt install -y curl git
""
b) Fa'apipi'i le Node.js (lomiga LTS)
“`tu'i
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash –
sudo apt install -y nodejs
node -v
npm -v
""
-
7. Fausia se Talosaga Faigofie
Fausia se faila o le galuega faatino:
“`tu'i
mkdir myapp && cd myapp
npm init -y
npm fa'apipi'i vave
""
Fausia se faila `index.js`:
"`js"
const fa'aalia = mana'omia("fa'aalia");
const app = fa'aalia();
app.get(“/”, (req, res) => {
res.send(“Talofa! O lo'o fa'agaoioia lau talosaga i le AWS EC2.”);
});
app.listen(3000, () => console.log(“O loʻo tamoʻe le 'auʻaunaga i luga o le port 3000”);
""
Fa'agaoioi le talosaga:
“`tu'i
node index.js
""
Taumafai e ulufale mai i se browser:
– `http://PUBLIC_IP:3000`
Ae ui i lea, e le o tatala le port 3000 i le Security Group i le taimi nei. E mafai ona e:
1) tatala le uafu 3000 i le Vaega Puipuiga, pe
2) fa'aaoga se reverse proxy (e sili atu ona fautuaina) ina ia tumau pea le talosaga i luga o le uafu i totonu ae mafai ona maua e ala i le uafu 80/443.
-
8. Fa'aaogaina o Nginx e fai ma Reverse Proxy (Avanoa e ala i le Port 80)
Faʻapipiʻi Nginx:
“`tu'i
sudo apt install -y nginx
sudo systemctl mafai nginx
sudo systemctl amata nginx
""
Fa'atulaga le fa'atulagaga o le Nginx:
“`tu'i
sudo nano /etc/nginx/sites-available/myapp
""
Mataupu o le fa'atulagaina:
"nginx"
sapalai {
faʻalogo 80;
igoa_server _;
nofoaga / {
sui_pasi http://127.0.0.1:3000;
sui_http_version 1.1;
proxy_set_header Fa'aleleia $http_upgrade;
proxy_set_header Feso'ota'iga 'fa'aleleia';
sui_set_header Host $ talimalo;
proxy_cache_bypass $http_upgrade;
}
}
""
Fa'agaoioia le fa'atulagaga:
“`tu'i
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
""
Ia maua nei:
– `http://PUBLIC_IP/`
E faʻagaoioia le talosaga i le port 3000 ae e mafai e le lautele ona maua e ala i le port 80.
-
9. Fa'agaoioia pea Talosaga i le PM2
Ina ia puipuia le fa'aletonu o le polokalama pe a motusia le SSH, fa'aaoga le PM2:
“`tu'i
sudo npm fa'apipi'i -g pm2
pm2 amata index.js –igoa myapp
pm2 faasaoina
pm2 amataga
""
O le poloaiga `pm2 startup` o le a tuʻuina atu ai ni faʻatonuga faʻaopoopo. Faʻatino le poloaiga o loʻo faʻaalia ina ia otometi lava ona faʻagaoioia le polokalama pe a toe amata le 'auʻaunaga.
-
10. (Filifiliga) Fa'aopoopoina o se Fa'amaumauga ma le RDS
Afai e manaʻomia e lau talosaga se faʻamaumauga, e faigofie ai e le RDS aua e pulea e le AWS ni faʻamaumauga faʻaleoleo, patching, ma le scaling.
Laasaga pupuu:
1. Tatala le tautua RDS → Fausia se fa'amaumauga.
2. Filifili le MySQL po'o le PostgreSQL (E maua tulafono Free Tier i nisi fa'atulagaga).
3. Seti le igoa ole tagata fa'aoga/upu fa'alilolilo.
4. Ia mautinoa o lo'o iai le RDS instance i le VPC lava e tasi ma le EC2.
5. Seti le RDS Security Group e na'o le taliaina o feso'ota'iga mai le EC2 Security Group (ae le o le lautele).
O le taimi lava e ola ai le faʻamaumauga, tago i le RDS endpoint ma faʻafesoʻotaʻi i ai mai lau talosaga e faʻaaoga ai le avetaʻavale o le faʻamaumauga.
-
11. (Filifiliga) Fa'agaoioia le HTTPS i le Tusi Faamaonia SSL
Mo le gaosiga, e manaʻomia le HTTPS. Metotia masani:
– Faaaoga se 'upega tafa'ilagi (domain) (e.g. mai le Route 53 po'o se isi resitala).
– Fa'apipi'i le SSL e ala i le Let's Encrypt (Certbot) i le EC2.
I se aotelega:
“`tu'i
sudo apt install -y certbot python3-certbot-nginx
sudo certbot –nginx
""
Mulimuli i le wizard e filifili ai se domain ma fa'agaoioia le HTTPS redirect.
-
12. Mata'ituina ma Tau
E tuʻuina atu e le AWS le CloudWatch e matamata ai i fuainumera e pei o le CPU, fesoʻotaʻiga, ma faʻamaumauga patino. E te manaʻo foʻi e mataʻituina au tau ina ia ʻalofia ai le misia.
Fautuaga tāua:
– Fa'agaoioia le Fa'ailo Pili i le CloudWatch (e.g. fa'ailo pe a sili atu pili i le $5).
– Tape le masini pe a le o faʻaaogaina.
– Aveese punaoa e le'i fa'aaogaina (load balancers, EBS, elastic IPs, snapshots) aua e ono iai lava ni tau e alu ai.
-
Fa'ato'a
Manuia tele! Ua e aʻoaʻoina mea taua o le fausiaina o se talosaga i le AWS e faʻaaoga ai le EC2, faʻagaoioia o se talosaga uepi , faʻatulagaina o se Nginx reverse proxy, ma le faʻagaoioia pea i le PM2. Ua e maua foʻi se aotelega o isi auaunaga e pei o le RDS mo faʻamaumauga, S3 mo le teuina, ma tusi faamaonia HTTPS mo le saogalemu.
Afai e te manaʻo e siʻitia lou tulaga, o laasaga nei e masani lava:
– Fa'atinoina otometi ma le CI/CD (GitHub Actions + SSH, po'o le AWS CodeDeploy),
– Faʻaaogaina o koneteina ma Docker ma faʻatulagaga e pei o le ECS poʻo le EKS,
– Fa'aaogaina o le fausaga e leai ni 'au'aunaga ma le Lambda + API Gateway.
Afai e te manaʻo ai, faʻamolemole faʻamaoti mai le ituaiga o talosaga o loʻo e fausia (Node.js, Laravel, Django, React, ma isi) ma lona faʻamoemoega faʻamoemoeina (faʻataʻitaʻiga, gaosiga, tele). E mafai ona ou faʻapitoaina le aʻoaʻoga i ni laʻasaga faʻapitoa.