Bastion Host आणि NAT Gateway ने Private EC2 कसा access करायचा
मागचा chapter एका puzzle ने संपला, Puzzle: PHP on a private server: app server ला public IP नाही आणि internet कडे route नाही, म्हणून त्याला SSH करता येत नाही आणि sudo yum install php -y काहीच download करू शकत नाही. हा chapter दोन्ही भाग सोडवतो. आधी तुम्ही bastion host (jump server) मधून private server पर्यंत पोचता, key तुमच्या laptop वरच ठेवून. मग NAT gateway ने private server ला internet कडे एकाच दिशेचं दार देता, म्हणजे तो packages download करू शकतो पण बाहेरून कोणी त्याच्यापर्यंत पोचू शकत नाही. शेवटी पूर्ण layout दुसऱ्या Availability Zone मध्ये copy करता, म्हणजे एक AZ बंद पडला तरी application बंद पडत नाही.
या class मध्ये काय शिकणार
- फक्त AMI ने puzzle का सुटत नाही
- Bastion host (jump server) म्हणजे काय
- Key copy न करता bastion मधून SSH
- Bastion आणि private server साठी security groups
yumतरीही का fail होतं, आणि packages हाताने copy करणं का चालत नाही- NAT gateway काय करतो: बाहेर हो, आत नाही
- NAT gateway सोबतचा private route table
- Console मध्ये NAT gateway बनवणे
- त्याचा खर्च
- High availability: तोच layout दोन AZs मध्ये
1. दोन problems
App server private subnet 10.0.16.0/20 मध्ये आहे, उदा. 10.0.16.7 वर.
- Public IP नाही: तुमचा laptop त्याला SSH करू शकत नाही.
- Internet कडे route नाही: त्याच्या route table मध्ये फक्त
10.0.0.0/16→local, म्हणूनsudo yum install php -ypackage repos पर्यंत पोचत नाही.
Server private च राहायला हवा. म्हणून तुमच्यासाठी आत यायचा रस्ता, आणि server साठी बाहेर जायचा रस्ता हवा, बाकी सगळ्यांसाठी आत यायचा रस्ता न उघडता.
2. Idea 1: public मध्ये बनवा, AMI म्हणून copy करा
- Public subnet मध्ये एक server launch करा.
- तिथे
sudo yum install php -yचालतं, कारण internet आहे. - त्याचा AMI बनवा (What an AMI is).
- त्या AMI मधून private app server launch करा. तो PHP आधीच installed असलेला सुरू होतो.
का पुरत नाही: हे फक्त पहिल्या setup साठी चालतं. ज्या दिवशी php-fpm बंद पडेल किंवा private server वरचा log वाचायचा असेल, त्या दिवशी login करायला मार्गच नाही.
Classroom line
If some error comes up on it, how will you resolve it then?
Class मधलं वाक्य
त्याच्यात काही error आला, तर मग तुम्ही तो कसा resolve करणार?
Classroom line – हिंदी
"Usme kuch error aaya toh, fir aap usko kaise resolve karoge?"
Figure 1. Public dev server वर PHP install करा, AMI बनवा, त्यातून private server launch करा: पहिल्या setup ला PHP असतो, पण नंतर logs वाचायला किंवा php-fpm fix करायला login करता येत नाही.
3. Bastion host (jump server)
काय: public subnet मधला एक छोटा server, ज्याचं एकच काम: SSH साठी दार बनणं. तुम्ही त्याला SSH करता, आणि त्याच्यावरून private server ला. हा शब्द किल्ल्यांमधून आलाय: bastion म्हणजे भिंतीचा तो मजबूत भाग जो शत्रूसमोर असतो, म्हणून त्याच जागेवर सगळ्यात जास्त पहारा असतो.
- Laptop → SSH → bastion (public IP).
- Bastion → SSH → app server (private IP
10.0.16.7).
Private server ला अजूनही public IP नाही. Bastion त्याच्यापर्यंत local route ने पोचतो, कारण दोघं एकाच VPC मध्ये आहेत.
Classroom line
Using one server to get to another server is what we call a jump server.
Class मधलं वाक्य
एका server चा वापर करून दुसऱ्या server वर जाणं, याला आपण jump server म्हणतो.
Classroom line – हिंदी
"Ek server ka use karke dusre server pe jaana, isko hum log jump server kehte hain."
आपल्या setup मध्ये public web server च bastion म्हणून वापरता येतो. Production मध्ये bastion हा वेगळा छोटा server असतो, ज्यावर दुसरं काहीच चालत नाही.
4. Key copy न करता bastion मधून SSH
keypair.pem bastion वर कधीच copy करू नका. Bastion internet समोर असतो; कोणी त्यात घुसला तर त्याला प्रत्येक server ची key मिळेल. Key तुमच्या laptop वरच राहते.
मार्ग 1: -J (ProxyJump) ने एकच command (Linux, macOS, किंवा OpenSSH असलेलं Windows PowerShell)
- Key तुमच्या SSH agent मध्ये load करा:
ssh-add keypair.pem. Agent ला connect होत नाही असं म्हणालं तर आधी agent सुरू करा: Linux वरeval "$(ssh-agent -s)". -
एकाच command मध्ये jump:
ssh -J ec2-user@<bastion-public-ip> ec2-user@10.0.16.7 -
SSH आधी bastion ला connect होतो, आणि त्याच्यामधून
10.0.16.7ला. दोन्ही logins तुमच्या laptop च्या agent मधली key वापरतात.
मार्ग 2: laptop वरच्या ~/.ssh/config मध्ये shortcut:
Host bastion
HostName <bastion-public-ip>
User ec2-user
IdentityFile ~/keypair.pem
Host app
HostName 10.0.16.7
User ec2-user
IdentityFile ~/keypair.pem
ProxyJump bastion
आता फक्त ssh app पुरे.
मार्ग 3: agent forwarding ने हाताने hop
ssh-add keypair.pemssh -A ec2-user@<bastion-public-ip>(-Aतुमचा agent पुढे देतो; काहीही copy होत नाही).- Bastion वर:
ssh ec2-user@10.0.16.7.
-J च वापरा: -A असताना तुम्ही logged in असेपर्यंत bastion चा admin तुमचा agent वापरू शकतो. ssh command चे basics Building the SSH command piece by piece मध्ये आहेत.
Security groups:
- Bastion SG: inbound SSH 22 फक्त My IP कडून.
- App server SG: inbound SSH 22 फक्त source = bastion SG (आणि आधीसारखं web SG कडून HTTP 80).
SSH शिवाय: AWS Systems Manager Session Manager console मधूनच server वर shell उघडतो, port 22 आणि bastion शिवाय; त्यासाठी server वर SSM agent आणि IAM role लागतो.
Figure 2. Animation: key laptop वरच (ssh-add); bastion ला ssh -A (फक्त My IP कडून 22), मग 10.0.16.7 ला ssh (फक्त bastion SG कडून 22); किंवा ssh -J ने दोन्ही hops एकदम.
5. आत गेलात, पण yum तरी fail
App server वर sudo yum install php -y चालवा. ते थांबून राहतं आणि मग timeout ने fail होतं. कारण तेच: private route table मध्ये internet कडे route नाही.
Laptop वर package download करून copy का नाही करायचं? Package म्हणजे एक file नसते:
- Program
/usr/binमध्ये जातो, settings/etcमध्ये, logs/var/logमध्ये, extensions/usr/lib64मध्ये. - त्याला दुसरे packages (dependencies) लागतात, आणि त्यांना परत आणखी.
yumते सगळे download करतो आणि प्रत्येक file तिच्या जागी ठेवतो. हाताने केलं तर काहीतरी राहणारच.
Classroom line
All of these together make one piece of software.
Class मधलं वाक्य
"He sagle milun ek software banta."
हे सगळे मिळून एक software बनतं.
Classroom line
All of these together make one piece of software.
Figure 3. एक php package files /usr/bin, /etc, /etc/php-fpm.d, /var/log आणि /usr/lib64 मध्ये पसरवतो, आणि php-common, php-cli सारख्या dependencies आणतो. yum नेच download करायला हवं.
काय हवंय: server private च राहील, पण internet कडे बाहेर connections सुरू करू शकेल.
Classroom line
We don't want to make it public; it will stay private, and it still needs internet.
Class मधलं वाक्य
त्याला public करायचं नाही, private च राहील, तरीही internet पाहिजे.
Classroom line – हिंदी
"Na usko public banana hai, private hi rahega, fir bhi internet chahiye."
6. Idea: office चा extension phone
Office मधल्या desk phone चा विचार करा.
- तुमच्या extension ला direct number नाही. बाहेरचं कोणी तो dial करू शकत नाही.
- तुम्ही मात्र बाहेर call करू शकता. Call office exchange मधून जातो, ज्याचा एक बाहेरचा number आहे.
- ज्याला call केला तो उत्तर देतो, आणि उत्तर तुमच्या desk वर परत येतं.
- बाहेरच्या कुणाला तुमच्या extension ला call सुरू करायचा असेल, तर dial करायला number च नाही.
NAT gateway म्हणजे private servers साठी तेच exchange.
Figure 4. तुमचं extension (private server) office exchange (NAT gateway) मधून त्याच्या एका बाहेरच्या number ने (Elastic IP) बाहेर call करतं; उत्तर परत येतं, पण बाहेरचे तुमच्या extension ला call करू शकत नाहीत.
7. NAT gateway काय करतो
NAT = Network Address Translation.
- NAT gateway तुम्ही public subnet मध्ये बनवता आणि त्याला Elastic IP देता.
- Private server internet कडे request पाठवतो. त्याचा route table ती NAT gateway कडे पाठवतो.
- NAT gateway private source IP (
10.0.16.7) बदलून स्वतःचा Elastic IP लावतो आणि internet gateway मधून बाहेर पाठवतो. - उत्तर Elastic IP वर परत येतं. NAT gateway ला connection लक्षात असतं आणि तो उत्तर
10.0.16.7ला देतो. - Internet वरून NAT gateway कडे सुरू केलेलं connection drop होतं. त्याच्यामधून कोणीही private server पर्यंत पोचू शकत नाही.
म्हणून private server ला स्वतःचा public IP कधीच लागत नाही.
ही managed service आहे: AWS ती चालवतो आणि scale करतो; ती तुम्ही सांभाळायचा EC2 instance नाही, आणि तिला security group नसतो (तिच्या subnet चा NACL मात्र लागू होतो). स्वतः करायचा पर्याय म्हणजे NAT instance, म्हणजे तुम्ही स्वतः configure आणि patch करायचा EC2 server.
Classroom line
If you need internet in a private subnet, what do you have to do? You have to use a NAT gateway.
Class मधलं वाक्य
"Private subnet madhe internet pahije asel tar kay karava lagel? NAT gateway vaparava lagel."
Private subnet मध्ये internet पाहिजे असेल तर काय करावं लागेल? NAT gateway वापरावा लागेल.
Classroom line
If you need internet in a private subnet, what do you have to do? You have to use a NAT gateway.
Figure 5. Animation: request 10.0.16.7 वरून निघते, NAT gateway स्वतःचा Elastic IP लावून IGW मधून पाठवतो; उत्तर 10.0.16.7 ला परत येतं; internet वरून सुरू केलेलं connection drop होतं.
8. Route tables
- Public route table (web, bastion, NAT gateway):
10.0.0.0/16→local,0.0.0.0/0→igw-.... बदल नाही. - Private route table (app, DB):
10.0.0.0/16→local, आणि0.0.0.0/0→nat-...add करा.
Worked example: app server दोन packets पाठवतो.
10.0.32.10वरच्या DB ला: दोन्ही routes match होतात,10.0.0.0/16हा0.0.0.0/0पेक्षा जास्त specific, म्हणून तोlocalराहतो.- Internet वरच्या package repo ला: फक्त
0.0.0.0/0match होतो, म्हणून तो NAT gateway कडे जातो.
लक्षात ठेवा: NAT gateway स्वतः public subnet मध्ये असतो, कारण internet gateway पर्यंत जायला त्याला public route table लागतो.
Figure 6. Public route table तसाच (0.0.0.0/0 igw-... कडे). Private route table ला 0.0.0.0/0 nat-... कडे मिळतो; 10.0.x.x कडचं traffic अजूनही जास्त specific local route ला match होतं.
9. Console मध्ये बनवा
Part A: NAT gateway
- VPC > NAT gateways > Create NAT gateway.
- Name
my-nat. Subnet: public subnetweb-a. - Connectivity type: Public.
- Elastic IP allocation ID: Allocate Elastic IP वर click करा.
- Create NAT gateway. State Available दाखवेपर्यंत थांबा.
Part B: private route
- Route tables,
app-bआणिdb-cचा route table select करा (आपल्या VPC मध्ये main route table). - Routes > Edit routes > Add route: Destination
0.0.0.0/0, Target NAT Gatewaymy-nat. Save changes.
Part C: private servers वर install (bastion मधून ssh -J ने login करा)
-
App server:
sudo yum install nginx php php-fpm php-mysqlnd -y sudo service php-fpm start sudo service nginx start -
DB server:
sudo yum install mariadb105-server -y sudo service mariadb start -
आता downloads चालतात, आणि दोन्ही servers ना अजूनही public IP नाही. मागच्या chapter मधला setup, One public server: send .php to the app server, आता पूर्ण करता येतो.
या design बद्दल आणखी Bastion host (jump server) and NAT gateway मध्ये.
10. खर्च
- NAT gateway जोपर्यंत आहे तोपर्यंत तासाप्रमाणे, आणि तो process करतो त्या data च्या प्रत्येक GB प्रमाणे charge होतो.
- त्याचा Elastic IP हा public IPv4 address, त्यालाही तासाप्रमाणे charge.
- Lab नंतर: NAT gateway delete करा, Deleted दिसेपर्यंत थांबा, मग Elastic IPs > Release करा.
0.0.0.0/0→ NAT route पण काढा, नाहीतर तो blackhole दाखवतो.
11. High availability: दोन AZs
आतापर्यंत प्रत्येक tier एकाच AZ मध्ये आहे.
Classroom line
What if this very zone goes down?
Class मधलं वाक्य
जर हाच zone down झाला तर?
Classroom line – हिंदी
"Agar yahi zone down ho gaya to?"
त्या AZ मध्ये outage आला, तर त्यातला tier गेला, आणि पूर्ण application बंद. High availability म्हणजे layout दुसऱ्या AZ मध्ये copy करणं:
ap-south-1a: web10.0.0.0/20, app10.0.16.0/20, DB10.0.32.0/20.ap-south-1b: web10.0.48.0/20, app10.0.64.0/20, DB10.0.80.0/20.- एकूण सहा subnets, अजूनही
10.0.0.0/16च्या आत. - प्रत्येक AZ च्या public subnet मध्ये एक NAT gateway. प्रत्येक AZ चे private subnets असा private route table वापरतात जो
0.0.0.0/0त्याच AZ मधल्या NAT gateway कडे पाठवतो, म्हणजे एक AZ fail झाला तरी दुसरा तुटत नाही.
दोन web servers मध्ये traffic कसं वाटायचं हे load balancer चं काम, Load balancing मध्ये.
Figure 7. तेच web, app आणि DB subnets ap-south-1a (10.0.0.0/20, 10.0.16.0/20, 10.0.32.0/20) आणि ap-south-1b (10.0.48.0/20, 10.0.64.0/20, 10.0.80.0/20) मध्ये, प्रत्येक AZ मध्ये एक NAT gateway.
12. काही चुकलं तर
ssh -Jpassword मागतो किंवा "Permission denied (publickey)" म्हणतो: key agent मध्ये नाही.ssh-add keypair.pemचालवा,ssh-add -lने check करा.10.0.16.7कडचा hop timeout होतो: app server च्या SG ने bastion च्या SG कडून 22 allow करायला हवं, आणि तुम्ही private IP वापरायला हवा.- Private server वर
yumअजूनही timeout: private route table मध्ये0.0.0.0/0→ NAT route नाही, किंवा NAT gateway private subnet मध्ये आहे, किंवा तो अजून Available नाही. - NAT gateway बरोबर subnet मध्ये आहे पण काहीच बाहेर जात नाही: public subnet च्या route table ने
0.0.0.0/0internet gateway कडे पाठवायला हवं. - Route "Blackhole" दाखवतो: त्याचा NAT gateway delete झालाय. Route काढा किंवा नवीन NAT gateway कडे वळवा.
- अनपेक्षित bill: NAT gateway किंवा न जोडलेला Elastic IP चालू राहिलाय.
Ravindra Bagale's Tip
Bastion कंटाळवाणा ठेवा: सगळ्यात छोटा instance type, फक्त तुमच्या IP वरून SSH, दुसरं काहीही installed नाही, आणि key कधीच त्याच्यावर नाही. ssh -J किंवा ProxyJump entry वापरा, म्हणजे दोन hops कधी टाईप करावे लागत नाहीत. आणि NAT gateway ला सतत चालू असलेल्या meter सारखं समजा: lab साठी बनवा, test करा, आणि त्याच दिवशी delete करून त्याचा Elastic IP release करा.
13. संपूर्ण class एका page वर
- Private server ला दोन problems: आत यायला मार्ग नाही (public IP नाही) आणि बाहेर जायला मार्ग नाही (internet route नाही).
- Public server चा AMI एकदा मदत करतो, पण नंतर login करता येत नाही.
- Bastion host: एक छोटा public server ज्यातून तुम्ही SSH करता. Bastion SG: My IP कडून 22. Private SG: bastion SG कडून 22.
- Key laptop वरच:
ssh-add keypair.pem, मगssh -J ec2-user@<bastion-public-ip> ec2-user@10.0.16.7किंवा~/.ssh/configमध्येProxyJump..pembastion वर कधीच copy करू नका. - Session Manager हा SSH शिवायचा पर्याय.
- Packages अनेक folders मध्ये files पसरवतात आणि dependencies लागतात, म्हणून
yumनेच download करायला हवं. - NAT gateway: public subnet मध्ये Elastic IP सोबत; private servers बाहेर जातात, बाहेरून आलेली connections drop. AWS-managed, security group नाही.
- Private route table:
0.0.0.0/0→nat-...; public route table मध्ये0.0.0.0/0→igw-...तसाच. - तासाप्रमाणे आणि GB प्रमाणे charge; lab नंतर delete करा आणि Elastic IP release करा.
- High availability: तेच subnets दोन AZs मध्ये, प्रत्येक AZ ला एक NAT gateway.
14. घरी करून बघा
घरी करून बघा
Task 1: कागदावर
- Bastion, app server आणि DB server असलेला VPC काढा. प्रत्येक security group चा inbound SSH rule लिहा.
- NAT gateway add केल्यावर दोन्ही route tables लिहा.
10.0.32.10साठी आणि internet address साठी कुठला route match होतो ते लिहा.
Task 2: console मध्ये
- मागच्या chapter चा VPC वापरून
ssh-addकरा आणिssh -Jने app server पर्यंत पोचा. sudo yum install php -yचालवा आणि timeout होताना बघा.web-aमध्येmy-natबनवा, route add करा, आणि परत चालवा.
Task 3: prove करा आणि clean up
- App server वरून
curl ifconfig.meचालवा. तो private IP नाही, NAT gateway चा Elastic IP दाखवतो. - NAT gateway delete करा, त्याचा Elastic IP release करा, आणि blackhole route काढा.
Recap
थोडक्यात
- Bastion host म्हणजे private servers मध्ये SSH साठीचं एकच पहारा असलेलं दार.
- Key तुमच्या laptop वरच:
ssh-addआणिssh -J. - NAT gateway मुळे private servers internet कडे बाहेर जाऊ शकतात; बाहेरून आत काहीच येत नाही.
- NAT gateway public subnet मध्ये ठेवा आणि private route table चा
0.0.0.0/0त्याच्याकडे वळवा. - त्याला दर तासाला पैसे लागतात: lab नंतर delete करा.
- High availability साठी subnets आणि NAT gateway दुसऱ्या AZ मध्ये परत करा.
सराव Tasks
Vidarbha Cotton Mills हा नागपूर मधला वस्त्रोद्योग व्यवसाय आहे. Ganesh Wankhede त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे INR मध्ये मोजले जातात आणि AWS resources ap-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.
0 / 12
सोपं Route table बनवा
का: Route table subnet मधलं traffic कुठे जाईल ते ठरवतं.
काय करायचं: vpc-0a3af54c5adeadbee मध्ये route table बनवा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
सोपं SSH key file सुरक्षित करा
का: इतर users वाचू शकणारी key file SSH वापरत नाही.
काय करायचं: vidarbhacotton-key.pem फक्त owner ला वाचता येईल असं करा (write नाही, इतरांना काहीच नाही).
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं EC2 server ला connect करा
का: Key file सह SSH हा Linux EC2 ला login करण्याचा standard मार्ग.
काय करायचं: vidarbhacotton-key.pem key वापरून 13.180.20.5 server वर ec2-user म्हणून login करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
सोपं SSH चा port
का: Security group rules ला योग्य port हवा.
काय करायचं: SSH साठी security group ने कोणता TCP port उघडावा?
- Task मधले numbers लिहून घ्या.
- कागदावर step by step काढा.
- Box मध्ये फक्त final उत्तर लिहा.
- Check answer दाबा.
मध्यम Subnet route table शी जोडा
का: Associate करेपर्यंत subnet main route table वापरतो.
काय करायचं: Subnet subnet-00cb3bc54a5bbb1 ला route table rtb-00cb3bc54a5bbb22 शी associate करा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
मध्यम Internet route जोडा
का: Route table 0.0.0.0/0 internet gateway ला पाठवत असेल तरच subnet "public".
काय करायचं: Route table rtb-00cb3bc54a5bbb22 मध्ये सगळं internet traffic (0.0.0.0/0) igw-0cb3bc54a5baa11 कडे पाठवा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
मध्यम Public key दुसऱ्या server वर copy करा
का: यानंतर त्या server ला password शिवाय SSH करता येतं.
काय करायचं: तुमची public key 10.0.5.25 वरच्या ec2-user ला copy करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम SSH key pair बनवा
का: Servers मध्ये passwordless SSH साठी पहिल्या server वर key pair लागते.
काय करायचं: ed25519 प्रकारची नवी SSH key pair बनवा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
मध्यम Server वर file upload करा
का: scp SSH वरून files copy करतो, तोच key व user वापरतो.
काय करायचं: तुमच्या laptop वरून index.html ला 13.180.20.5 वरच्या /home/ec2-user/ मध्ये vidarbhacotton-key.pem वापरून upload करा.
- हे काम करणारा Linux command शोधा.
- Task ला लागणारे options (उदा. -r, -h) जोडा.
- File नावं, folders किंवा users योग्य क्रमाने लिहा.
- System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.
अवघड NAT gateway बनवा
का: Private servers updates download करायला NAT gateway (public subnet मधला) वापरतात.
काय करायचं: Public subnet subnet-00cb3bc54a5bbb1 मध्ये Elastic IP allocation eipalloc-0cb3bc54a5bdd44 वापरून NAT gateway बनवा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
अवघड Private traffic NAT मधून पाठवा
का: Private route table ने 0.0.0.0/0 NAT gateway ला पाठवावं, internet gateway ला नाही.
काय करायचं: Private route table rtb-00cb3bc54a5bbb22 मध्ये 0.0.0.0/0 NAT gateway nat-0b3bc54a5bcc33 कडे पाठवा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
अवघड फक्त office मधून SSH allow करा
का: सगळ्यांना SSH उघडणं धोक्याचं. फक्त office IP (/32) allow करा.
काय करायचं: sg-00ba3ab5465a4c3b2 वर inbound TCP port 22 फक्त office IP 49.36.5.10 कडून allow करा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
उजळणी, तुलना आणि मुलाखत cards
हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.











अजून cards: Ravi Sir's Cards.