ايميزون ويب سروسز (AWS) تي ايپليڪيشن ٺاهڻ تي سبق
Amazon Web Services (AWS) دنيا جي مشهور ڪلائوڊ ڪمپيوٽنگ پليٽ فارمن مان هڪ آهي. AWS سان، توهان فزيڪل سرور خريد ڪرڻ، سرور اسپيس قائم ڪرڻ، يا پنهنجي انفراسٽرڪچر کي برقرار رکڻ کان سواءِ ايپليڪيشنون ٺاهي ۽ هلائي سگهو ٿا. هي آرٽيڪل توهان کي هڪ عام طريقو استعمال ڪندي AWS تي هڪ سادي ايپليڪيشن ٺاهڻ ۾ رهنمائي ڪندو: ڪمپيوٽ سروسز (EC2)، هڪ منظم ڊيٽابيس (RDS) کي هڪ آپشن طور استعمال ڪندي هڪ ويب ايپليڪيشن کي ترتيب ڏيڻ، ۽ جيڪڏهن ضرورت هجي ته اسٽوريج ۽ ڊومين. جڏهن ته هيٺ ڏنل مثال عام آهي، توهان ان کي ڪيترن ئي قسمن جي ايپليڪيشنن تي لاڳو ڪري سگهو ٿا.
-
1. شروعاتي تياري: اڪائونٽس ۽ بنيادي تصور
شروع ڪرڻ کان اڳ، پڪ ڪريو ته توهان وٽ AWS اڪائونٽ آهي. ڪيتريون ئي AWS خدمتون هڪ مفت ٽائر (ڪجهه حدن اندر مفت) پيش ڪن ٿيون جيڪو مشق لاءِ ڀرپور آهي.
ڪجھ اهم تصور جيڪي توهان کي سمجهڻ گهرجن:
- علائقو: AWS ڊيٽا سينٽر جي جڳھ (مثال: سنگاپور/ap-southeast-1). گھٽ ويڪرائي لاءِ ويجھو علائقو چونڊيو.
- IAM (سڃاڻپ ۽ رسائي جو انتظام): هڪ رسائي جو انتظام نظام. بهترين عمل: روزاني ڪم لاءِ روٽ اڪائونٽ استعمال نه ڪريو.
- وي پي سي (ورچوئل پرائيويٽ ڪلائوڊ): هڪ ورچوئل نيٽ ورڪ جتي توهان جون خدمتون هلن ٿيون.
- سيڪيورٽي گروپ: سرور مان ايندڙ / ٻاهر نڪرڻ واري رسائي کي منظم ڪرڻ لاءِ "فائر وال".
انهن چئن شين کي سمجهڻ سان، توهان لاءِ AWS جي بنيادي ڳالهين کي سمجهڻ تمام آسان ٿي ويندو.
-
2. IAM استعمال ڪندڙ ۽ محفوظ اڪائونٽس ٺاهيو
سيڪيورٽي هميشه اسان جي پهرين ترجيح آهي. AWS ڪنسول ۾ روٽ طور لاگ ان ٿيو، پوءِ:
1. IAM سروس کوليو.
2. هڪ نئون استعمال ڪندڙ ٺاهيو (مثال طور `admin-dev`) ۽ چيڪ ڪريو ته صارف کي AWS مئنيجمينٽ ڪنسول تائين رسائي فراهم ڪريو.
3. اجازت ڏيو: عملي طور تي توهان ايڊمنسٽريٽر ايڪسيس استعمال ڪري سگهو ٿا (جيتوڻيڪ حقيقي منصوبن ۾ اهو وڌيڪ محدود هجڻ گهرجي).
4. سيڪيورٽي وڌائڻ لاءِ MFA (ملٽي فيڪٽر تصديق) کي فعال ڪريو.
هڪ دفعو مڪمل ٿيڻ کان پوءِ، روٽ مان لاگ آئوٽ ٿيو ۽ نئين ٺاهيل IAM استعمال ڪندڙ کي استعمال ڪندي لاگ ان ٿيو.
-
3. ايپليڪيشن آرڪيٽيڪچر جو تعين ڪريو
هن سبق لاءِ، اسين هڪ سادي فن تعمير ٺاهينداسين:
- EC2: هلندڙ ويب ايپليڪيشنون (مثال طور Node.js/Express، Python Flask، يا PHP).
- اختياري آر ڊي ايس: منظم ڪيل MySQL/PostgreSQL ڊيٽابيس، ته جيئن ڊيٽا صاف طور تي محفوظ ٿئي.
- S3 (اختياري): جامد فائلن جهڙوڪ تصويرون، دستاويز، يا بيڪ اپ محفوظ ڪري ٿو.
- روٽ 53 (اختياري): ڊومينز منظم ڪريو.
- ڪلائوڊ واچ: بنيادي نگراني.
جيڪڏهن توهان صرف شروعات ڪري رهيا آهيو، ته پهريان پنهنجي ايپليڪيشنن کي هلائڻ لاءِ EC2 تي ڌيان ڏيو.
-
4. هڪ EC2 سرور ٺاهيو
الف) هڪ مثال ٺاهيو
1. EC2 سروس ۾ لاگ ان ٿيو.
2. لانچ انسٽنس تي ڪلڪ ڪريو.
3. او ايس چونڊيو، مثال طور اوبنٽو سرور 22.04 LTS.
4. انسٽنس قسم چونڊيو: فري ٽائر لاءِ `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 ذريعي سرور ۾ لاگ ان ٿيو
ونڊوز تي، توهان WSL يا PuTTY استعمال ڪري سگهو ٿا. macOS/Linux تي، توهان اهو سڌو سنئون ٽرمينل تان ڪري سگهو ٿا.
1. اجازت جي چاٻي تبديل ڪريو:
"ڀڄڻ
chmod 400 aws-key.pem
“
2. سرور ڏانهن SSH (EC2 مان پبلڪ IPv4 استعمال ڪريو):
"ڀڄڻ
ssh -i aws-key.pem ubuntu@PUBLIC_IP
“
جيڪڏهن ڪامياب ٿيو، ته توهان AWS Ubuntu سرور تي آهيو.
-
6. ويب سرور ۽ ايپليڪيشن رن ٽائم انسٽال ڪريو
هتي Node.js ايپليڪيشن لاءِ هڪ مثال آهي، ڇاڪاڻ ته اهو جديد ويب لاءِ وڏي پيماني تي استعمال ٿيندو آهي.
الف) انحصار کي اپڊيٽ ۽ انسٽال ڪريو
"ڀڄڻ
sudo apt update & & sudo apt upgrade -y
sudo apt انسٽال ڪريو -y curl git
“
ب) Node.js (LTS ورجن) انسٽال ڪريو
"ڀڄڻ
ڪرل -fsSL https://deb.nodesource.com/setup_lts.x | سوڊو -اي بيش -
sudo apt انسٽال ڪريو -y nodejs
نوڊ -وي
اين پي ايم -وي
“
-
7. هڪ سادي ايپليڪيشن ٺاهيو
هڪ پروجيڪٽ فولڊر ٺاهيو:
"ڀڄڻ
mkdir منهنجي ايپ ۽& سي ڊي منهنجي ايپ
اين پي ايم انٽ -ي
اين پي ايم انسٽال ايڪسپريس
“
هڪ `index.js` فائل ٺاهيو:
"جي ايس"
ڪانسٽ ايڪسپريس = ضرورت ("ايڪسپريس")؛
const app = express();
ايپ.گيٽ(“/”، (ضرورت، ريز) => {
res.send("هيلو! توهان جي ايپليڪيشن AWS EC2 تي هلي رهي آهي.");
})؛
app.listen(3000, () => console.log("سرور پورٽ 3000 تي هلندڙ آهي"));
“
ايپليڪيشن هلايو:
"ڀڄڻ
نوڊ انڊيڪس. جي ايس
“
برائوزر کان رسائي حاصل ڪرڻ جي ڪوشش ڪريو:
– `http://PUBLIC_IP:3000`
جڏهن ته، پورٽ 3000 هن وقت سيڪيورٽي گروپ ۾ کليل ناهي. توهان ڪري سگهو ٿا:
1) سيڪيورٽي گروپ ۾ پورٽ 3000 کوليو، يا
2) هڪ ريورس پراڪسي استعمال ڪريو (وڌيڪ سفارش ڪئي وئي) ته جيئن ايپليڪيشن اندروني پورٽ تي رهي پر پورٽ 80/443 ذريعي رسائي ڪري سگهجي.
-
8. نينگڪس کي ريورس پراڪسي طور استعمال ڪرڻ (پورٽ 80 ذريعي رسائي)
انسٽال ڪريو Nginx:
"ڀڄڻ
sudo apt انسٽال ڪريو -y nginx
sudo systemctl nginx کي فعال ڪريو
سودو سسٽمڪٽل شروع ڪريو nginx
“
Nginx ترتيب ترتيب ڏيو:
"ڀڄڻ
سودو نانو / وغيره / nginx / سائيٽون موجود / منهنجي ايپ
“
ترتيب جو مواد:
"ننگينڪس"
سرور {
ٻڌي 80؛
سرور جو نالو _؛
جڳھ / {
پراڪسي_پاس http://127.0.0.1:3000؛
proxy_http_version 1.1؛
proxy_set_header اپ گريڊ $http_upgrade؛
proxy_set_header ڪنيڪشن 'اپ گريڊ'؛
proxy_set_header ميزبان $host؛
پراڪسي_ڪيش_بائي پاس $http_اپ گريڊ؛
}
}
“
ترتيب کي فعال ڪريو:
"ڀڄڻ
sudo ln -s / وغيره / nginx / سائيٽون موجود آهن / منهنجي ايپ / وغيره / nginx / سائيٽون فعال /
سوڊو نينگڪس-ٽي
سودو سسٽمڪٽل nginx ٻيهر لوڊ ڪريو
“
هاڻي رسائي:
– `http://PUBLIC_IP/`
هي ايپليڪيشن پورٽ 3000 تي هلندي آهي پر عوام ان تائين پورٽ 80 ذريعي رسائي حاصل ڪري ٿو.
-
9. PM2 سان مسلسل ايپليڪيشن هلائڻ
جڏهن SSH ڊسڪنيڪٽ ٿئي ٿو ته ايپليڪيشن کي ڪريش ٿيڻ کان روڪڻ لاءِ، PM2 استعمال ڪريو:
"ڀڄڻ
سوڊو اين پي ايم انسٽال -g پي ايم 2
pm2 شروع ڪريو index.js – نالو myapp
pm2 بچايو
pm2 اسٽارٽ اپ
“
`pm2 startup` ڪمانڊ اضافي هدايتون فراهم ڪندو. سرور جي ٻيهر شروع ٿيڻ تي ايپليڪيشن کي خودڪار طريقي سان هلائڻ لاءِ ڏيکاريل ڪمانڊ هلايو.
-
10. (اختياري) آر ڊي ايس سان ڊيٽابيس شامل ڪرڻ
جيڪڏهن توهان جي ايپليڪيشن کي ڊيٽابيس جي ضرورت آهي، ته RDS ان کي آسان بڻائي ٿو ڇاڪاڻ ته AWS بيڪ اپ، پيچنگ، ۽ اسڪيلنگ جو انتظام ڪري ٿو.
ننڍا قدم:
1. آر ڊي ايس سروس کوليو → ڊيٽابيس ٺاهيو.
2. MySQL يا PostgreSQL چونڊيو (مفت ٽائر قاعدا ڪجهه ترتيبن تي موجود آهن).
3. يوزر نالو/پاسورڊ سيٽ ڪريو.
4. پڪ ڪريو ته RDS انسٽنس EC2 جي ساڳئي VPC ۾ آهي.
5. آر ڊي ايس سيڪيورٽي گروپ کي صرف EC2 سيڪيورٽي گروپ کان ڪنيڪشن قبول ڪرڻ لاءِ مقرر ڪريو (عوام کان نه).
هڪ دفعو ڊيٽابيس لائيو ٿي وڃي، RDS اينڊ پوائنٽ وٺو ۽ ڊيٽابيس ڊرائيور استعمال ڪندي پنهنجي ايپليڪيشن مان ان سان ڳنڍيو.
-
11. (اختياري) SSL سرٽيفڪيٽ سان HTTPS کي فعال ڪريو
پيداوار لاءِ، HTTPS لازمي آهي. عام طريقو:
- ڊومين استعمال ڪريو (مثال طور روٽ 53 يا ٻئي رجسٽرار کان).
- EC2 تي Let's Encrypt (Certbot) ذريعي SSL انسٽال ڪريو.
مختصر ۾:
"ڀڄڻ
sudo apt انسٽال ڪريو -y certbot python3-certbot-nginx
سوڊو سرٽ بوٽ - اين جي اين ايڪس
“
ڊومين چونڊڻ لاءِ جادوگر جي پيروي ڪريو ۽ HTTPS ريڊائريڪٽ کي فعال ڪريو.
-
12. نگراني ۽ خرچ
AWS ڪلائوڊ واچ کي سي پي يو، نيٽ ورڪ، ۽ مخصوص لاگ جهڙن ميٽرڪس ڏسڻ لاءِ مهيا ڪري ٿو. توهان کي گم ٿيڻ کان بچڻ لاءِ پنهنجي خرچن جي نگراني پڻ ڪرڻ گهرجي.
اهم صلاحون:
- ڪلائوڊ واچ ۾ بلنگ الارم کي فعال ڪريو (مثال طور جيڪڏهن چارجز $5 کان وڌيڪ هجن ته الارم).
- جڏهن استعمال ۾ نه هجي ته انسٽنس کي بند ڪريو.
- غير استعمال ٿيل وسيلن (لوڊ بيلنسرز، اي بي ايس، لچڪدار آءِ پيز، سنيپ شاٽس) کي هٽايو ڇو ته اهي اڃا تائين خرچ برداشت ڪري سگهن ٿا.
-
پينوٽ اپ
مبارڪون هجن! توهان EC2 استعمال ڪندي AWS تي ايپليڪيشن ٺاهڻ، ويب ايپليڪيشن هلائڻ، Nginx ريورس پراڪسي سيٽ اپ ڪرڻ، ۽ ان کي PM2 سان هميشه آن ڪرڻ جا بنيادي طريقا سکي ورتا آهن. توهان اضافي خدمتن جو جائزو پڻ حاصل ڪيو آهي جهڙوڪ ڊيٽابيس لاءِ RDS، اسٽوريج لاءِ S3، ۽ سيڪيورٽي لاءِ HTTPS سرٽيفڪيٽ.
جيڪڏهن توهان سطح وڌائڻ چاهيو ٿا، ته ايندڙ قدم عام طور تي آهن:
- CI/CD سان خودڪار تعیناتي (GitHub Actions + SSH، يا AWS CodeDeploy)،
- ڊاڪر ۽ آرڪيسٽريشن جهڙوڪ ECS يا EKS سان ڪنٽينر استعمال ڪندي،
- ليمبڊا + API گيٽ وي سان سرور کان سواءِ فن تعمير استعمال ڪندي.
جيڪڏهن توهان چاهيو ٿا، مهرباني ڪري ايپليڪيشن جو قسم بيان ڪريو جيڪو توهان ٺاهي رهيا آهيو (Node.js، Laravel، Django، React، وغيره) ۽ ان جو ارادو ڪيل مقصد (ڊيمو، پيداوار، وڏي پيماني تي). مان وڌيڪ مخصوص مرحلن سان سبق کي ترتيب ڏئي سگهان ٿو.