په ایمیزون ویب خدماتو (AWS) کې د غوښتنلیکونو جوړولو په اړه لارښود
د ایمیزون ویب خدمات (AWS) د نړۍ یو له خورا مشهور کلاوډ کمپیوټري پلیټ فارمونو څخه دی. د AWS سره، تاسو کولی شئ د فزیکي سرورونو پیرودلو، د سرور ځای تنظیم کولو، یا خپل زیربنا ساتلو پرته غوښتنلیکونه جوړ او پرمخ بوځي. دا مقاله به تاسو ته د AWS په اړه د یوې عامې طریقې په کارولو سره د ساده غوښتنلیک جوړولو له لارې لارښوونه وکړي: د کمپیوټري خدماتو (EC2) په کارولو سره د ویب غوښتنلیک ځای په ځای کول، د اختیار په توګه یو مدیریت شوی ډیټابیس (RDS)، او د اړتیا په صورت کې ذخیره او ډومین. پداسې حال کې چې لاندې مثال عمومي دی، تاسو کولی شئ دا د ډیری ډوله غوښتنلیکونو لپاره پلي کړئ.
-
۱. ابتدايي چمتووالی: حسابونه او اساسي مفاهیم
مخکې له دې چې تاسو پیل وکړئ، ډاډ ترلاسه کړئ چې تاسو د AWS حساب لرئ. ډیری AWS خدمات وړیا ټیر (په ځینو محدودیتونو کې وړیا) وړاندې کوي چې د تمرین لپاره مناسب دی.
ځینې مهم مفاهیم چې تاسو ورته اړتیا لرئ پوه شئ:
– سیمه: د AWS د معلوماتو مرکز موقعیت (مثال: سنګاپور/ap-southeast-1). د ټیټ ځنډ لپاره تر ټولو نږدې سیمه غوره کړئ.
– IAM (د هویت او لاسرسي مدیریت): د لاسرسي مدیریت سیسټم. غوره عمل: د ورځني کار لپاره د روټ حساب مه کاروئ.
– VPC (مجازی خصوصي کلاوډ): یو مجازی شبکه چیرې چې ستاسو خدمات پرمخ ځي.
- د امنیت ګروپ: "فایر وال" د سرور څخه د راتلوونکي / وتلو لاسرسي تنظیمولو لپاره.
د دې څلورو شیانو په پوهیدو سره، ستاسو لپاره به د AWS اساساتو ته رسیدل خورا اسانه وي.
-
۲. د IAM کاروونکي او خوندي حسابونه جوړ کړئ
امنیت تل زموږ لومړی لومړیتوب دی. د AWS کنسول ته د روټ په توګه ننوځئ، بیا:
۱. د IAM خدمت پرانیزئ.
۲. یو نوی کارن جوړ کړئ (د مثال په توګه `admin-dev`) او د AWS مدیریت کنسول ته د کارونکي لاسرسی چمتو کړئ چیک کړئ.
۳. اجازه ورکړئ: د عمل لپاره تاسو کولی شئ د AdministratorAccess څخه کار واخلئ (که څه هم په ریښتینې پروژو کې دا باید ډیر محدود وي).
۴. د امنیت د زیاتولو لپاره MFA (ملټي فکتور تصدیق) فعال کړئ.
یوځل چې دا کار ترسره شي، د روټ څخه لاګ آوټ شئ او د نوي جوړ شوي IAM کارونکي په کارولو سره لاګ ان شئ.
-
۳. د غوښتنلیک جوړښت مشخص کړئ
د دې ټیوټوریل لپاره، موږ به یو ساده معمار جوړ کړو:
– EC2: د ویب اپلیکېشنونو چلول (د مثال په توګه Node.js/Express، Python Flask، یا PHP).
- اختیاري RDS: د MySQL/PostgreSQL ډیټابیس اداره شوی، ترڅو معلومات په ښه توګه زیرمه شي.
– S3 (اختیاري): جامد فایلونه لکه انځورونه، اسناد، یا بیک اپ ذخیره کوي.
– لاره ۵۳ (اختیاري): ډومینونه اداره کړئ.
- کلاوډ واچ: بنسټیز څارنه.
که تاسو یوازې پیل کوئ، نو لومړی په EC2 تمرکز وکړئ ترڅو خپل غوښتنلیکونه پرمخ بوځي.
-
۴. د EC2 سرور جوړ کړئ
الف) یوه بیلګه جوړه کړئ
۱. د EC2 خدمت ته ننوتل.
۲. د لانچ انسټینس کلیک وکړئ.
۳. OS غوره کړئ، د مثال په توګه د اوبنټو سرور ۲۲.۰۴ LTS.
۴. د نمونې ډول غوره کړئ: د وړیا درجې لپاره `t2.micro` یا `t3.micro` وکاروئ (د شتون پورې اړه لري).
۵. د کیلي جوړه جوړه کړئ یا غوره کړئ (د مثال په توګه، `aws-key.pem`). د `.pem` فایل خوندي وساتئ ځکه چې دا به د SSH لپاره وکارول شي.
ب) د شبکې او فایر وال ترتیب
- ډاډ ترلاسه کړئ چې نمونه په ډیفالټ VPC کې ده (یوازې د تمرین لپاره).
- د امنیت ګروپ تنظیم کړئ:
- پورټ ۲۲ (SSH) یوازې ستاسو د IP څخه (د مثال په توګه `زما IP`)
- د `0.0.0.0/0` پورټ 80 (HTTP) (عامه)
- که وروسته د SSL کارولو سره د `0.0.0.0/0` څخه پورټ 443 (HTTPS)
یادونه: د خلکو لپاره د SSH پرانیستل خطرناک دي. تل د IP پتې محدود کړئ.
په لانچ کلیک وکړئ او د نمونې د چلولو لپاره انتظار وکړئ.
-
۵. د SSH له لارې سرور ته ننوتل
په وینډوز کې، تاسو کولی شئ WSL یا PuTTY وکاروئ. په macOS/Linux کې، تاسو کولی شئ دا مستقیم له ټرمینل څخه ترسره کړئ.
۱. د اجازې کیلي بدل کړئ:
"لعنت"
chmod 400 aws-key.pem
"
۲. سرور ته SSH (د EC2 څخه عامه IPv4 وکاروئ):
"لعنت"
ssh -i aws-key.pem ubuntu@PUBLIC_IP
"
که بریالی وي، تاسو د AWS اوبنټو سرور کې یاست.
-
۶. د ویب سرور او اپلیکیشن رنټیم نصب کړئ
دلته د Node.js اپلیکیشن لپاره یوه بیلګه ده، ځکه چې دا په پراخه کچه د عصري ویب لپاره کارول کیږي.
الف) د انحصار تازه کول او نصب کول
"لعنت"
sudo اپټ تازه کول && sudo اپټ اپ گریډ -y
sudo apt install -y curl git
"
ب) د Node.js (LTS نسخه) نصب کړئ
"لعنت"
curl -fsSL https://deb.nodesource.com/setup_lts.x | سوډو -ای باش -
sudo apt نصب -y nodejs
نوډ -v
npm -v
"
-
۷. یو ساده اپلیکیشن جوړ کړئ
د پروژې فولډر جوړ کړئ:
"لعنت"
زما اپلیکیشن mkdir او زما اپلیکیشن cd
npm init -y
npm انسټال ایکسپریس
"
د `index.js` فایل جوړ کړئ:
"`js
const express = اړتیا("express")؛
const app = express();
app.get(“/”، (req، res) => {
res.send("سلام! ستاسو غوښتنلیک په AWS EC2 کې روان دی.");
})؛
app.listen(3000, () => console.log("سرور په 3000 پورټ کې روان دی"));
"
غوښتنلیک چل کړئ:
"لعنت"
نوډ انډیکس.js
"
د براوزر څخه د لاسرسي هڅه وکړئ:
– `http://PUBLIC_IP:3000`
خو، پورټ ۳۰۰۰ اوس مهال په امنیتي ګروپ کې خلاص نه دی. تاسو کولی شئ:
۱) په امنیتي ګروپ کې ۳۰۰۰ پورټ خلاص کړئ، یا
۲) د ریورس پراکسي څخه کار واخلئ (ډیر سپارښتنه کیږي) ترڅو غوښتنلیک په داخلي پورټ کې پاتې شي مګر د ۸۰/۴۴۳ پورټ له لارې لاسرسی ومومي.
-
۸. د نګینکس کارول د ریورس پراکسي په توګه (د پورټ ۸۰ له لارې لاسرسی)
Nginx نصب کړئ:
"لعنت"
sudo apt نصب -y nginx
sudo systemctl nginx فعالوي
د سوډو سیسټم سی ټي ایل نګینکس پیل کړئ
"
د نګینکس ترتیب تنظیم کړئ:
"لعنت"
سوډو نانو /etc/nginx/سایټونه-شته/myapp
"
د ترتیب محتوا:
"ننګینکس"
سرور {
80 واورئ
server_name _؛
ځای / {
پراکسي_پاس http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header پورته کول $http_upgrade;
د پراکسي_سیټ_هیډر اتصال 'اپ گریڈ'؛
proxy_set_header کوربه $host;
پراکسي_کیچ_بای پاس $http_اپ گریڈ؛
}
}
"
ترتیب فعال کړئ:
"لعنت"
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-فعال شوی/
سوډو نګینکس -ټ
د sudo سیسټم سی ټي ایل بیا پورته کول نګینکس
"
اوس لاسرسی:
– `http://PUBLIC_IP/`
دا اپلیکیشن په ۳۰۰۰ پورټ چلیږي خو عام خلک ورته د ۸۰ پورټ له لارې لاسرسی لري.
-
۹. د PM2 سره په دوامداره توګه د غوښتنلیکونو چلول
د SSH د منحل کیدو په وخت کې د اپلیکیشن د خرابیدو څخه د مخنیوي لپاره، PM2 وکاروئ:
"لعنت"
sudo npm نصب کړئ -g pm2
pm2 د index.js پیل - زما اپ نوم ورکړئ
د ماښام ۲ خوندي کول
د pm2 پیل
"
د `pm2 startup` قومانده به اضافي لارښوونې چمتو کړي. ښودل شوی قومانده پرمخ بوځي ترڅو اپلیکیشن په اتوماتيک ډول چالان شي کله چې سرور بیا پیل شي.
-
۱۰. (اختیاري) د RDS سره د ډیټابیس اضافه کول
که ستاسو غوښتنلیک ډیټابیس ته اړتیا ولري، RDS دا اسانه کوي ځکه چې AWS بیک اپ، پیچ کول، او سکیلینګ اداره کوي.
لنډ ګامونه:
۱. د RDS خدمت پرانیزئ → ډیټابیس جوړ کړئ.
۲. MySQL یا PostgreSQL غوره کړئ (وړیا ټیر قواعد په ځینو تشکیلاتو کې شتون لري).
۳. د کارونکي نوم/پاسورډ تنظیم کړئ.
۴. ډاډ ترلاسه کړئ چې د RDS مثال په ورته VPC کې دی لکه EC2.
۵. د RDS امنیتي ګروپ تنظیم کړئ چې یوازې د EC2 امنیتي ګروپ څخه اړیکې ومني (نه د خلکو څخه).
کله چې ډیټابیس فعال شي، د RDS پای ټکی ونیسئ او د ډیټابیس ډرایور په کارولو سره له خپل غوښتنلیک څخه ورسره وصل شئ.
-
۱۱. (اختیاري) د SSL سند سره HTTPS فعال کړئ
د تولید لپاره، HTTPS لازمي دی. عادي طریقه:
– یو ډومین وکاروئ (د مثال په توګه د روټ ۵۳ یا بل راجستر کونکي څخه).
- په EC2 کې د Let's Encrypt (Certbot) له لارې SSL نصب کړئ.
په لنډه توګه:
"لعنت"
sudo apt نصب -y certbot python3-certbot-nginx
سوډو سرټ بوټ – نګینکس
"
د ډومین غوره کولو لپاره وزرډ تعقیب کړئ او د HTTPS ریډیریټ فعال کړئ.
-
۱۲. څارنه او لګښتونه
AWS کلاوډ واچ چمتو کوي ترڅو د CPU، شبکې، او ځانګړو لاګونو په څیر میټریکونه وګوري. تاسو به هم وغواړئ چې خپل لګښتونه وڅارئ ترڅو له لاسه ورنکړئ.
مهمې لارښوونې:
- په کلاوډ واچ کې د بل کولو الارم فعال کړئ (د مثال په توګه که لګښتونه له $5 څخه ډیر وي نو الارم).
- کله چې کارول نه وي، نو انسټاینس بند کړئ.
- نه کارول شوې سرچینې (د بار بیلانسران، EBS، لچک لرونکي IPs، سنیپ شاټونه) لرې کړئ ځکه چې دوی ممکن لاهم لګښتونه ولري.
-
تړل
مبارک شه! تاسو د EC2 په کارولو سره په AWS کې د اپلیکیشن جوړولو، د ویب اپلیکیشن چلولو، د Nginx ریورس پراکسي تنظیم کولو، او د PM2 سره تل فعالولو اساسات زده کړي دي. تاسو د اضافي خدماتو لکه RDS لپاره د ډیټابیسونو، S3 لپاره د ذخیره کولو، او د امنیت لپاره HTTPS سندونو عمومي کتنه هم ترلاسه کړې ده.
که تاسو غواړئ چې کچه لوړه کړئ، نو راتلونکي ګامونه معمولا دي:
- د CI/CD سره اتوماتیک ځای پرځای کول (GitHub Actions + SSH، یا AWS CodeDeploy)،
- د ډاکر او آرکیسټریشنونو لکه ECS یا EKS سره د کانټینرونو کارول،
- د لامبډا + API ګیټ وے سره د سرور پرته معمارۍ کارول.
که تاسو غواړئ، مهرباني وکړئ د هغه اپلیکیشن ډول مشخص کړئ چې تاسو یې جوړوئ (Node.js، Laravel، Django، React، او نور) او د هغې ټاکل شوی هدف (ډیمو، تولید، لویه پیمانه). زه کولی شم ټیوټوریل د نورو مشخصو مرحلو سره تنظیم کړم.