அமேசான் வலை சேவைகளில் (AWS) பயன்பாடுகளை உருவாக்குவது குறித்த பயிற்சி

அமேசான் வலை சேவைகளில் (AWS) பயன்பாடுகளை உருவாக்குவது குறித்த பயிற்சி

அமேசான் வெப் சர்வீசஸ் (AWS) உலகின் மிகவும் பிரபலமான கிளவுட் கம்ப்யூட்டிங் தளங்களில் ஒன்றாகும். AWS-ஐப் பயன்படுத்தி, பௌதீக சர்வர்களை வாங்காமலும், சர்வர் இடத்தை அமைக்காமலும், அல்லது உங்கள் சொந்த உள்கட்டமைப்பைப் பராமரிக்காமலும் நீங்கள் பயன்பாடுகளை உருவாக்கி இயக்கலாம். இந்தக் கட்டுரை, ஒரு பொதுவான அணுகுமுறையைப் பயன்படுத்தி AWS-இல் ஒரு எளிய பயன்பாட்டை உருவாக்குவதற்கான வழிமுறைகளை உங்களுக்கு விளக்கும்: அதாவது, கம்ப்யூட் சர்வீசஸ் (EC2), ஒரு விருப்பத் தேர்வாக நிர்வகிக்கப்பட்ட தரவுத்தளம் (RDS), மற்றும் தேவைப்பட்டால் சேமிப்பகம் மற்றும் ஒரு டொமைன் ஆகியவற்றைப் பயன்படுத்தி ஒரு வலைப் பயன்பாட்டை நிறுவுதல். பின்வரும் எடுத்துக்காட்டு பொதுவானதாக இருந்தாலும், நீங்கள் இதை பல வகையான பயன்பாடுகளுக்குப் பயன்படுத்தலாம்.

-

1. ஆரம்பத் தயாரிப்பு: கணக்குகள் மற்றும் அடிப்படைக் கருத்துகள்

நீங்கள் தொடங்குவதற்கு முன், உங்களிடம் ஒரு AWS கணக்கு இருப்பதை உறுதிப்படுத்திக் கொள்ளுங்கள். பல AWS சேவைகள், பயிற்சிக்கு மிகவும் ஏற்ற ஒரு இலவச அடுக்கு (குறிப்பிட்ட வரம்புகளுக்குள் இலவசம்) வழங்குகின்றன.

நீங்கள் புரிந்துகொள்ள வேண்டிய சில முக்கியமான கருத்துகள்:

– பிராந்தியம்: AWS தரவு மையத்தின் இருப்பிடம் (எடுத்துக்காட்டு: Singapore/ap-southeast-1). குறைந்த தாமதத்திற்கு மிக அருகிலுள்ள பிராந்தியத்தைத் தேர்ந்தெடுக்கவும்.
– IAM (அடையாளம் மற்றும் அணுகல் மேலாண்மை): இது ஒரு அணுகல் மேலாண்மை அமைப்பு. சிறந்த நடைமுறை: அன்றாடப் பணிகளுக்கு ரூட் கணக்கைப் பயன்படுத்த வேண்டாம்.
– விபிசி (மெய்நிகர் தனியார் கிளவுட்): உங்கள் சேவைகள் இயங்கும் ஒரு மெய்நிகர் வலையமைப்பு.
– பாதுகாப்புக் குழு: சேவையகத்திலிருந்து வரும் மற்றும் செல்லும் அணுகலை ஒழுங்குபடுத்துவதற்கான ஒரு “ஃபயர்வால்”.

இந்த நான்கு விஷயங்களைப் புரிந்துகொள்வதன் மூலம், AWS-இன் அடிப்படைகளை நீங்கள் புரிந்துகொள்வது மிகவும் எளிதாக இருக்கும்.

-

2. IAM பயனர்களையும் பாதுகாப்பான கணக்குகளையும் உருவாக்கவும்

பாதுகாப்பே எப்போதுமே எங்களின் முதன்மை முன்னுரிமையாகும். AWS கன்சோலில் ரூட்டாக உள்நுழைந்து, பின்னர்:

1. IAM சேவையைத் திறக்கவும்.
2. ஒரு புதிய பயனரை (எ.கா. `admin-dev`) உருவாக்கி, AWS மேலாண்மைக் கன்சோலுக்குப் பயனர் அணுகலை வழங்கு என்பதைத் தேர்வு செய்யவும்.
3. அனுமதி வழங்குதல்: நடைமுறைக்கு நீங்கள் AdministratorAccess-ஐப் பயன்படுத்தலாம் (ஆயினும், உண்மையான திட்டங்களில் இது மிகவும் வரையறுக்கப்பட்டதாக இருக்க வேண்டும்).
4. பாதுகாப்பை அதிகரிக்க, பல காரணி அங்கீகாரத்தை (MFA) இயக்கவும்.

இது முடிந்ததும், root கணக்கிலிருந்து வெளியேறி, புதிதாக உருவாக்கப்பட்ட IAM பயனரைப் பயன்படுத்தி உள்நுழையவும்.

-

3. பயன்பாட்டு கட்டமைப்பைத் தீர்மானிக்கவும்

இந்தப் பயிற்சிக்காக, நாம் ஒரு எளிய கட்டமைப்பை உருவாக்குவோம்:

– EC2 : வலைச் செயலிகளை (எ.கா. Node.js/Express, Python Flask, அல்லது PHP) இயக்குதல்.
– விருப்பத்திற்கேற்ப வழங்கப்படும் RDS: நிர்வகிக்கப்படும் MySQL/PostgreSQL தரவுத்தளம், இதன்மூலம் தரவுகள் நேர்த்தியாகச் சேமிக்கப்படும்.
– S3 (விருப்பத்திற்குரியது): படங்கள், ஆவணங்கள் அல்லது காப்புப்பிரதிகள் போன்ற நிலையான கோப்புகளைச் சேமிக்கிறது.
– வழி 53 (விருப்பத்திற்குரியது): டொமைன்களை நிர்வகிக்கவும்.
– கிளவுட்வாட்ச் : அடிப்படை கண்காணிப்பு.

படிப்பதற்கான  மெய்நிகராக்கம் மற்றும் கொள்கலனாக்கம் ஆகியவற்றுக்கு இடையிலான வேறுபாடு

நீங்கள் இப்பதான் தொடங்குகிறீர்கள் என்றால், முதலில் உங்கள் பயன்பாடுகளை இயக்குவதற்கு EC2-வில் கவனம் செலுத்துங்கள்.

-

4. ஒரு EC2 சேவையகத்தை உருவாக்கவும்

அ) ஒரு இன்ஸ்டன்ஸை உருவாக்கவும்
1. EC2 சேவையில் உள்நுழையவும்.
2. Launch Instance என்பதைக் கிளிக் செய்யவும்.
3. இயக்க முறைமையைத் தேர்ந்தெடுக்கவும், எடுத்துக்காட்டாக உபுண்டு சர்வர் 22.04 LTS.
4. இன்ஸ்டன்ஸ் வகையைத் தேர்ந்தெடுக்கவும்: இலவச அடுக்குக்கு (Free Tier) `t2.micro` அல்லது `t3.micro`-ஐப் பயன்படுத்தவும் (கிடைப்பதைப் பொறுத்து).
5. ஒரு திறவி இணையை (Key Pair) உருவாக்கவும் அல்லது தேர்ந்தெடுக்கவும் (எ.கா., `aws-key.pem`). `.pem` கோப்பைப் பாதுகாப்பாக வைத்திருக்கவும், ஏனெனில் அது SSH-க்காகப் பயன்படுத்தப்படும்.

b) பிணையம் மற்றும் ஃபயர்வால் கட்டமைப்பு
– அந்த இன்ஸ்டன்ஸ் இயல்புநிலை VPC-இல் இருப்பதை உறுதிப்படுத்திக் கொள்ளுங்கள் (இது ஒரு பயிற்சிக்காக மட்டுமே).
– பாதுகாப்புக் குழுவை அமைக்கவும்:
– போர்ட் 22 (SSH) உங்கள் IP முகவரியிலிருந்து (உதாரணமாக, `My IP`) மட்டுமே பயன்படுத்தவும்.
– `0.0.0.0/0` (பொது) இன் போர்ட் 80 (HTTP).
– பின்னர் SSL-ஐப் பயன்படுத்தினால், `0.0.0.0/0`-இலிருந்து போர்ட் 443 (HTTPS).

குறிப்பு: SSH-ஐப் பொதுமக்களுக்குத் திறப்பது ஆபத்தானது. IP முகவரிகளை எப்போதும் கட்டுப்படுத்துங்கள்.

'Launch' என்பதைக் கிளிக் செய்து, இன்ஸ்டன்ஸ் இயங்கும் வரை காத்திருக்கவும்.

-

5. SSH வழியாக சேவையகத்தில் உள்நுழையவும்

விண்டோஸில், நீங்கள் WSL அல்லது PuTTY-ஐப் பயன்படுத்தலாம். macOS/லினக்ஸில், இதை நேரடியாக டெர்மினலில் இருந்தே செய்யலாம்.

1. அனுமதிச் சாவியை மாற்றவும்:
"`பேஷ்
chmod 400 aws-key.pem
"`
2. சேவையகத்திற்கு SSH செய்யவும் (EC2-இலிருந்து பொது IPv4-ஐப் பயன்படுத்தவும்):
"`பேஷ்
ssh -i aws-key.pem ubuntu@PUBLIC_IP
"`

வெற்றி பெற்றால், நீங்கள் AWS உபுண்டு சேவையகத்தில் இருப்பீர்கள்.

-

6. வலை சேவையகம் மற்றும் பயன்பாட்டு இயக்க நேரத்தை நிறுவவும்

நவீன இணையத்தில் பரவலாகப் பயன்படுத்தப்படும் Node.js செயலிக்கான ஒரு உதாரணம் இதோ.

அ) சார்புகளைப் புதுப்பித்து நிறுவவும்
"`பேஷ்
sudo apt update && sudo apt மேம்படுத்தல் -y
sudo apt install -y curl git
"`

b) Node.js (LTS பதிப்பு) நிறுவவும்
"`பேஷ்
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash –
sudo apt install -y nodejs
முனை -v
npm -v
"`

-

7. ஒரு எளிய செயலியை உருவாக்கவும்

படிப்பதற்கான  VirtualBox மற்றும் VMware-இல் VM உருவாக்குவது குறித்த பயிற்சி

ஒரு திட்டக் கோப்புறையை உருவாக்கவும்:

"`பேஷ்
mkdir myapp && cd myapp
npm init -y
npm install express
"`

`index.js` என்ற கோப்பை உருவாக்கவும்:

`js
const express = require(“express”);
கான்ஸ்ட் ஆப் = எக்ஸ்பிரஸ்();

app.get(“/”, (req, res) => {
res.send(“வணக்கம்! உங்கள் பயன்பாடு AWS EC2-இல் இயங்குகிறது.”);
});

app.listen(3000, () => console.log(“சர்வர் 3000 போர்ட்டில் இயங்குகிறது”));
"`

பயன்பாட்டை இயக்கவும்:

"`பேஷ்
நோடு இன்டெக்ஸ்.ஜேஎஸ்
"`

உலாவி மூலம் அணுக முயற்சிக்கவும்:
– `http://PUBLIC_IP:3000`

இருப்பினும், பாதுகாப்புக் குழுவில் போர்ட் 3000 தற்போது திறக்கப்படவில்லை. நீங்கள்:
1) பாதுகாப்புக் குழுவில் போர்ட் 3000-ஐத் திறக்கவும், அல்லது
2) ஒரு ரிவர்ஸ் ப்ராக்ஸியைப் பயன்படுத்துங்கள் (இது மிகவும் பரிந்துரைக்கப்படுகிறது), இதன் மூலம் பயன்பாடு உள் போர்ட்டில் இருக்கும், ஆனால் அதனை 80/443 போர்ட் வழியாக அணுக முடியும்.

-

8. Nginx-ஐ ஒரு ரிவர்ஸ் ப்ராக்ஸியாகப் பயன்படுத்துதல் (போர்ட் 80 வழியாக அணுகுதல்)

Nginx ஐ நிறுவவும்:
"`பேஷ்
sudo apt install -y nginx
sudo systemctl nginx ஐ செயல்படுத்தவும்
sudo systemctl start nginx
"`

Nginx உள்ளமைப்பை அமைக்கவும்:
"`பேஷ்
sudo nano /etc/nginx/sites-available/myapp
"`

உள்ளமைவு உள்ளடக்கம்:
`nginx
சர்வர் {
கேட்கிறேன் 80;
server_name _;

இடம் /
ப்ராக்ஸி_பாஸ் http://127.0.0.1:3000;
ப்ராக்ஸி_http_version 1.1;
proxy_set_header மேம்படுத்தல் $http_upgrade;
proxy_set_header இணைப்பு 'மேம்படுத்தல்';
proxy_set_header Host $host;
ப்ராக்ஸி_கேச்_பைபாஸ் $http_மேம்படுத்தல்;
}
}
"`

உள்ளமைவை இயக்கு:
"`பேஷ்
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
"`

இப்போது அணுகவும்:
– `http://PUBLIC_IP/`

இந்தச் செயலி 3000 போர்ட்டில் இயங்குகிறது, ஆனால் பொதுமக்கள் இதை 80 போர்ட் வழியாக அணுகுகிறார்கள்.

-

9. PM2 ஐப் பயன்படுத்தி பயன்பாடுகளைத் தொடர்ந்து இயக்குதல்

SSH இணைப்பு துண்டிக்கப்படும்போது செயலி செயலிழப்பதைத் தடுக்க, PM2-ஐப் பயன்படுத்தவும்:

"`பேஷ்
sudo npm install -g pm2
pm2 start index.js –name myapp
pm2 சேமிக்கவும்
பிஎம்2 ஸ்டார்ட்அப்
"`

`pm2 startup` கட்டளை கூடுதல் வழிமுறைகளை வழங்கும். சேவையகம் மறுதொடக்கம் செய்யப்படும்போது பயன்பாடு தானாகவே இயங்குவதற்கு, காட்டப்படும் கட்டளையை இயக்கவும்.

-

10. (விருப்பத்தேர்வு) RDS உடன் ஒரு தரவுத்தளத்தைச் சேர்த்தல்

உங்கள் பயன்பாட்டிற்கு ஒரு தரவுத்தளம் தேவைப்பட்டால், AWS காப்புப்பிரதிகள், பிழைத்திருத்தங்கள் மற்றும் அளவிடுதல் ஆகியவற்றை நிர்வகிப்பதால், RDS அதை எளிதாக்குகிறது.

எளிய வழிமுறைகள்:
1. RDS சேவையைத் திறக்கவும் → தரவுத்தளத்தை உருவாக்கவும்.
2. MySQL அல்லது PostgreSQL-ஐத் தேர்ந்தெடுக்கவும் (குறிப்பிட்ட உள்ளமைவுகளில் இலவச அடுக்கு விதிகள் கிடைக்கின்றன).
3. பயனர்பெயர்/கடவுச்சொல்லை அமைக்கவும்.
4. RDS இன்ஸ்டன்ஸ், EC2 இருக்கும் அதே VPC-யில் இருப்பதை உறுதிப்படுத்திக் கொள்ளுங்கள்.
5. RDS பாதுகாப்புக் குழுவானது, EC2 பாதுகாப்புக் குழுவிலிருந்து வரும் இணைப்புகளை மட்டும் ஏற்குமாறு அமைக்கவும் (பொது இணைப்புகளிலிருந்து அல்ல).

படிப்பதற்கான  தனிப்பட்ட வலைத்தளத்திற்கான சிறந்த ஹோஸ்டிங்கை எவ்வாறு தேர்ந்தெடுப்பது

தரவுத்தளம் செயல்பாட்டிற்கு வந்தவுடன், RDS எண்ட்பாயிண்ட்டைப் பெற்று, டேட்டாபேஸ் டிரைவரைப் பயன்படுத்தி உங்கள் அப்ளிகேஷனிலிருந்து அதனுடன் இணையுங்கள்.

-

11. (விருப்பத்தேர்வு) SSL சான்றிதழுடன் HTTPS-ஐ இயக்கவும்

உற்பத்திக்கு HTTPS கட்டாயமாகும். வழக்கமான முறை:
– ஒரு டொமைனைப் பயன்படுத்தவும் (உதாரணமாக, Route 53 அல்லது மற்றொரு பதிவாளரிடமிருந்து).
– EC2-வில் Let's Encrypt (Certbot) வழியாக SSL-ஐ நிறுவவும்.

சுருக்கமாக:
"`பேஷ்
sudo apt install -y certbot python3-certbot-nginx
sudo certbot –nginx
"`

வழிகாட்டியைப் பின்பற்றி ஒரு டொமைனைத் தேர்ந்தெடுத்து, HTTPS வழிமாற்றத்தைச் செயல்படுத்தவும்.

-

12. கண்காணிப்பு மற்றும் செலவுகள்

சிபியு, நெட்வொர்க் மற்றும் குறிப்பிட்ட பதிவுகள் போன்ற அளவீடுகளைப் பார்க்க AWS, கிளவுட்வாட்சை வழங்குகிறது. நீங்கள் நஷ்டம் அடைவதைத் தவிர்க்க, உங்கள் செலவுகளையும் கண்காணிக்க வேண்டும்.

முக்கியமான குறிப்புகள்:
– CloudWatch-இல் பில்லிங் அலாரத்தை இயக்கவும் (எ.கா. கட்டணங்கள் $5-ஐத் தாண்டினால் அலாரம்).
– பயன்பாட்டில் இல்லாதபோது இன்ஸ்டன்ஸை அணைத்துவிடவும்.
– பயன்படுத்தப்படாத வளங்களை (லோட் பேலன்சர்கள், EBS, எலாஸ்டிக் IP-கள், ஸ்னாப்ஷாட்கள்) அகற்றிவிடவும், ஏனெனில் அவை தொடர்ந்து செலவுகளை ஏற்படுத்தக்கூடும்.

-

மூடுகிறது

வாழ்த்துகள்! EC2-ஐப் பயன்படுத்தி AWS-இல் ஒரு செயலியை உருவாக்குவது, ஒரு வலைச் செயலியை இயக்குவது, Nginx ரிவர்ஸ் ப்ராக்ஸியை அமைப்பது, மற்றும் PM2-ஐப் பயன்படுத்தி அதை எப்போதும் இயங்க வைப்பது ஆகியவற்றின் அடிப்படைகளை நீங்கள் கற்றுக்கொண்டீர்கள். மேலும், தரவுத்தளங்களுக்கான RDS, சேமிப்பகத்திற்கான S3, மற்றும் பாதுகாப்பிற்கான HTTPS சான்றிதழ்கள் போன்ற கூடுதல் சேவைகளைப் பற்றிய ஒரு மேலோட்டத்தையும் நீங்கள் பெற்றுள்ளீர்கள்.

நீங்கள் அடுத்த நிலைக்கு முன்னேற விரும்பினால், பொதுவாக அடுத்த கட்டங்கள் இவைதான்:
– CI/CD உடனான தானியங்கு வரிசைப்படுத்தல் (GitHub Actions + SSH, அல்லது AWS CodeDeploy),
– டாக்கருடன் கண்டெய்னர்களைப் பயன்படுத்துதல் மற்றும் ECS அல்லது EKS போன்ற ஒருங்கிணைப்புகளைப் பயன்படுத்துதல்,
– லாம்ப்டா மற்றும் ஏபிஐ கேட்வேயுடன் சர்வர்லெஸ் கட்டமைப்பைப் பயன்படுத்துதல்.

நீங்கள் விரும்பினால், நீங்கள் உருவாக்கும் செயலியின் வகையையும் (Node.js, Laravel, Django, React, போன்றவை) அதன் நோக்கத்தையும் (செயல்விளக்கம், உற்பத்தி, பெரிய அளவிலான பயன்பாடு) குறிப்பிடவும். மேலும் குறிப்பிட்ட வழிமுறைகளுடன் இந்த வழிகாட்டியை என்னால் தனிப்பயனாக்க முடியும்.

கருத்து தெரிவிக்கவும்