Упатство за креирање апликации на Amazon Web Services (AWS)

Упатство за креирање апликации на Amazon Web Services (AWS)

Amazon Web Services (AWS) е една од најпопуларните платформи за cloud computing во светот. Со AWS, можете да креирате и извршувате апликации без купување физички сервери, поставување простор на серверот или одржување на сопствена инфраструктура. Оваа статија ќе ве води низ креирање едноставна апликација на AWS користејќи вообичаен пристап: распоредување веб-апликација користејќи compute services (EC2), управувана база на податоци (RDS) како опција и складирање и домен доколку е потребно. Иако следниот пример е општ, можете да го примените на многу видови апликации.

-

1. Првична подготовка: Сметки и основни концепти

Пред да започнете, проверете дали имате AWS сметка. Многу AWS услуги нудат Бесплатно ниво (бесплатно во одредени граници) што е совршено за вежбање.

Некои важни концепти што треба да ги разберете:

– Регион: Локација на центарот за податоци на AWS (пример: Сингапур/ap-southeast-1). Изберете го најблискиот регион за ниска латентност.
– IAM (Управување со идентитет и пристап): систем за управување со пристап. Најдобра практика: не ја користете root сметката за секојдневна работа.
– VPC (Виртуелен приватен облак): виртуелна мрежа каде што работат вашите услуги.
– Безбедносна група: „заштитен ѕид“ за регулирање на влезниот/излезниот пристап од серверот.

Со разбирање на овие четири работи, ќе ви биде многу полесно да се снајдете во основите на AWS.

-

2. Креирајте IAM корисници и безбедни сметки

Безбедноста е секогаш наш приоритет број еден. Најавете се на AWS конзолата како root, а потоа:

1. Отворете ја услугата IAM.
2. Креирајте нов корисник (на пр. `admin-dev`) и означете го полето Обезбедете пристап на корисникот до AWS Management Console.
3. Давање дозвола: за вежбање можете да го користите AdministratorAccess (иако во реални проекти треба да биде поограничен).
4. Овозможете MFA (Multi-factor-Authentication) за да ја зголемите безбедноста.

Откако ќе завршите, одјавете се од root и најавете се со новокреираниот IAM корисник.

-

3. Одредување на архитектурата на апликацијата

За ова упатство, ќе изградиме едноставна архитектура:

– EC2: извршување на веб-апликации (на пр. Node.js/Express, Python Flask или PHP).
– Опционален RDS: управувана MySQL/PostgreSQL база на податоци, така што податоците се складираат уредно.
– S3 (опционално): складира статички датотеки како што се слики, документи или резервни копии.
– Рута 53 (опционално): управување со домени.
– CloudWatch: основно следење.

ПРОЧИТАЈ  Предности од користењето на cloud computing за бизнисот

Ако штотуку започнувате, фокусирајте се на EC2 за да ги стартувате вашите апликации прво.

-

4. Креирајте EC2 сервер

а) Креирај инстанца
1. Најавете се на услугата EC2.
2. Кликнете на Стартувај инстанца.
3. Изберете оперативен систем, на пример Ubuntu Server 22.04 LTS.
4. Изберете го типот на инстанца: за Free Tier користете `t2.micro` или `t3.micro` (во зависност од достапноста).
5. Креирајте или изберете пар клучеви (на пр., `aws-key.pem`). Чувајте ја датотеката `.pem` безбедна бидејќи ќе се користи за SSH.

б) Конфигурација на мрежа и заштитен ѕид
– Проверете дали инстанцата е во стандардниот VPC (само за вежбање).
– Поставете безбедносна група:
– Порт 22 (SSH) само од вашата IP адреса (на пр. `Моја IP`)
– Порт 80 (HTTP) од `0.0.0.0/0` (јавна)
– Порт 443 (HTTPS) од `0.0.0.0/0` ако подоцна се користи SSL

Забелешка: Отворањето на SSH за јавноста е ризично. Секогаш ограничувајте ги IP адресите.

Кликнете на „Стартувај“ и почекајте инстанцата да се изврши.

-

5. Најавете се на серверот преку SSH

На Windows, можете да користите WSL или PuTTY. На macOS/Linux, можете да го направите тоа директно од терминалот.

1. Променете го клучот за дозвола:
„`баш
chmod 400 aws-key.pem
„„
2. SSH до серверот (користете јавен IPv4 од EC2):
„`баш
ssh -i aws-key.pem ubuntu@PUBLIC_IP
„„

Ако е успешно, вие сте на AWS Ubuntu серверот.

-

6. Инсталирајте го веб-серверот и времето на извршување на апликацијата

Еве еден пример за Node.js апликација, бидејќи е широко користена за модерниот веб.

а) Ажурирајте и инсталирајте зависности
„`баш
ажурирање на sudo apt && надградба на sudo apt -y
sudo apt install -y curl git
„„

б) Инсталирајте Node.js (LTS верзија)
„`баш
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash –
sudo apt install -y nodejs
јазол -v
npm -v
„„

-

7. Креирајте едноставна апликација

ПРОЧИТАЈ  Како да се оптимизира SEO за веб-страници за е-трговија

Креирај папка на проектот:

„`баш
mkdir myapp && cd myapp
npm init -y
npm инсталирај експрес
„„

Креирај датотека `index.js`:

„`js
const express = require("експрес");
const app = express();

app.get("/", (барање, рес) => {
res.send(“Здраво! Вашата апликација работи на AWS EC2.”);
});

app.listen(3000, () => console.log(“Серверот работи на порт 3000”));
„„

Стартувај ја апликацијата:

„`баш
индекс на јазол.js
„„

Обидете се да пристапите од прелистувач:
– `http://PUBLIC_IP:3000`

Сепак, портата 3000 моментално не е отворена во Безбедносната група. Можете да:
1) отворете го портот 3000 во Безбедносната група, или
2) користете обратен прокси (попрепорачливо е) така што апликацијата ќе остане на внатрешниот порт, но ќе може да се пристапи до неа преку портата 80/443.

-

8. Користење на Nginx како обратен прокси (Пристап преку Порт 80)

Инсталирајте Nginx:
„`баш
sudo apt install -y nginx
sudo systemctl овозможи nginx
sudo systemctl започне со nginx
„„

Поставете ја конфигурацијата на Nginx:
„`баш
sudo nano /etc/nginx/sites-available/myapp
„„

Содржина на конфигурацијата:
„`нгинкс
сервер {
слушај 80;
име на сервер _;

локација / {
прокси_пропус http://127.0.0.1:3000;
прокси_http_верзија 1.1;
proxy_set_header Надградба $http_upgrade;
proxy_set_header Врската „надградба“;
proxy_set_header Домаќин $домаќин;
proxy_cache_bypass $http_upgrade;
}
}
„„

Овозможи конфигурација:
„`баш
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl повторно вчитај nginx
„„

Сега пристапете до:
– `http://ЈАВНА_ИП/`

Апликацијата работи на порт 3000, но јавноста пристапува до неа преку порт 80.

-

9. Постојано стартување на апликации со PM2

За да спречите паѓање на апликацијата кога SSH е исклучен, користете PM2:

„`баш
sudo npm инсталирај -g pm2
pm2 стартувај index.js – име myapp
pm2 зачувај
pm2 стартување
„„

Командата `pm2 startup` ќе обезбеди дополнителни инструкции. Извршете ја прикажаната команда за апликацијата автоматски да се стартува кога серверот ќе се рестартира.

-

10. (Опционално) Додавање база на податоци со RDS

Доколку на вашата апликација ѝ е потребна база на податоци, RDS го олеснува тоа бидејќи AWS управува со резервни копии, поправки и скалирање.

Кратки чекори:
1. Отворете ја RDS услугата → Креирај база на податоци.
2. Изберете MySQL или PostgreSQL (Правилата за слободно ниво се достапни за одредени конфигурации).
3. Поставете корисничко име/лозинка.
4. Проверете дали RDS инстанцата е во истиот VPC како и EC2.
5. Поставете ја безбедносната група RDS да прифаќа само врски од безбедносната група EC2 (не од јавноста).

ПРОЧИТАЈ  Како да управувате со софтверски проекти со Agile

Откако базата на податоци ќе биде активна, земете ја крајната точка на RDS и поврзете се со неа од вашата апликација користејќи го драјверот за базата на податоци.

-

11. (Опционално) Овозможете HTTPS со SSL сертификат

За производство, HTTPS е задолжителен. Типичен метод:
– Користете домен (на пр. од Route 53 или друг регистрар).
– Инсталирајте SSL преку Let's Encrypt (Certbot) на EC2.

Накратко:
„`баш
sudo apt install -y certbot python3-certbot-nginx
sudo certbot –nginx
„„

Следете го волшебникот за да изберете домен и да овозможите пренасочување на HTTPS.

-

12. Мониторинг и трошоци

AWS обезбедува CloudWatch за преглед на метрики како што се процесорот, мрежата и специфични логови. Исто така, ќе сакате да ги следите вашите трошоци за да избегнете пропуштање.

Важни совети:
– Овозможете аларм за наплата во CloudWatch (на пр. аларм ако трошоците надминат 5 долари).
– Исклучете ја инстанцата кога не е во употреба.
– Отстранете ги неискористените ресурси (балансери на оптоварување, EBS, еластични IP адреси, снимки од екранот) бидејќи тие сè уште може да предизвикаат трошоци.

-

Затворање

Честитки! Ги научивте основите за креирање апликација на AWS користејќи EC2, извршување на веб-апликација, поставување на Nginx обратен прокси и негово постојано вклучување со PM2. Исто така, добивте преглед на дополнителни услуги како RDS за бази на податоци, S3 за складирање и HTTPS сертификати за безбедност.

Ако сакате да се искачите на повисоко ниво, следните чекори обично се:
– Автоматизирано распоредување со CI/CD (GitHub Actions + SSH или AWS CodeDeploy),
– Користење контејнери со Docker и оркестрации како ECS или EKS,
– Користење на архитектура без сервер со Lambda + API Gateway.

Доколку сакате, наведете го типот на апликација што ја градите (Node.js, Laravel, Django, React, итн.) и нејзината намена (демонстрација, продукција, голема). Можам да го прилагодам упатството со поконкретни чекори.

Tinggalkan коментар