Ravindra BagaleCourses & study guides English

EC2 server च्या आत: EBS, ENI, instance states, SSH ने connect करणं, आणि Linux म्हणजे काय

चला, सुरू करूया. मागच्या class मध्ये आपण सात steps मध्ये आपला पहिला EC2 server launch केला. आज तो box उघडून आत बघू. Launch वर click केल्यावर AWS नक्की काय काय जोडतं? तुमचा public IP नक्की कुठे राहतो? Server stop किंवा terminate केल्यावर तुमच्या data चं आणि bill चं काय होतं? मग आपल्या laptop वरून SSH ने server मध्ये login करू, step by step, आणि जे errors हमखास येतात ते fix करू. शेवटी त्या server वरच्या operating system ची, Linux ची, ओळख करून घेऊ. आधी नीट बघा, मग घरी प्रत्येक step करून बघा.

या class मध्ये काय शिकणार

  • Launch च्या 7 steps ची छोटी उजळणी, आणि प्रत्येक project ला वेगळा key pair
  • Pending मध्ये काय होतं: EC2 compute, EBS disk आणि ENI
  • ENI: तुमचे private आणि public IP कुठे राहतात
  • Stop च्या आत: AWS compute परत घेतं
  • परत start: काय टिकतं आणि काय बदलतं (public IP, private IP, Elastic IP)
  • खऱ्या gp3 किमतींसोबत EBS चं bill, आणि public IPv4 चा charge
  • Terminate च्या आत
  • Instance state diagram (interview चा लाडका प्रश्न)
  • Stop किंवा terminate करण्याआधी backup, आणि तो automate कसा करायचा
  • परत launch, आणि status checks (2/2 की 3/3)
  • Instance summary page
  • PowerShell बरोबर folder मध्ये उघडणं
  • ssh command तुकड्या तुकड्याने बनवणं
  • Login, पहिले commands, आणि logout
  • Mac आणि Linux: chmod 400
  • SSH चे नेहमीचे errors आणि त्यांचे fixes
  • आत जायचे दुसरे रस्ते: Connect page आणि EC2 Instance Connect
  • Linux म्हणजे काय: files आणि folders, आणि Windows मधली कामं Linux commands मध्ये
  • Distributions, आणि Linux खरं कसं जन्मलं
  • Kernel, आणि computers binary का वापरतात
  • Homework

1. छोटी उजळणी: launch च्या 7 steps

का. आज जे काही करणार ते मागच्या class मध्ये launch केलेल्या server वरच उभं आहे. इथे थोडक्यात उजळणी. पूर्ण step-by-step मागच्या chapter मध्ये आहे: Root user, IAM users, MFA आणि तुमचा पहिला EC2 server launch करणं.

काय. Launch page चे सात भाग, आजच्या जास्तीच्या notes सोबत:

  1. Name and tags. Optional आहे, पण प्रत्येक server ला नाव द्या. ही शिस्त आहे.
  2. AMI (operating system). Amazon Linux, Ubuntu, Debian, Fedora, SUSE, Red Hat आणि बाकी. Commands बहुतेक सगळीकडे सारखेच. Package ची नावं बदलू शकतात (section 20).
  3. Instance type. Practice साठी 1 किंवा 2 vCPU आणि 1 GiB RAM पुरे. तुमच्या account साठी Free tier eligible लिहिलेला type घ्या: 15 July 2025 किंवा नंतर बनवलेल्या accounts साठी t3.micro; जुन्या accounts साठी t2.micro किंवा t3.micro.
  4. Key pair. Password शिवाय login. ही 2048-bit RSA key आहे, जी तुम्ही कोण ते सिद्ध करते.
  5. Security group. Inbound ports उघडेपर्यंत बंदच असतात. SSH साठी port 22 उघडतो.
  6. Storage. Amazon Linux चा root volume 8 GiB पासून सुरू होतो. जास्तीचे EBS volumes म्हणजे जास्तीचे USB drives; gp3 volume 1 GiB इतका छोटा पण असू शकतो.
  7. Number of instances. प्रत्येक instance म्हणजे steps 1 ते 6 चा clone.

प्रत्येक project ला एक key pair. एकच security group किंवा एकच key pair खूप servers ना वापरता येतो. पण वापरावा का? ही गोष्ट बघा.

उदाहरण: 100 servers, एक key.

  1. समजा तुमच्या company चे 100 servers आहेत: 50 project A चे आणि 50 project B चे.
  2. सगळे 100 एकाच key pair ने launch केले: company.pem.
  3. Project A च्या एका developer चा laptop हरवला. त्यात ती .pem file आहे.
  4. ज्याच्याकडे ती file आहे, तो सगळ्या 100 servers वर login करायचा प्रयत्न करू शकतो.
  5. आता समजा project A ने project-a.pem आणि project B ने project-b.pem वापरली.
  6. तोच हरवलेला laptop फक्त project A चे 50 servers धोक्यात आणतो. Project B सुरक्षित.
  7. 100 धोक्यात → 50 धोक्यात: एका साध्या सवयीने नुकसान निम्मं.
समजा 100 servers एकच key pair share करतात 100 ना एकच keykey leakproject A: 50project B: 50100 पैकी 100 servers धोक्यात प्रत्येक project ला एक keykey A leakkey B सुरक्षितproject A: 50project B: 5050 धोक्यात, 50 सुरक्षित

Figure 1. समजा 100 servers एकच key pair share करतात: एक key leak झाली की सगळे 100 धोक्यात. प्रत्येक project ला वेगळा key pair असेल, तर key A leak झाली तरी फक्त project A चे 50 servers धोक्यात.

Correction

Class मध्ये CentOS नेहमीचा पर्याय म्हणून सांगितला. CentOS Linux बंद झालं आहे (version 7 चा end of life 30 June 2024 ला झाला). त्याऐवजी Rocky Linux, AlmaLinux किंवा CentOS Stream वापरा. "निम्मे servers Amazon Linux आणि निम्मे Ubuntu वर चालतात" हे class मधलं वाक्य काढलं आहे; त्या आकड्याला भरवशाचा source नाही.

2. Pending मध्ये काय होतं: तीन भाग एकत्र येतात

का. Launch instance वर click केल्यावर थोडा वेळ state Pending दिसते. Class मध्ये साधारण 10 ते 15 seconds लागले. त्या वेळात AWS काय करतं हे कळलं, की पुढचं stop, start आणि billing सगळं आपोआप समजतं.

काय. AWS तीन वेगवेगळे भाग जोडतं:

  1. EC2 compute. तुमच्या instance type चे फक्त RAM आणि CPU, Availability Zone मधल्या एका physical host वर. EC2 = Elastic Compute Cloud.
  2. EBS volume. Disk (EBS = Elastic Block Store). आपल्या server साठी: 8 GiB gp3. ही वेगळी AWS service आहे, AWS च्या network वरून compute ला जोडलेली.
  3. ENI. Elastic Network Interface: server चं network card. तुमचे private आणि public IP addresses ENI चे असतात.

तिन्ही जोडले गेले की state Running होते.

Handwritten board titled Pending: a box labelled EC2 with RAM and CPU, connected to a box labelled EBS with the note Elastic Block storage; under the EC2 box a part labelled ENI, Elastic Network interface, with arrows to Public IP and Pvt IP.

Class board वरून: EC2 (Elastic Compute Cloud) म्हणजे फक्त RAM आणि CPU. EBS (Elastic Block Store; board वर "storage" लिहिलं आहे) म्हणजे disk, त्याला जोडलेली. ENI (Elastic Network Interface) compute सोबत असतो आणि public आणि private IP घेऊन असतो.

Pending: AWS तुमच्या server साठी तीन भाग जोडतं तुमचा EC2 instance EC2 computeफक्त RAM + CPURAMCPU EBS volumedisk: 8 GiB gp3 ENI (network card)private आणि public IP घेऊन असतो Running Pending चे पैसे लागत नाहीत. State Running झाली की billing सुरू.

Figure 2. Animation: Pending मध्ये EC2 compute (RAM आणि CPU), EBS volume आणि ENI एकत्र येतात, मग state Running दिसते. Pending चे पैसे लागत नाहीत.

उदाहरण: bill कधी सुरू होतं?

  1. तुम्ही 10:00:00 ला Launch केलं.
  2. Pending 15 seconds चाललं. Pending मध्ये AWS instance चे पैसे घेत नाही.
  3. 10:00:15 ला state Running. Billing आता सुरू, per second, कमीत कमी 1 minute.
  4. तुम्ही 10:30:15 ला terminate केलं. Billed वेळ: 30 minutes.
  5. N. Virginia मध्ये t3.micro $0.0104 per hour: 0.5 × $0.0104 = $0.0052.

3. ENI: तुमचे IP addresses कुठे राहतात

का. लोक म्हणतात "माझ्या server चा IP". खरं तर IP server च्या network interface वर, म्हणजे ENI वर असतो. Server stop आणि start करताना हे महत्त्वाचं ठरतं.

काय. Laptop चं उदाहरण.

  1. तुमच्या laptop ला Ethernet port असतो. Cable लावली की network त्या connection ला IP address देतं.
  2. तुमच्या EC2 instance ला ENI असतो. मुख्य ENI ला primary network interface म्हणतात (Linux च्या आत eth0).
  3. ENI कडे private IPv4 address (subnet मधून; default VPC 172.31.x.x वापरतं) असतो, आणि instance ला मिळाला असेल तर public IPv4 address.
ENI म्हणजे तुमच्या laptop चा network port LaptopEthernet port + cableIP port वर असतो EC2 instanceRAM + CPUENI (eth0) Private IPv4172.31.5.10Public IPv43.3.3.3 Private IP: VPC च्या आत बोलतो (default VPC 172.31.x.x वापरतं). Public IP: internet वरून पोचता येतो. उदाहरणाचे आकडे.

Figure 3. Laptop चा Ethernet port त्याचा IP घेऊन असतो. EC2 instance चा ENI (eth0) त्याचा private IPv4 आणि public IPv4 घेऊन असतो. दाखवलेले addresses उदाहरणं आहेत.

उदाहरण: दोन addresses, दोन कामं.

  1. समजा तुमच्या server च्या ENI चा private IP 172.31.5.10 आणि public IP 3.3.3.3 आहे (उदाहरणाचे आकडे).
  2. त्याच VPC मधला दुसरा server त्याच्याशी 172.31.5.10 वर बोलतो. ते traffic AWS च्या network बाहेर जातच नाही.
  3. तुम्ही घरून 3.3.3.3 ला connect करता. Internet वरून पोचता येतो तो हा address.
  4. Server च्या आत Linux private IP दाखवतं: prompt मध्ये ip-172-31-5-10 दिसतं (section 15).

4. Stop च्या आत: AWS compute परत घेतं

का. "Stopped server फुकट आहे, मग bill शून्य का नाही?" उत्तर त्या तीन भागांमध्येच आहे.

Stop केल्यावर काय होतं.

  1. State आधी Stopping, मग Stopped.
  2. Operating system बंद होते. RAM मधलं सगळं जातं.
  3. AWS compute (RAM आणि CPU) परत घेतं, आणि ते hardware दुसऱ्या customer ला देऊ शकतं. म्हणून instance चे पैसे लागत नाहीत.
  4. तुमचा EBS volume राहतो, सगळ्या data सकट. त्याच्या storage चे पैसे चालू राहतात.
  5. तुमचा ENI राहतो, त्याच्या private IP सकट.
  6. AWS ने आपोआप दिलेला public IPv4 सोडला जातो.

Classroom line

Why would AWS waste its EC2 for free?

Classroom line

The hard disk stays with us; our data is in it.

Classroom line

When we stop the server, there are no EC2 charges.

Stop, मग Start: काय जातं आणि काय राहतं तुमचा server AWS compute pool (share होणारं hardware) दुसऱ्या customer कडे जातं EC2 computeRAM + CPU नवीन computeतीच size EBSराहतो, पैसे लागतात ENI राहतोprivate IP 172.31.5.10 राहतो public: 3.3.3.3public: 5.5.5.5 (new) Stopped Stopped: compute चे पैसे नाहीत; EBS चे पैसे चालू. Start केल्यावर आपोआप दिलेला public IP बदलतो; Elastic IP राहिला असता. IPs उदाहरणाचे.

Figure 4. Animation: Stop केल्यावर compute AWS च्या pool मध्ये परत जातं आणि दुसऱ्या customer ला मिळू शकतं, पण EBS volume आणि ENI राहतात. Start केल्यावर त्याच size चं नवीन compute जोडलं जातं; private IP तोच राहतो आणि आपोआप दिलेला public IP बदलतो. IPs उदाहरणं आहेत.

5. परत start: काय टिकतं आणि काय बदलतं

का. काल चाललेला SSH command आज fail झाला की students ना आश्चर्य वाटतं. बहुतेक वेळा public IP बदललेला असतो.

Start केल्यावर काय होतं.

  1. State परत Pending. Pending का? कारण compute परत दिलं होतं. AWS ला तिन्ही भाग परत जोडावे लागतात, बहुतेक वेळा नवीन host वर.
  2. त्याच instance type चं नवीन compute तुमच्या त्याच EBS volume ला आणि त्याच ENI ला जोडलं जातं.
  3. Private IPv4 तोच राहतो.
  4. Instance ला आपोआप public IP मिळत असेल, तर public IPv4 नवीन मिळतो.
  5. Elastic IP (तुम्ही allocate केलेला static public IP) stop आणि start मध्ये instance सोबतच राहतो.
  6. प्रत्येक start ने नवीन billing period सुरू होतो, कमीत कमी 1 minute.

Classroom line

When you stop the server and start it again, the dynamic IP changes.

उदाहरण: कालचा command fail होतो.

  1. काल: public IP 3.3.3.3. तुम्ही ssh -i Downloads\firstlast.pem ec2-user@3.3.3.3 ने login केलं.
  2. काल रात्री पैसे वाचवायला server stop केला.
  3. आज start केला. Console मध्ये public IP 5.5.5.5 दिसतो (उदाहरण).
  4. कालचा command आता थांबून राहतो आणि timeout होऊन fail होतो.
  5. Fix: console मधून नवीन public IP copy करा आणि ec2-user@5.5.5.5 वापरा.
  6. कधीच न बदलणारा address पाहिजे असेल (website किंवा domain साठी), तर Elastic IP लावा. ते आपण course मध्ये पुढे करू.
Stop → Start Reboot
Host बहुतेक नवीन host तोच host
Private IPv4 तोच राहतो तोच राहतो
आपोआप दिलेला public IPv4 बदलतो तोच राहतो
Elastic IP राहतो राहतो
EBS data राहतो राहतो
RAM पुसली जाते पुसली जाते

Public IPv4 ला पैसे लागतात. February 2024 पासून AWS प्रत्येक public IPv4 address साठी $0.005 per hour घेतं, वापरात असो की पडून.

  1. एक running server, एक public IPv4, एक महिना: 720 hours × $0.005 = $3.60.
  2. 15 July 2025 आधी बनवलेल्या accounts ना पहिल्या 12 महिन्यांत दर महिन्याला 750 hours public IPv4 फुकट मिळत होते. नवीन accounts हे credits मधून भरतात.
  3. Stopped server आपोआप दिलेला public IP सोडतो, म्हणून तो charge पण थांबतो.
  4. Elastic IP ला server stopped असला तरी पैसे लागतात. गरज नसलेले Elastic IPs release करा.

6. EBS चं bill: खरे आकडे

का. Stopped server ला पण थोडे पैसे लागतात, कारण disk राहते. Board वर केलं तसं हिशोब करूया.

काय. gp3 storage चे पैसे तुम्ही provision केलेल्या size साठी per GB-month लागतात, disk रिकामी असली तरी. Billing per second आहे, म्हणून महिन्याच्या भागाला किमतीचा तेवढाच भाग. AWS ची price list (October 2026): N. Virginia मध्ये $0.08 per GB-month आणि Mumbai मध्ये $0.0912.

उदाहरण 1: एक server.

  1. N. Virginia मध्ये 8 GB root volume असलेला एक server.
  2. 8 × $0.08 = $0.64 महिन्याला, server running असो की stopped.
  3. Terminate केला (आणि default ने root volume delete होतो): $0.

उदाहरण 2: class चं उदाहरण, चार servers. Class मध्ये कल्पना समजायला गोल आकडा "₹5 per GB" वापरला. तोच हिशोब खऱ्या gp3 किमतीने:

  1. 3 servers × 8 GB = 24 GB.
  2. 15 July 2025 आधी बनवलेल्या accounts ना पहिल्या 12 महिन्यांत दर महिन्याला 30 GB EBS फुकट मिळतो (legacy Free Tier). 24 GB हे 30 GB पेक्षा कमी: $0.
  3. 4 था server launch केला: 4 × 8 = 32 GB.
  4. 32 − 30 = फुकट मर्यादेपेक्षा 2 GB जास्त.
  5. पूर्ण महिन्यासाठी 2 × $0.08 = $0.16.
  6. 30 दिवसांच्या महिन्यात 4 था server फक्त 15 दिवस ठेवला: $0.16 × 15 ÷ 30 = $0.08.

उदाहरण 3: तेच disks नवीन account वर.

  1. 15 July 2025 किंवा नंतर बनवलेल्या accounts ना 30 GB ची सूट नाही. वापर $100 ते $200 च्या credits मधून भरला जातो.
  2. सगळे 32 GB मोजले जातात: 32 × $0.08 = $2.56 महिन्याला, credits मधून.
  3. तेच 32 GB Mumbai मध्ये: 32 × $0.0912 = $2.92 महिन्याला.
EBS storage चं bill: class चं उदाहरण, खऱ्या gp3 आकड्यांनी server 18 GB server 28 GB server 38 GB server 48 GB 30 GB 3 servers × 8 GB = 24 GB. 4 था server: 32 GB. 30 GB पेक्षा 2 GB जास्त. Legacy Free Tier (15 July 2025 आधी बनवलेलं account, पहिले 12 महिने)30 GB फुकट, म्हणून पैसे 2 GB चे: 2 × $0.08 = महिन्याला $0.16; 15 दिवसांचे ≈ $0.08 नवीन accounts (15 July 2025 किंवा नंतर बनवलेले)30 GB ची सूट नाही: 32 × $0.08 = महिन्याला $2.56, credits मधून तेच 32 GB Mumbai मध्ये$0.0912 per GB-month: 32 × $0.0912 = महिन्याला $2.92 gp3 storage: N. Virginia मध्ये $0.08 per GB-month (AWS price list, October 2026). Per second billing, वापराच्या प्रमाणात.

Figure 5. Class चं उदाहरण खऱ्या gp3 किमतींनी: चार 8 GB disks म्हणजे 32 GB, जे legacy 30 GB सूटीपेक्षा 2 GB जास्त. नवीन accounts सगळ्या 32 GB चे पैसे credits मधून भरतात.

Ravindra Bagale's Tip

गोष्टी stop करायचं लक्षात ठेवण्यावर विसंबून राहू नका. AWS Budgets मध्ये monthly budget alert लावा (मागच्या chapter मध्ये कसं ते आहे), आणि practice संपली की servers terminate करा. Stopped server ला पण disk चे आणि Elastic IP असेल तर त्याचे पैसे लागतात.

Correction

Class मध्ये payment details च्या मदतीत, काही दिवसांनी AutoPay बंद करा असा सल्ला आला. तसं करू नका: bill न भरल्यास account suspend होतं. Budget alert वापरा, आणि जे वापरत नाही ते stop किंवा terminate करा. Class मधला "₹5 per GB" फक्त कल्पनेसाठी गोल आकडा होता; खरी gp3 किंमत वर दिली आहे.

7. Terminate च्या आत

का. Stop म्हणजे pause. Terminate म्हणजे delete. नक्की काय जातं हे माहित असलंच पाहिजे.

Terminate केल्यावर काय होतं.

  1. State आधी Shutting-down, मग Terminated.
  2. Shutting-down सुरू होताच instance चं billing थांबतं.
  3. Root EBS volume default ने delete होतो (त्याचं DeleteOnTermination setting चालू असतं). नंतर जोडलेले जास्तीचे EBS volumes default ने राहतात.
  4. Elastic IP वेगळा होतो (आणि release करेपर्यंत पैसे लागत राहतात).
  5. Terminated instance परत start करता येत नाही. थोडा वेळ console मध्ये दिसतो, मग गायब होतो.

उदाहरण: terminate नंतर काय उरतं?

  1. 8 GB root volume आणि नंतर जोडलेला 10 GB data volume असलेला server.
  2. तुम्ही terminate केला.
  3. 8 GB root volume delete झाला.
  4. 10 GB data volume "available" (कुठेही जोडलेला नाही) होतो आणि त्याचे पैसे चालूच: 10 × $0.08 = $0.80 महिन्याला.
  5. गरज नसेल तर EC2 → Volumes मधून delete करा.

Correction

एका student ने विचारलं, server shutting down होताना backup आपोआप घेतला जातो का? नाही. तुमच्यासाठी काहीही backup होत नाही, आणि root volume default ने delete होतो. आधी snapshot घ्या (section 9).

8. Instance state diagram

का. हा एक diagram billing, IP बदल आणि data ची सुरक्षितता एकाच चित्रात समजावतो, आणि interviewers ना तो विचारायला खूप आवडतं.

Classroom line

What are we looking at? The EC2 states. They can ask this in interviews.

काय. सहा states:

State अर्थ Instance चे पैसे?
pending AWS भाग जोडतंय (launch किंवा start) नाही
running वापरायला तयार हो
stopping stop साठी बंद होतोय नाही
stopped बंद; परत start करता येतो नाही (EBS चे पैसे लागतात)
shutting-down terminate साठी बंद होतोय नाही
terminated delete झाला; start करता येत नाही नाही

बाण कसे जातात:

  1. Launch → pending → running.
  2. running → Stop → stopping → stopped.
  3. stopped → Start → pending → running.
  4. running (किंवा stopped) → Terminate → shutting-down → terminated.
Handwritten state diagram: Pending arrow to Running; from Running a Stop box to Stopping to Stopped, and a Terminate box to Shutting down to Terminated; a Start box from Stopped loops back up to Pending.

Class board वरून: Instance states: Pending, Running; Stop केलं की Stopping आणि Stopped; Start केलं की परत Pending; Terminate केलं की Shutting down आणि Terminated.

EC2 instance states (interview चा लाडका प्रश्न) pendingपैसे नाहीत runningपैसे लागतात stoppingपैसे नाहीत stoppedपैसे नाहीत (EBS चे लागतात) shutting-downपैसे नाहीत terminatedपैसे नाहीत तयारStopStartTerminate Stopped मधूनही terminate करता येतं Instance चं billing फक्त running मध्ये (per second, प्रत्येक start ला 1 minute minimum). EBS आणि public IPv4 चे charges वेगळे.

Figure 6. Animation: highlight pending, running, stopping, stopped, shutting-down आणि terminated मधून फिरतो. Instance चे पैसे फक्त running मध्ये; EBS volumes आणि public IPv4 addresses चे charges वेगळे.

उदाहरण: interview चे तीन प्रश्न.

  1. "Server stop केला. कुठले charges थांबतात आणि कुठले चालू राहतात?" Instance चा charge थांबतो; EBS storage आणि Elastic IP असेल तर त्याचे चालू राहतात.
  2. "Start केलेला server Pending मध्ये का जातो?" कारण stop करताना compute सोडलं होतं, म्हणून AWS compute, EBS आणि ENI परत जोडतं, बहुतेक नवीन host वर.
  3. "Terminated instance start करता येतो का?" नाही. नवीन launch करा, AMI किंवा snapshot ठेवला असेल तर त्यातून.

9. Stop किंवा terminate करण्याआधी backup

का. Stop मध्ये disk राहते, पण terminate मध्ये root volume default ने delete होतो. आणि चुका होतातच. Button दाबण्याच्या आधी backup असलाच पाहिजे.

काय. तीन चांगले मार्ग:

  1. हाताने, आधी: volume चा EBS snapshot घ्या, किंवा instance ची AMI बनवा (AMI मध्ये त्याच्या volumes चे snapshots असतात).
  2. Schedule वर: AWS Backup plan, किंवा रोज volumes चे snapshots घेणारी Amazon Data Lifecycle Manager policy.
  3. Event वर: Amazon EventBridge rule, जो "EC2 Instance State-change Notification" event (उदा. state stopping) पकडतो आणि snapshot बनवणारं Lambda function चालवतो.
Backups: आधी घ्या, किंवा AWS ला schedule करू द्या 1. हाताने, आधी EBS snapshot volume चा, किंवा AMI बनवा 2. Schedule वर AWS Backup plan, किंवा Data Lifecycle Manager policy 3. Event वर EventBridge rule: state = stopping → Lambda snapshot बनवतं Stopping मध्ये OS च्या आतली script नाहीOS ला फक्त थोडा shutdown मिळतो; मोठ्या backup साठी थांबवायचं setting नाही. Terminate केलं की default ने root EBS volume delete होतो. आधी backup घ्या.

Figure 7. Stop किंवा terminate करण्याआधी हाताने backup, AWS Backup किंवा Data Lifecycle Manager ने schedule वर, किंवा EventBridge rule ने. Stopping मध्ये OS च्या आतल्या script ने नाही.

उदाहरण: terminate आधी snapshot.

  1. EC2 → Instances → server select करा → Storage tab → volume ID वर click करा.
  2. Actions → Create snapshot → description लिहा, उदा. before-terminate → Create snapshot.
  3. Snapshot चा status Completed होईपर्यंत थांबा.
  4. आता server terminate करा.
  5. नंतर त्या snapshot मधून नवीन volume किंवा AMI बनवता येते.
  6. Snapshot ठेवाल तोपर्यंत त्याचे per GB-month पैसे लागतात.

Correction

Class मध्ये backup Stopping step वर काढला, server च्या आत Python किंवा shell script ने. हे भरवशाचं नाही: OS ला फक्त थोडा, graceful shutdown मिळतो, आणि काही minutes मध्ये पूर्ण झालं नाही तर AWS जबरदस्ती बंद करतं. मोठ्या backup साठी OS ला थांबवून ठेवायचं कुठलंही setting नाही. आधी snapshots किंवा AMI घ्या, किंवा AWS Backup, Data Lifecycle Manager किंवा EventBridge ने automate करा.

10. Console मध्ये परत launch

का. Class मध्ये SSH practice साठी नवीन server launch केला. दोन छोट्या सवयींमुळे पुढचे sections सोपे होतात.

कसं (त्याच 7 steps, आजच्या choices सोबत).

  1. Name: firstlast.
  2. AMI: Amazon Linux 2023, Free tier eligible लिहिलेली.
  3. Instance type: तुमच्या account साठी Free tier eligible लिहिलेला (section 1).
  4. Key pair: Create new key pair → नाव firstlast → RSA → .pem → Create key pair. firstlast.pem file download होते, बहुतेक Downloads मध्ये.
  5. Network settings: Create security group, Allow SSH traffic from (port 22).
  6. Storage: 1 × 8 GiB gp3.
  7. Launch instance → View all instances.

Classroom line

When you name the key pair file, try to use a single word.

एकच शब्द का? ssh command मध्ये space आला की एक argument संपतो. my key pair.pem ला quotes लागतात; firstlast.pem ला नाही (section 17).

11. Status checks: 2/2 की 3/3?

का. Launch नंतर लगेच Status check column मध्ये Initializing दिसतं. SSH करायच्या आधी checks pass होईपर्यंत थांबा.

काय. तीन checks आपोआप, दर minute ला चालतात:

  1. System status check: AWS ची बाजू. Physical host, त्याची power आणि network. Fail झाला तर AWS fix करतं, किंवा तुम्ही instance stop आणि start करून त्याला चांगल्या host वर हलवा.
  2. Instance status check: तुमची बाजू. तुमची OS boot होते का, network नीट configure आहे का, memory संपली नाही ना. Fail झाला तर तुम्ही fix करायचा (reboot, किंवा configuration दुरुस्त).
  3. Attached EBS status check: तुमचे EBS volumes पोचण्याजोगे आहेत आणि reads आणि writes पूर्ण करू शकतात. हा फक्त Nitro-based instances वर मिळतो.

म्हणून t3.micro (Nitro) वर 3/3 checks passed दिसतं. जुन्या Xen-based type वर, जसं t2.micro, 2/2 दिसतं.

Status checks: 3/3 checks passed म्हणजे काय System status checkAWS ची बाजू: host hardware,power, networkAWS fix करतं; किंवा stop + start Instance status checkतुमची बाजू: OS boot होते,network config, memoryतुम्ही fix करायचं; reboot किंवा config Attached EBS status checkतुमचे EBS volumesपोचण्याजोगे, I/O होतंफक्त Nitro instances 3/3 checks passed (t3.micro हा Nitro instance आहे) t2.micro सारखे जुने Xen types 2/2 दाखवतात. Checks दर minute ला चालतात. Launch नंतर लगेच Initializing दिसतं.

Figure 8. System, instance आणि attached EBS status checks. Nitro instances वर, जसं t3.micro, तिन्ही pass झाले की 3/3; जुन्या Xen types वर, जसं t2.micro, 2/2.

उदाहरण: column वाचणं.

  1. 10:00 Launch. Status check: Initializing.
  2. 10:02 Status check: 3/3 checks passed. आता SSH करा.
  3. समजा एक दिवस 2/3 दिसलं आणि system check fail आहे: AWS च्या hardware मध्ये problem. Instance stop आणि start करा; तो नवीन host वर जातो.
  4. समजा instance check fail आहे: आत बघा. Reboot करा, किंवा शेवटचा बदल काय केला ते तपासा.

Correction

Class मध्ये तीन checks "hard disk attached, data center power आणि network, आणि IP reachable" असे सांगितले. बरोबर तीन checks आहेत: system status check, instance status check आणि attached EBS status check. (AWS तुम्ही स्वतः set up करायचे optional application status checks पण देतं.)

12. Instance summary page

का. SSH साठी लागणारं सगळं या page वर आहे.

कसं. EC2 → Instances → Instance ID वर click. महत्त्वाचे fields:

  1. Instance ID: i- आणि पुढे अक्षरं आणि आकडे. या server चं AWS मधलं नाव. Public screenshots मध्ये टाकू नका.
  2. Public IPv4 address: ssh command मध्ये हाच वापरायचा. शेजारी copy icon आहे.
  3. Private IPv4 address: उदा. 172.31.5.10. Default VPC 172.31.0.0/16 वापरतं.
  4. Availability Zone: उदा. ap-south-1b. आपण निवडला नाही; AWS ने आपल्यासाठी निवडला. VPC आणि subnets शिकू तेव्हा आपण स्वतः निवडू.
  5. Elastic IP addresses: आत्ता रिकामं. तो नंतरचा static IP.
  6. Instance state आणि Status checks.

EC2 चा डावीकडचा menu (Instances, Images, Elastic Block Store, Network & Security, Load Balancing, Auto Scaling) हा या course चा मोठा भाग आहे. पुढच्या महिन्यांमध्ये तो सगळा करू.

13. PowerShell बरोबर folder मध्ये उघडणं

का. Key file तुमच्या Downloads folder मध्ये आहे. PowerShell दुसरीकडेच उघडलं, तर ssh command ला ती सापडत नाही.

कसं (Windows).

  1. Start button दाबा आणि PowerShell type करा.
  2. Windows PowerShell उघडा (नेहमीचं, "Run as administrator" नाही).
  3. Prompt बघा. समजा तुमचं Windows user name ravi आहे. तुम्हाला PS C:\Users\ravi> दिसलं पाहिजे. तुमचा Downloads folder त्याच्याच आत आहे: C:\Users\ravi\Downloads.
  4. PS C:\Windows\System32> दिसलं, तर ती window Administrator म्हणून उघडली आहे. + button ने नवीन नेहमीचा tab उघडा, किंवा बंद करून PowerShell नेहमीसारखं उघडा.

Classroom line

If it shows System32, it means it was opened for the admin user.

PowerShell कुठे उघडतं त्यावरून कळतं तुम्ही कोण नेहमीचं PowerShell (हे वापरा)PS C:\Users\ravi>तुमचा स्वतःचा folder: Downloads इथेच Run as administratorPS C:\Windows\System32>admin window: त्याऐवजी नेहमीचा tab (+) उघडा समजा तुमचं Windows user name ravi आहे. Start menu → PowerShell type करा → Windows PowerShell.

Figure 9. नेहमीचं PowerShell तुमच्या स्वतःच्या folder मध्ये, C:\Users\ravi मध्ये, उघडतं, जिथे Downloads आहे. Administrator PowerShell C:\Windows\System32 मध्ये उघडतं.

Classroom line

While I'm explaining, watch me... then do it at home.

14. ssh command तुकड्या तुकड्याने बनवणं

का. प्रत्येक भाग समजला, की SSH चा कुठलाही error तुम्ही स्वतः fix करू शकता.

काय. चार प्रश्न विचारा, आणि प्रत्येकासाठी एक भाग लिहा:

  1. कुठला program? ssh (Secure Shell).
  2. मी कोण हे कसं सिद्ध करू? Password ने नाही; key file ने. -i म्हणजे identity file: private key.
  3. Key file कुठे आहे? तिचा path, उदा. Downloads\firstlast.pem.
  4. कोण login करतो, आणि कुठल्या server वर? User name, @, आणि server चा public IP: ec2-user@3.3.3.3.

सगळं एकत्र:

ssh -i Downloads\firstlast.pem ec2-user@3.3.3.3

3.3.3.3 फक्त जागा भरायला आहे. Summary page वरचा तुमचा स्वतःचा public IPv4 वापरा.

Default user name AMI वर अवलंबून असतं:

AMI User name
Amazon Linux ec2-user
Ubuntu ubuntu
Debian admin
RHEL ec2-user
Rocky Linux rocky

Path हाताने नाही, Tab ने type करा.

  1. ssh -i D type करून Tab दाबा. PowerShell Desktop, Documents, Downloads असं फिरवतं.
  2. त्यापेक्षा: Dow type करून Tab दाबा. .\Downloads\ पूर्ण होतं.
  3. f type करून Tab दाबा. firstlast.pem पूर्ण होतं (f ने सुरू होणाऱ्या अनेक files असतील तर परत Tab दाबून फिरवा).
  4. एक space, मग ec2-user@, मग IP paste करा.

Classroom line

Never type the path by hand.

Spaces महत्त्वाचे.

  1. ssh नंतर एक space.
  2. -i नंतर एक space.
  3. Key path नंतर एक space.
  4. ec2-user@3.3.3.3 च्या आत एकही space नाही. तो एकच शब्द आहे.

Classroom line

Don't forget the spaces.

ssh command तुकड्या तुकड्याने बनवा PS C:\Users\ravi> ssh program -i identity file (तुमची key) Downloads\firstlast.pem .pem चा path (Dow + Tab) ec2-user user name @ 3.3.3.3 public IPv4 Spaces फक्त भागांच्या मध्ये. ec2-user@3.3.3.3 हा एक शब्द. 3.3.3.3 फक्त जागा भरायला: तुमचा स्वतःचा public IPv4 वापरा.फक्त पहिल्यांदा: server च्या fingerprint वर विश्वास ठेवायला yes type करा.

Figure 10. Animation: ssh, -i, key path, user name, @ आणि public IP एकेक करून येतात, प्रत्येक आपल्या कामासकट. 3.3.3.3 फक्त जागा भरायला आहे.

Correction

Class मध्ये -i ला "inventory file" म्हटलं. ती identity file आहे: तुम्ही कोण ते सिद्ध करणारी private key. "Inventory" हा Ansible नावाच्या वेगळ्या tool मधला शब्द आहे.

15. Login, पहिले commands, आणि logout

कसं.

  1. Console मध्ये instance summary उघडा आणि Public IPv4 address शेजारच्या copy icon वर click करा.
  2. PowerShell मध्ये ssh -i Dow type करा, Tab दाबा, f type करा, Tab दाबा.
  3. एक space आणि ec2-user@ type करा, मग IP paste करा (PowerShell मध्ये right-click केलं की paste होतं).
  4. Enter दाबा.
  5. फक्त पहिल्यांदा SSH विचारतं: Are you sure you want to continue connecting (yes/no/[fingerprint])? yes type करून Enter दाबा. SSH server चा fingerprint save करतं, म्हणजे त्या address वर कधी दुसरीच machine उत्तर देऊ लागली तर ते तुम्हाला warning देऊ शकतं.
  6. Amazon Linux 2023 चा banner दिसतो, आणि [ec2-user@ip-172-31-5-10 ~]$ सारखा prompt.
  7. Prompt बघा: ip-172-31-5-10 म्हणजे dashes सकट server चा private IP. Console शी जुळवून बघा. तुम्ही server च्या आत आहात.

पहिले commands:

  1. ls तुमच्या home folder मधल्या files दाखवतो. नवीन server वर काहीच दिसत नाही.
  2. mkdir ravi ने ravi नावाचा folder बनतो.
  3. परत ls केलं की ravi दिसतो.
  4. exit ने logout. तुम्ही परत PS C:\Users\ravi> वर.

Classroom line

Try it, SSH into the server.

उदाहरण: कुठला IP कुठला?

  1. Console मध्ये public 3.3.3.3 आणि private 172.31.5.10 (उदाहरणं).
  2. तुम्ही 3.3.3.3 ला connect करता, कारण तुमचा laptop internet वर आहे, VPC च्या आत नाही.
  3. Prompt ip-172-31-5-10 दाखवतो, कारण server स्वतःला त्याच्या private IP वरून नाव देतो.
  4. दोन वेगळे IPs, एकच server.

16. Mac आणि Linux: chmod 400

का. Mac आणि Linux वर, computer चे बाकी users वाचू शकत असतील अशी private key SSH नाकारतं.

कसं.

  1. Terminal उघडा.
  2. cd Downloads
  3. chmod 400 firstlast.pem (400 = फक्त तुम्ही, owner, वाचू शकता; कोणीच लिहू शकत नाही).
  4. ssh -i firstlast.pem ec2-user@3.3.3.3
  5. पहिल्यांदा yes type करा.

Step 4 बघा: cd Downloads नंतर तुम्ही आधीच Downloads मध्ये आहात, म्हणून path फक्त firstlast.pem. cd केलं नसेल, तर Downloads/firstlast.pem वापरा (Mac आणि Linux / वापरतात, Windows \; PowerShell दोन्ही चालवतं).

Classroom line

400 permission means only he (the owner) can read it; others cannot read it.

17. SSH चे नेहमीचे errors आणि त्यांचे fixes

का. Class मध्ये जवळपास सगळ्यांना यातला एक तरी error आला. Error message वाचा; कुठला भाग चुकला ते बहुतेक तोच सांगतो.

काय दिसतं नेहमीचं कारण Fix
Connection timed out security group मध्ये port 22 उघडा नाही, चुकीचा IP, किंवा server stopped inbound rule SSH, port 22, My IP वरून add करा; सध्याचा public IP copy करा; state Running आहे का बघा
Identity file ... not accessible: No such file or directory key file चा चुकीचा path किंवा spelling Tab completion वापरा; किंवा आधी cd Downloads
Permission denied (publickey) चुकीची key file, किंवा चुकीचं user name launch ला निवडलेली key वापरा; Amazon Linux साठी ec2-user, Ubuntu साठी ubuntu
ssh : The term 'ssh' is not recognized OpenSSH Client install नाही Settings → Optional features → OpenSSH Client add करा, मग नवीन PowerShell उघडा
WARNING: UNPROTECTED PRIVATE KEY FILE! / bad permissions key file बाकी users वाचू शकतात Windows: file Properties → Security → Advanced → Disable inheritance → फक्त तुमचा user ठेवा. Mac/Linux: chmod 400
path space वर तुटतो key file च्या नावात spaces path quotes मध्ये लिहा, किंवा Tab वापरा

Classroom line

You will have to add port number 22 in the security group.

उदाहरण 1: नावात spaces असलेली file.

  1. समजा key my key pair.pem नावाने download झाली.
  2. ssh -i Downloads\my key pair.pem ec2-user@3.3.3.3 fail होतो: ssh ला Downloads\my ही key वाटते आणि key काहीतरी वेगळंच.
  3. Path quotes मध्ये लिहा: ssh -i 'Downloads\my key pair.pem' ec2-user@3.3.3.3.
  4. सोपं: Dow, Tab, my, Tab. PowerShell quotes स्वतः लावतं.

Classroom line

If your key pair file name has a space, write the path inside single quotes.

उदाहरण 2: key D: drive वर आहे.

  1. समजा तुम्ही key D:\aws keys\firstlast.pem इथे हलवली.
  2. C:\Users\ravi पासूनचा relative path तिला शोधू शकणार नाही.
  3. पूर्ण path द्या: ssh -i 'D:\aws keys\firstlast.pem' ec2-user@3.3.3.3 (space आहे म्हणून quotes).
  4. किंवा आधी cd D:\, मग Tab वापरा.

Classroom line

Suppose your key pair file is in the D drive... you'll have to give that drive's path.

उदाहरण 3: Windows चा key-permission error, command ने.

  1. PowerShell मध्ये, key असलेल्या folder मध्ये: icacls .\firstlast.pem /inheritance:r (inherited permissions काढा).
  2. icacls .\firstlast.pem /grant:r "$($env:USERNAME):(R)" (फक्त तुम्हाला read access).
  3. ssh command परत चालवा.

अजून दोन checks.

  1. VPN लागत नाही. SSH थेट internet वरून port 22 ला जातं.
  2. IP तुमचाच आहे ना? Class मध्ये काही students नी स्वतःच्या server चा IP सोडून board वरचा trainer चा IP copy केला होता.

Correction

Class मध्ये PowerShell मधला लाल error आणि key-permission error "जुन्या PowerShell" वर ढकलले. लाल text म्हणजे PowerShell ला command समजला नाही; ssh is not recognized असं आलं तर OpenSSH Client add करा (Windows 10 version 1809 आणि नंतर, आणि Windows 11 मध्ये तो optional feature म्हणून असतो). Permission error key file च्या Windows (NTFS) permissions मुळे येतो; वर दिल्याप्रमाणे fix करा. आणि D: drive च्या path साठी D://us लिहिलं होतं; बरोबर रूप D:\folder\key.pem. "Direct path वाचता येत नाही" हे पण खरं नाही: बरोबर folder मध्ये असाल तर relative path चालतो; नाहीतर पूर्ण path द्या.

18. आत जायचे दुसरे रस्ते: Connect page आणि EC2 Instance Connect

Connect page.

  1. Instance select करा → Connect → SSH client tab.
  2. AWS steps दाखवतं आणि तुमच्या key चं नाव आणि instance चं public DNS name घातलेला example command.
  3. chmod 400 ची step Mac आणि Linux साठी आहे. Windows वर त्याऐवजी file चा Security tab वापरा.
  4. Mac users तो example command Terminal मध्ये copy करू शकतात (key असलेल्या folder मधून).

EC2 Instance Connect (browser मध्ये).

  1. Instance select करा → Connect → EC2 Instance Connect tab.
  2. User name: ec2-user.
  3. Connect. नवीन browser tab मध्ये terminal उघडतं. Key file ची गरज नाही.
  4. हे तेव्हा चालतं जेव्हा EC2 Instance Connect install असतं (Amazon Linux 2023 आणि Ubuntu 20.04 आणि नंतर मध्ये आधीच असतं), instance ला public IP आहे, आणि security group EC2 Instance Connect service च्या IP range वरून SSH (port 22) ला परवानगी देतो. Launch wizard चा "Anywhere 0.0.0.0/0" rule ती परवानगी देतो; फक्त "My IP" rule नाही देत.

Classroom line

Suppose SSH just won't work whatever you do; there is one more way.

उदाहरण: कधी कुठला वापरायचा.

  1. तुमच्या laptop वर key आणि OpenSSH आहे: ssh command वापरा. Job मध्ये हेच वापराल.
  2. तुम्ही दुसऱ्याच्या computer वर आहात आणि key सोबत नाही: browser मधून EC2 Instance Connect.
  3. तुमचा security group फक्त My IP वरून SSH ला परवानगी देतो: EC2 Instance Connect ला त्याच्या prefix list com.amazonaws.<region>.ec2-instance-connect साठी जास्तीचा rule लागतो.

19. Linux म्हणजे काय: files आणि folders

का. तुम्ही आता Linux server च्या आत आहात, समोर फक्त काळी screen. तिथे करायचं काय? Windows वर करता तेच, फक्त commands ने.

काय. Operating system तुम्हाला hardware वापरू देते. Windows वर रोज काय करता ते आठवा: create, write, modify, delete, rename, move, copy, paste, download, apps install करणं. यातलं जवळपास सगळं files आणि folders सोबतचं काम आहे.

Classroom line

An OS means files and folders. There's nothing else in it.

कसं. Windows मधलं काम → Linux command:

Windows वर Linux वर
New folder mkdir
New file touch (रिकामी file), किंवा nano, vi किंवा cat ने लिहा
Copy + paste (Ctrl+C, Ctrl+V) cp
Cut + paste (Ctrl+X, Ctrl+V), किंवा rename mv
Delete rm

Classroom line

The work we do on Windows is the same work we have to do on Linux.

उदाहरण: एकच काम, दोन पद्धतींनी.

  1. Windows: right-click → New folder → reports type करा → Enter.
  2. Linux: mkdir reports
  3. Windows: jan.txt ला reports मध्ये copy करा.
  4. Linux: cp jan.txt reports/
  5. Windows: jan.txt चं नाव january.txt करा.
  6. Linux: mv jan.txt january.txt
  7. सावधान: Linux terminal मध्ये Ctrl+C चालू command थांबवतो. तो copy करत नाही.

20. Distributions, आणि Linux खरं कसं जन्मलं

का. Windows चे versions असतात (10, 11). Linux ची खूप नावं: Amazon Linux, Ubuntu, Debian, Fedora, Kali Linux, SUSE, Red Hat. एवढी का?

काय. खरा इतिहास, क्रमाने:

  1. 1969: Unix. Ken Thompson आणि Dennis Ritchie यांनी AT&T च्या Bell Labs मध्ये Unix बनवलं. ती AT&T ची licensed operating system होती, सगळ्यांसाठी फुकट नाही.
  2. 1983: GNU. Richard Stallman यांनी फुकट Unix-सारखी system बनवायला GNU project सुरू केला. त्यातून फुकट tools (shell, compiler, libraries) आणि GNU GPL licence आलं.
  3. 1991: Linux kernel. Helsinki मधला student Linus Torvalds याने शून्यापासून नवीन Unix-सारखा kernel लिहिला. त्यात Unix चा code नव्हता. त्याने 25 August 1991 ला तो जाहीर केला.
  4. नाव. Torvalds ला त्याचं नाव "Freax" ठेवायचं होतं. जिथे upload केलं त्या FTP server चं काम बघणाऱ्या Ari Lemmke ने folder चं नाव "linux" ठेवलं, आणि तेच नाव पडलं.
  5. 1992: GPL. Torvalds ने kernel GNU GPL खाली आणला. कोणीही तो वापरू, शिकू, बदलू आणि share करू शकतो, फक्त बदल त्याच licence खाली share करायचे.
  6. Distributions. Open source असल्यामुळे वेगवेगळ्या teams नी kernel सोबत GNU tools, installer आणि हजारो programs एकत्र बांधले. प्रत्येक अशा package ला distribution (distro) म्हणतात.
Linux distributions कसे जन्मले Unix, 1969Bell Labs (AT&T); licensed GNU, 1983फुकट tools: shell, compiler Linux kernel, 1991Linus Torvalds; 1992 पासून GPL फक्त कल्पना distribution = kernel + tools + installer + packages Debian Ubuntu (Canonical) Kali Linux Red Hat RHEL (subscription) Fedora CentOS Linux (बंद) Rocky / Alma / Stream SUSE SUSE Linux Enterprise openSUSE Amazon Amazon Linux 2023 EC2 साठी tune केलेला

Figure 11. Unix (1969) ने कल्पना दिली, GNU (1983) ने फुकट tools दिले, आणि Linus Torvalds ने Linux kernel (1991) लिहिला. Distribution म्हणजे kernel, tools, installer आणि packages.

कुठला distro कोण बनवतं:

  1. Ubuntu: Canonical, Mark Shuttleworth यांनी सुरू केलेली company. "Ubuntu" हा African शब्द, त्याचा अर्थ बहुतेक "इतरांप्रती माणुसकी" असा सांगतात. Debian वर आधारित.
  2. Debian: एक मोठा community project.
  3. Red Hat Enterprise Linux (RHEL): Red Hat. Code open source आहे; support आणि updates साठी companies subscription भरतात.
  4. Fedora: Red Hat sponsor करत असलेला community distro.
  5. CentOS Linux: RHEL चा फुकट rebuild होता. तो बंद झाला. पर्याय: Rocky Linux, AlmaLinux, आणि CentOS Stream.
  6. SUSE: SUSE Linux Enterprise आणि community चं openSUSE.
  7. Kali Linux: security testing साठी Debian वर आधारित distro.
  8. Amazon Linux: AWS चा स्वतःचा distro, EC2 साठी tune केलेला आणि AWS tools सोबत येणारा. आपण Amazon Linux 2023 वापरतो.

Commands तेच, package ची नावं वेगळी. बहुतेक commands (ls, mkdir, cp) सगळीकडे सारखे. Package managers आणि package ची नावं बदलू शकतात. उदाहरण, Apache web server:

  1. Amazon Linux, RHEL, Rocky: sudo yum install httpd -y, मग sudo service httpd start.
  2. Ubuntu, Debian: sudo apt install apache2 -y, मग sudo service apache2 start.
  3. Software एकच, package ची दोन नावं: httpd आणि apache2.

Correction

Class च्या board वर Linux ला Unix च्या आतला kernel म्हणून काढलं, Unix ला पहिली OS म्हटलं, आणि एका सहकाऱ्याने "Linus tornado" वरून Linux नाव ठेवलं असं सांगितलं. खरी गोष्ट: Unix 1969 मध्ये Bell Labs मधून आलं (ती पहिली OS नव्हती); Linus Torvalds ने 1991 मध्ये शून्यापासून वेगळा Unix-सारखा kernel लिहिला; Ari Lemmke ने FTP folder चं नाव "linux" ठेवलं. CentOS चालू आहे असं सांगितलं; CentOS Linux बंद झालं आहे.

21. Kernel

का. प्रत्येक distro चं हृदय एकच: Linux kernel.

काय. Kernel हा operating system चा मुख्य program. तो programs आणि hardware यांच्यामध्ये बसतो:

  1. Memory: programs ना RAM देतो आणि परत घेतो.
  2. Processes: CPU वर कुठला program, कधी चालणार ते ठरवतो.
  3. Files: programs साठी disk वर वाचतो आणि लिहितो.
  4. Drivers: disks आणि network cards सारख्या devices शी बोलतो.
  5. Network: packets पाठवतो आणि घेतो.
Kernel काय करतो Apps: nginx, httpd, python, तुमची website Shell आणि commands: bash, ls, mkdir, cp Kernel: memory, processes, files, drivers, network Hardware: CPU, RAM, disk, network card requestsresults mkdir ravi → shell kernel ला सांगतो → kernel disk वर लिहितो.

Figure 12. सगळ्यात वर apps, मग shell आणि commands, मग kernel, मग hardware. Requests खाली kernel पर्यंत जातात; results परत वर येतात.

उदाहरण: mkdir ravi type केल्यावर काय होतं.

  1. तुम्ही shell (bash) मध्ये mkdir ravi type करून Enter दाबता.
  2. Shell mkdir program चालवतो.
  3. mkdir kernel ला सांगतो: "इथे ravi नावाची directory बनव".
  4. Kernel नवीन directory entry disk वर (तुमच्या EBS volume वर) लिहितो.
  5. ls kernel कडे list मागतो, आणि ravi दिसतो.

22. Computers binary का वापरतात

का. शेवटी kernel आणि CPU electrical signals वर काम करतात. Circuit एक तर on असतं, नाहीतर off.

काय.

  1. 1 = voltage आहे (on). 0 = कमी किंवा voltage नाही (off).
  2. एक 0 किंवा 1 म्हणजे एक bit. 8 bits चा एक byte.
  3. Binary मधली प्रत्येक जागा उजवीकडच्या जागेच्या दुप्पट किमतीची: 1, 2, 4, 8, 16, 32, 64, 128.
Computers binary का वापरतात: प्रत्येक bit on किंवा off 0128 064 032 016 08 14 02 11 4 आणि 1 वर दिवे: 4 + 1 = 5. म्हणून decimal 5 = 101, किंवा 8 bits (एक byte) मध्ये 00000101.1 = voltage आहे (on), 0 = कमी किंवा नाही (off). Bulbs: on = 1, off = 0.

Figure 13. Animation: 128 ते 1 किमतीचे आठ bulbs. 4 आणि 1 चे bulbs लागतात: 4 + 1 = 5, म्हणून decimal 5 म्हणजे एका byte मध्ये 00000101.

उदाहरण 1: 5 binary मध्ये.

  1. कुठल्या जागांची बेरीज 5 होते? 4 + 1.
  2. 4 आणि 1 on करा; 2 off ठेवा: 101.
  3. 8 bits मध्ये (एक byte): 00000101.

उदाहरण 2: 10 binary मध्ये.

  1. 10 = 8 + 2.
  2. On: 8 आणि 2. Off: 4 आणि 1. → 1010.
  3. एका byte मध्ये: 00001010.

उदाहरण 3: एका byte मधला सगळ्यात मोठा आकडा.

  1. आठही bulbs on: 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1.
  2. = 255. म्हणूनच IPv4 address चा प्रत्येक भाग 0 ते 255 असतो (IP चं chapter).

Correction

Class मध्ये logic gates चे details आले (NAND चं चिन्ह म्हणून काढलेला त्रिकोण, "8-bit = 8 NAND gates", "NAND + OR = NOR", आणि 0 ची रेषा 2.5 V). ते details बरोबर नव्हते, म्हणून काढले आहेत. ठेवण्यासारखी एक बरोबर गोष्ट: NAND हा "universal" gate आहे, म्हणजे कुठलंही logic circuit फक्त NAND gates वापरून बनवता येतं.

23. Homework

Classroom line

When we stop the server, after stopping we don't have to pay the server's charges.

घरी करून बघा

Task 1: launch आणि login

  1. नवीन single-word key pair (उदा. practice1), port 22 वर SSH उघडा, 8 GiB gp3 असा Amazon Linux 2023 server launch करा.
  2. Status checks pass होईपर्यंत थांबा. नोंद करा: 2/2 की 3/3? का?
  3. PowerShell मधून ssh -i ने login करा (किंवा chmod 400 नंतर Terminal मधून).
  4. Prompt मध्ये console मधला private IP दिसतो का ते तपासा.
  5. ls, mkdir test1, ls, मग exit चालवा.

Task 2: stop, start, आणि IPs बघा

  1. Public आणि private IPv4 लिहून ठेवा.
  2. Server stop करा. States बघा: stopping → stopped.
  3. Start करा. बघा: pending → running.
  4. IPs जुळवून बघा. कुठला बदलला?
  5. नवीन public IP ने परत login करा. test1 अजून आहे का? (तो EBS volume वर आहे.)

Task 3: हिशोब करा

  1. तुमचं account नवीन आहे (credits). N. Virginia मध्ये 8 GB चे 2 stopped servers पूर्ण महिना ठेवले. EBS चा खर्च किती? (2 × 8 × $0.08 = $1.28.)
  2. एका running server कडे 10 दिवस एक public IPv4 आहे. खर्च? (10 × 24 × $0.005 = $1.20.)
  3. 12 एका byte मध्ये binary मध्ये लिहा. (8 + 4 → 00001100.)

Task 4: बिघडवा, मग दुरुस्त करा

  1. Security group मधून SSH rule काढा आणि connect करायचा प्रयत्न करा. कुठला error दिसतो?
  2. परत add करा आणि connect करा.
  3. Browser मधून EC2 Instance Connect करून बघा.
  4. Root volume चा snapshot घ्या, मग server terminate करा. Volume गेला आणि snapshot आहे ते तपासा. (गरज नसेल तर नंतर snapshot delete करा.)

Ravindra Bagale's Tip

Interview मध्ये state diagram काढा आणि प्रत्येक step ला कशाचे पैसे लागतात ते सांगा: "Instance चे पैसे फक्त running मध्ये; EBS आणि Elastic IPs चे पैसे कसेही लागतात; stop केलं की आपोआप दिलेला public IP जातो; terminate केलं की default ने root volume delete होतो." या एका उत्तरातून दिसतं की तुम्हाला EC2 आतून माहित आहे.

Recap

थोडक्यात

  1. प्रत्येक project ला वेगळा key pair वापरा; key leak झाली तर फक्त तो project धोक्यात.
  2. Pending: AWS EC2 compute (RAM + CPU), EBS volume (disk) आणि ENI (network card) जोडतं. पैसे लागत नाहीत.
  3. IPs ENI वर राहतात: private IPv4 (default VPC 172.31.x.x) आणि public IPv4.
  4. Stop: AWS compute परत घेतं; EBS आणि ENI राहतात; RAM जाते; आपोआप दिलेला public IP सुटतो.
  5. Start: परत Pending, बहुतेक नवीन host वर; private IP तोच, public IP बदलतो, Elastic IP राहतो.
  6. gp3: N. Virginia मध्ये $0.08 per GB-month, Mumbai मध्ये $0.0912, दिवसांच्या प्रमाणात. Legacy accounts: 12 महिने 30 GB फुकट; नवीन accounts credits मधून भरतात.
  7. Public IPv4: $0.005 per hour, वापरात असो की पडून (720 hours = $3.60).
  8. Terminate: shutting-down → terminated; root volume default ने delete; परत start करता येत नाही.
  9. States: pending, running, stopping, stopped, shutting-down, terminated. Instance चे पैसे फक्त running मध्ये.
  10. आधी backup: snapshot किंवा AMI, किंवा AWS Backup, Data Lifecycle Manager किंवा EventBridge ने automate.
  11. Status checks: system, instance आणि attached EBS. Nitro (t3) वर 3/3, जुन्या Xen types (t2) वर 2/2.
  12. PowerShell C:\Users\<तुम्ही> मध्ये उघडलं पाहिजे; System32 म्हणजे administrator.
  13. ssh -i <key path> ec2-user@<public IP>; -i = identity file; Ubuntu चा user ubuntu; पहिल्यांदा yes.
  14. Mac/Linux: chmod 400 key.pem. Windows key error: Security tab किंवा icacls.
  15. Errors: timeout (port 22, IP, state), no such file (path), permission denied (key किंवा user), not recognized (OpenSSH Client).
  16. EC2 Instance Connect browser मध्ये terminal उघडतं.
  17. Linux म्हणजे files आणि folders: mkdir, touch/nano/vi/cat, cp, mv, rm.
  18. Unix 1969 (Bell Labs) → GNU 1983 → Linux kernel 1991 (Linus Torvalds, GPL 1992) → distributions. CentOS Linux बंद: Rocky, Alma किंवा Stream वापरा.
  19. Kernel memory, processes, files, drivers आणि network सांभाळतो.
  20. Binary: 5 = 00000101; एक byte 255 पर्यंत जातो.

समजलं का? आज घरी server launch करा, SSH करा, stop-start करून IP बघा. पुढच्या class पासून Linux commands.


Ravindra Bagale, trainer: linkedin.com/in/ravindra-bagale. 100 servers ची company, ravi हे user name, 3.3.3.3, 5.5.5.5 आणि 172.31.5.10 हे addresses आणि "₹5 per GB" हा आकडा ही शिकण्यासाठीची उदाहरणं आहेत. AWS चे facts आणि किमती October 2026 च्या AWS च्याच pages आणि price list वरून घेतल्या आहेत आणि त्या वारंवार बदलतात, म्हणून वापरण्याआधी live AWS pages बघा.