Ravindra BagaleCourses & study guides English

AWS Elastic IP, AMI आणि EBS Snapshots सोप्या भाषेत

आत्तापर्यंत आपला server stop करून परत start केला की तो नवीन public IP घेऊन यायचा, आणि आपली site, DNS record आणि जुना IP वापरणारं कुठलंही app तुटायचं. या chapter मध्ये ते Elastic IP ने fix करू: तुमचाच राहणारा public IP. मग server अगदी कमी downtime मध्ये मोठा कसा करायचा, आणि AMI ने तो कसा सुरक्षित ठेवायचा ते शिकू: set-up झालेल्या server चा पूर्ण backup, जो EBS snapshots म्हणून store होतो आणि disaster नंतर पूर्ण website परत आणू शकतो.

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

  • बदलणारा public IP apps, bookmarks आणि DNS records कसे तोडतो
  • Elastic IP म्हणजे काय, आणि तो regional का
  • Elastic IP allocate, associate, disassociate आणि release करणं, आणि stop-start नंतरही तो टिकतो हे prove करणं
  • AWS public IPv4 addresses साठी charge कसा लावतो, आणि न वापरलेले release का करायचे
  • Scaling up विरुद्ध scaling out, आणि instance type बदलायला stop-start का लागतो
  • कमी downtime ची trick: AMI, मोठा instance, Elastic IP हलवा
  • AMI म्हणजे काय, ती का बनवायची, आणि ती EBS snapshot पेक्षा वेगळी कशी
  • sudo systemctl enable nginx विरुद्ध sudo service nginx start
  • Image create करणं, available होईपर्यंत थांबणं, server terminate करून My AMIs मधून site परत आणणं
  • Snapshots incremental का असतात, आणि AMIs आणि snapshots ची साफसफाई कशी करायची

1. का: बदलणारा public IP गोष्टी तोडतो

का. EC2 चा नेहमीचा public IP dynamic असतो: instance start झाला की AWS तो देतो आणि stop झाला की परत घेतो. Server अनेक कारणांनी stop होऊ शकतो: hardware fault, crash, किंवा team मधल्या कोणीतरी चुकीचा server stop केला.

Classroom line

Suppose a junior in your company was told to stop another server, and stopped this one by mistake.

Example 1, step by step:

  1. तुमची website OLD_IP public IP असलेल्या server वर चालते.
  2. Server stop होतो, मग परत start होतो.
  3. EC2 वर आता वेगळा public IP दिसतो, NEW_IP.
  4. अजून OLD_IP वापरणारं सगळं चालणं बंद होतं.

कोण तुटतं?

  1. IP hard-code केलेले apps. समजा आपण एक मोठं payments app आहोत, आणि आपले Android आणि iPhone apps http://OLD_IP/api ला call करतात. IP बदलला की install केलेलं प्रत्येक app fail होतं. Fix करायला नवीन app version लागतं, store ला ते review करावं लागतं, आणि बरेच users कधी update करतच नाहीत. IP hard-code करणं ही bad practice आहे; पण नाव वापरलं तरी त्यामागचा IP सारखा बदलत राहायला नको.
  2. तुमचा DNS A record. example.com जर OLD_IP कडे point करत असेल तर record edit करावा लागतो. त्यानंतरही resolvers record चा TTL संपेपर्यंत जुनं उत्तर ठेवतात (उदा. 600 seconds चा TTL म्हणजे 10 मिनिटं), म्हणून काही visitors थोडा वेळ बंद IP वरच पोचतात.
Dynamic public IP stop आणि start केल्यावर बदलतो 1. Running OLD_IP Site उघडते. 2. Stop, मग start AWS IP परत घेतो आणि नवीन देतो. 3. परत Running NEW_IP वेगळा public IP. Hard-coded IP असलेलं app http://OLD_IP/api Users update install करेपर्यंत fail. DNS A record example.com -> OLD_IP Edit करून TTL संपेपर्यंत चुकीचा.

Figure 1. Stop आणि start ने नवीन dynamic public IP मिळतो. जुना IP असलेले apps fail होतात, आणि DNS record edit करून TTL संपेपर्यंत चुकीचा राहतो.

Cloud चं वास्तव. Servers fail होतात आणि systems वर attacks होतात. "कधीच down होणार नाही" असं promise करणं हे आपलं काम नाही; risk आणि downtime कमी करणं हे आपलं काम. Fixed IP हे त्यासाठीचं पहिलं tool.

Classroom line

We can never build a system that can never be hacked.

Classroom line

What's our job? To stop those attacks as much as we can.

2. काय: Elastic IP म्हणजे static public IP

काय. Elastic IP (EIP) हे static public IPv4 address चं AWS मधलं नाव. Azure आणि Google Cloud त्याला सरळ static IP म्हणतात. तुम्ही Amazon च्या pool मधून एक IP तुमच्या account मध्ये घेता, आणि तुम्ही release करेपर्यंत तो तुमचाच राहतो. तो server ला जोडा, आणि त्या server चा public IP प्रत्येक stop-start नंतर तोच राहतो.

लक्षात ठेवायच्या तीन गोष्टी:

  1. तो तुमच्या account चा असतो, एका server चा नाही. काही seconds मध्ये तो एका server वरून दुसऱ्यावर हलवता येतो.
  2. तो regional असतो. us-east-1 मधला Elastic IP फक्त us-east-1 मधल्याच server ला जोडता येतो. तुमचा server ज्या region मध्ये आहे तिथेच allocate करा.
  3. तो dynamic IP ची जागा घेतो. Associate केल्यावर server चा जुना dynamic public IP AWS कडे परत जातो, आणि त्याच्या जागी Elastic IP येतो.
Elastic IP चं lifecycle 1. Allocate Amazon च्या pool मधून IP घ्या. 2. Associate त्याच region मधल्या server ला जोडा. Stop आणि start Server कडे तोच IP राहतो. 3. Disassociate Server ला नवीन dynamic IP मिळतो. 4. Release IP परत Amazon च्या pool मध्ये. Allocate पासून release पर्यंत दर तासाला charge, attached असो वाidle. न वापरलेले release करा.

Figure 2. Elastic IP चं lifecycle: allocate, associate, (stop आणि start नंतरही तोच), disassociate, release. Allocate पासून release पर्यंत AWS charge लावतो.

3. कसं: Elastic IP allocate आणि associate करा

Step 1. Nginx चालू असलेला आणि security group मध्ये HTTP (port 80) allow असलेला Amazon Linux server launch करा (किंवा निवडा). त्याचा आत्ताचा Public IPv4 address लिहून घ्या, उदा. OLD_IP, आणि http://OLD_IP/ उघडा.

Step 2. EC2 console, डावा menu: Network & Security > Elastic IPs. Allocate Elastic IP address वर click करा.

Step 3. Amazon's pool of IPv4 addresses तसंच ठेवा. Network border group म्हणजे तुमचा region, उदा. us-east-1. Allocate वर click करा.

EC2 console, Allocate Elastic IP address page: Elastic IP address settings, Public IPv4 address pool with Amazon's pool of IPv4 addresses selected and three other options greyed out, and Network border group set to us-east-1.

Console: Allocate Elastic IP address: Amazon चा pool of IPv4 addresses तसाच ठेवा; network border group म्हणजे तुमचा region.

Step 4. नवीन address list मध्ये दिसतो, उदा. ELASTIC_IP. तो select करा, मग Actions > Associate Elastic IP address.

Step 5. Resource type: Instance. तुमचा instance निवडा (विचारलं तर त्याचा private IP पण). Associate वर click करा.

Step 6. Instances उघडून server check करा: त्याचा Public IPv4 address आता ELASTIC_IP आहे. http://ELASTIC_IP/ उघडा: तीच site.

Step 7. तुमच्याकडे domain असेल तर त्याचा A record एकदाच ELASTIC_IP कडे point करा. Server restart झाला म्हणून तो परत edit करावा लागणार नाही.

4. Prove करा: stop आणि start नंतरही Elastic IP तसाच

Example 2, step by step:

  1. Server select करा, Instance state > Stop. Stopped होईपर्यंत थांबा. Elastic IP जोडलेलाच राहतो (dynamic IP असता तर आता गेला असता).
  2. Instance state > Start. Running होईपर्यंत थांबा.
  3. Public IPv4 address अजूनही ELASTIC_IP.
  4. http://ELASTIC_IP/ उघडा. Page उघडलं नाही तर SSH ने connect करून हे चालवा:

    sudo service nginx start
    
  5. Refresh करा: site परत आली, त्याच IP वर.

Step 4 मध्ये Nginx परत start का करावा लागला? कारण तो फक्त start केला होता, enable नाही, म्हणून stop-start नंतर तो आपोआप चालू झाला नाही. Section 11 मध्ये ते नीट fix करू.

Classroom line

Let's check it once by stopping the server.

5. काढून टाका: आधी disassociate, मग release

Elastic IP काढायला दोन steps, याच क्रमाने.

Step 1: Disassociate. Elastic IPs, address select करा, Actions > Disassociate Elastic IP address, confirm करा. Server ला AWS कडून नवीन dynamic public IP मिळतो.

Classroom line

See? A new IP came.

Step 2: Release. Address परत select करा, Actions > Release Elastic IP addresses, confirm करा. आता तो परत Amazon च्या pool मध्ये गेला आणि तुमच्या account मधून गेला. अजून associate असलेला address release करता येत नाही, म्हणून disassociate आधी.

Cost. AWS प्रत्येक public IPv4 address साठी छोटी hourly fee लावतो, मग तो running server वरचा dynamic IP असो किंवा Elastic IP, जोडलेला असो वा idle. Elastic IP चा charge तुम्ही तो allocate केल्यापासून release करेपर्यंत चालू असतो, वापरा किंवा नका वापरू. म्हणून:

  1. ज्या server ला खरंच fixed IP लागतो त्यासाठीच Elastic IP allocate करा.
  2. नको असलेले Elastic IPs release करा. Idle पडलेला IP पैसे खातो आणि काहीच करत नाही.
  3. आत्ताच्या rate साठी Amazon VPC pricing page वरचा public IPv4 section बघा.

Classroom line

Use it or not: once an Elastic IP is in your account, the charges are running.

6. का: कधी कधी server मोठा करावा लागतो (scaling up विरुद्ध scaling out)

का. समजा आपण एक video streaming app आहोत आणि मोठ्या release चा दिवस आहे, किंवा एखाद्या छोट्या दुकानाची post viral झाली. Traffic एकदम वाढतं, आणि एक छोटा server पुरत नाही. वाढायचे दोन मार्ग:

  1. Scaling up (vertical scaling): server मोठा करा: जास्त CPU, जास्त memory. उदा. t3.micro (2 vCPU, 1 GiB) ते t3.small (2 vCPU, 2 GiB) ते t3.medium (2 vCPU, 4 GiB).
  2. Scaling out (horizontal scaling): त्याच size चे अजून servers जोडा आणि traffic त्यांच्यात वाटून घ्या (पुढच्या chapters मध्ये, load balancer सोबत).

Classroom line

One is vertical scaling, and the other is horizontal scaling.

Scaling up विरुद्ध scaling out Scaling up (vertical) micro → small → medium एकच server, जास्त CPU आणि memory. Scaling out (horizontal) traffic ↓ small · small · small · small त्याच size चे जास्त servers.

Figure 3. Scaling up मध्ये एकच server मोठा होतो. Scaling out मध्ये त्याच size चे जास्त servers जोडले जातात.

7. कसं: instance type बदला (आणि त्यात downtime का)

चालू instance चा size बदलता येत नाही. Steps:

  1. Instance state > Stop, Stopped होईपर्यंत थांबा.
  2. Actions > Instance settings > Change instance type.
  3. मोठा type निवडा, उदा. t3.small, आणि Apply.
  4. Instance state > Start.

अडचण. Step 1 ते 4 मध्ये website काही मिनिटं बंद असते. आणि Elastic IP नसेल तर server नवीन public IP घेऊन परत येतो.

8. कमी downtime ची trick: AMI, मोठा server, Elastic IP हलवा

Live server stop करण्याऐवजी शेजारी मोठा server तयार करा, मग IP switch करा.

Example 3, step by step:

  1. Live site छोट्या server वर चालते, त्याला ELASTIC_IP जोडलेला आहे.
  2. त्या server ची AMI (image) तयार करा (section 12).
  3. त्या AMI मधून नवीन, मोठा instance launch करा. त्यात तेच software, settings आणि files असतात.
  4. नवीन server त्याच्या temporary public IP वर test करा.
  5. Elastic IPs > Associate करून ELASTIC_IP नवीन instance ला जोडा. (Console ने विचारलं तर आधीच जोडलेला address reassociate करायला allow करा.) Switch ला काही seconds लागतात.
  6. Visitors आणि DNS ELASTIC_IP च वापरत राहतात; आता ते मोठ्या server वर पोचतात.
  7. सगळं ठीक असेल तर जुना server stop किंवा terminate करा.
कमी downtime: AMI, मोठा server, Elastic IP हलवा Users आणि DNS ELASTIC_IP 1. Users Elastic IP मधून छोट्या server ला पोचतात. छोटा server t3.micro 2. चालू server ची AMI तयार करा. AMI server ची copy 3. AMI मधून मोठा server launch करा आणि test करा. मोठा server t3.medium 4. Elastic IP मोठ्या server ला associate करा. Users साठी तोचIP.

Figure 4. Animation: छोट्या server ची AMI बनवा, त्यातून मोठा server launch करा, मग Elastic IP हलवा. Users साठी IP पूर्ण वेळ तोच राहतो.

9. का: AMI म्हणजे काय आणि ती का बनवायची

काय. AMI (Amazon Machine Image) म्हणजे server launch करायचा template. Fresh servers launch करायला तुम्ही AWS च्या AMIs (Amazon Linux, Ubuntu) आधीच वापरल्यात. तुम्ही set-up केलेल्या server मधून तुमची स्वतःची AMI पण बनवू शकता: त्यात operating system, install केलेलं software (Nginx, Apache, MySQL), configuration आणि तुमच्या website च्या files येतात.

का बनवायची?

  1. Backup आणि disaster recovery. Disk fail होऊ शकते, data centre मध्ये आग लागू शकते, किंवा server चुकून delete होऊ शकतो. AMI असेल तर काही मिनिटांत अगदी तसाच server launch करता येतो.
  2. तयार set-up clone करणं. समजा आपण एक online store आहोत, आणि सगळ्या software सकट एक web server set-up करायला आठवडे लागले. दुसऱ्या site साठी किंवा नवीन client साठी ते काम परत करण्यापेक्षा AMI मधून launch करा.
  3. कमी downtime मध्ये वाढणं (section 8).
स्वतःची AMI का बनवायची 1. Disaster recovery Disk failure, आग किंवा delete झालेला server: एक सारखाच काहीमिनिटांत. 2. Set-up clone करा आठवड्यांचं set-up एकदाच. नवीन site किंवा client: AMI मधून launch. 3. कमी downtime मध्ये वाढा AMI मधून मोठा server launch करा, मग Elastic IP हलवा.

Figure 5. AMI का: disaster नंतर restore, तयार set-up clone, आणि कमी downtime मध्ये मोठ्या server वर जाणं.

Classroom line

A server can go down at any time.

10. AMI विरुद्ध EBS snapshot

काय. Server चा data EBS volumes (त्याच्या disks) वर असतो. एका EBS volume चा backup म्हणजे EBS snapshot. AMI म्हणजे ते snapshots आणि architecture, device names सारख्या settings ची list असलेलं launch template.

  1. 1 volume असलेल्या server चे 1 snapshot + 1 AMI होतात.
  2. 3 volumes असलेल्या server चे 3 snapshots + 1 AMI होतात.
  3. खरा data snapshots मध्ये असतो. AMI त्यांच्याकडे point करते.
  4. Snapshots AWS तुमच्यासाठी store करतो (पडद्यामागे Amazon S3 वर). ते तुम्ही EC2 console मध्ये Elastic Block Store > Snapshots खाली manage करता; ते तुमच्या स्वतःच्या S3 buckets मध्ये दिसत नाहीत. Best practice म्हणून EBS encryption चालू ठेवा.
AMI विरुद्ध EBS snapshot EC2 server /dev/xvda  8 GiB snapshot 1: data /dev/xvdb 20 GiB snapshot 2: data /dev/xvdc 50 GiB snapshot 3: data AMI Launch template: settings + snapshots ची list. 3 volumes = 3 snapshots + 1 AMI. Data snapshots मध्ये असतो; AMIत्यांच्याकडे point करते.

Figure 6. एक AMI प्रत्येक EBS volume च्या एका snapshot कडे point करते. Data snapshots मध्ये असतो.

Classroom line

An AMI and a snapshot are two different things. The real backup is in the snapshot.

11. Backup च्या आधी: services enable करा

का. तुमच्या AMI मधून launch केलेला server fresh boot होतो. कोणीतरी command type केल्यावरच Nginx start होत असेल, तर नवीन server website बंद असतानाच वर येतो.

फरक काय?

  1. sudo service nginx start Nginx आत्ता start करतो. Reboot नंतर, किंवा AMI मधून launch केलेल्या server वर, तो बंदच राहतो.
  2. sudo systemctl enable nginx Nginx ला प्रत्येक boot ला start करायला लावतो. तो आत्ता start करत नाही.
  3. sudo systemctl enable --now nginx दोन्ही करतो.

कसं:

sudo systemctl enable nginx
sudo systemctl is-enabled nginx

दुसरी command enabled print करते. Site ला लागणाऱ्या प्रत्येक service साठी हेच करा, उदा. httpd (Apache) किंवा mysqld.

start विरुद्ध enable sudo service nginx start Nginx आत्ता start करतो. Reboot नंतर: बंद. AMI मधून नवीन server: बंद. कोणी start करेपर्यंत site बंद. sudo systemctl enable nginx प्रत्येक boot ला Nginx start करतो. Reboot नंतर: चालू. AMI मधून नवीन server: चालू. enable --now = enable + start.

Figure 7. start service आत्ता चालवतो; enable ती प्रत्येक boot ला start करतो, तुमच्या AMI मधून launch केलेल्या servers वर पण.

Classroom line

Enable your services before you create an AMI. Never skip it; make it a habit.

12. कसं: तुमच्या server ची image (AMI) तयार करा

Classroom line

First watch carefully, then do it yourselves.

Step 1. http://ELASTIC_IP/ वर site चालते आणि Nginx enable आहे ते check करा (section 11).

Step 2. Instances, server select करा, Actions > Image and templates > Create image.

Step 3. Image name: त्यात date आणि time टाका, म्हणजे नंतर backups वेगळे ओळखता येतील, उदा. mywebsite-YYYY-MM-DD-HHMM. Create केल्यावर नाव बदलता येत नाही.

Step 4. Image description: आत काय आहे, उदा. nginx with 10 pages.

Step 5. Reboot instance ticked ठेवा. Snapshots घेण्याआधी memory मध्ये राहिलेला data disk वर लिहिला जावा म्हणून EC2 server reboot करतो. त्यामुळे backup consistent मिळतो. (छोट्या reboot मध्ये site बंद असते; शांत वेळ बघून करा.)

EC2 console, Create image page: Image details with the instance ID, an empty Image name field (maximum 127 characters, can't be modified after creation), an empty Image description field, and the Reboot instance checkbox ticked with the note that EC2 reboots the instance so that data is at rest when snapshots are taken.

Console: Create image: instance ID आधीच भरलेला असतो; image name आणि description type करा, आणि Reboot instance ticked ठेवा.

Step 6. Volumes आहेत तसेच ठेवा आणि Create image वर click करा.

13. "available" होईपर्यंत थांबा, आणि snapshot बघा

Step 1. डावा menu: Images > AMIs. तुमची AMI Pending दाखवते. Available दिसेपर्यंत refresh करा. याला काही मिनिटं लागू शकतात.

Step 2. डावा menu: Elastic Block Store > Snapshots. तिथे एक नवीन snapshot दिसतो, description "Created by CreateImage".

Step 3. दोन columns compare करा: Volume size 8 GiB, Full snapshot size साधारण 1.97 GiB. Snapshot disk चे फक्त वापरलेले blocks store करतो, रिकामी जागा नाही, आणि पैसे पूर्ण volume size चे नाही तर store झालेल्या snapshot data चे लागतात.

EC2 console, Snapshots list owned by me: one snapshot with full snapshot size 1.97 GiB, volume size 8 GiB, description Created by CreateImage, storage tier Standard.

Console: Snapshot list: 8 GiB volume साठी full snapshot size साधारण 1.97 GiB, कारण फक्त वापरलेला data store होतो.

Classroom line

Until the status becomes "available", don't terminate the server.

14. Disaster drill: server terminate करा, site परत आणा

आता backup खरंच चालतो का ते prove करू.

Example 4, step by step:

  1. AMI Available दाखवते याची खात्री करा.
  2. Server वरून Elastic IP disassociate करा (section 5, step 1), म्हणजे तो तुमच्या account मध्ये राहील.
  3. Original server terminate करा: Instance state > Terminate (delete) instance. हा आपला "disaster".
  4. Launch instances. Application and OS Images खाली My AMIs निवडा आणि तुमची image select करा.
  5. Instance type, तुमचा key pair, आणि HTTP (आणि तुमच्या IP वरून SSH) allow करणारा security group निवडा.
  6. Launch instance करा आणि Running होईपर्यंत थांबा.
  7. Elastic IP नवीन instance ला associate करा.
  8. http://ELASTIC_IP/ उघडा. तीच pages परत आली, आणि image बनवण्याआधी Nginx enable केला होता म्हणून तो चालू आहे.
Backup आणि restore drill 1. Enable systemctl enable nginx 2. Create image date सह नाव, Reboot ticked 3. थांबा Pending ते Available 4. Terminate original server 5. Launch My AMIs मधून, HTTP allow 6. Elastic IP associate करा: site परत

Figure 8. Drill: services enable करा, image तयार करा, available होईपर्यंत थांबा, terminate करा, My AMIs मधून launch करा, Elastic IP हलवा, आणि site परत.

Classroom line

Let the backup finish completely; only then terminate the server.

15. Snapshots incremental असतात

काय. Volume चा पहिला snapshot त्यातला सगळा वापरलेला data store करतो. त्याच volume चा पुढचा प्रत्येक snapshot मागच्या snapshot पासून बदललेले blocks च store करतो. याला incremental backup म्हणतात. (AMI incremental नसते; ती ज्या EBS snapshots कडे point करते ते incremental असतात.)

Example 5, step by step:

  1. 8 GB volume मध्ये 1.9 GB data आहे. Backup 1 1.9 GB store करतो.
  2. तुम्ही अजून software install करता. Data 2.5 GB होतो. Backup 2 फक्त नवीन 600 MB store करतो.
  3. तुम्ही काही pages add करता. Data 2.6 GB होतो. Backup 3 फक्त नवीन 100 MB store करतो.
  4. एकूण store झालं: 1.9 GB + 600 MB + 100 MB = 2.6 GB, 1.9 + 2.5 + 2.6 = 7 GB नाही.
  5. तरीही प्रत्येक backup त्या वेळेचा पूर्ण disk restore करतो.
  6. Backup 2 delete केला तर backup 3 ला लागणारा त्यातला data AWS ठेवतो. Backup 3 तरीही पूर्ण restore होतो.
Snapshots incremental असतात 8 GB volume मध्ये 1.9 GB data.अजून backup नाही. 0 GB Backup 1 · 1.9 GB 1.9 GB Backup 1 सगळा used data store करतो: 1.9 GB. Backup 2 · +600 MB 2.5 GB नवीन software: Backup 2 फक्त बदललेले 600 MB store करतो. Backup 3 · +100 MB 2.6 GB काही pages: Backup 3 फक्त 100 MB. तरीही प्रत्येक पूर्ण diskrestore करतो. एकूण stored: 2.6 GB 1.9 + 2.5 + 2.6 = 7 GB नाही

Figure 9. Animation: पहिला snapshot 1.9 GB store करतो, दुसरा फक्त बदललेले 600 MB, तिसरा फक्त 100 MB. तरीही प्रत्येक पूर्ण disk restore करतो.

Classroom line

Interviews ask: are AWS backups incremental, or what? The answer: incremental.

16. साफसफाई: AMI deregister करा आणि तिचे snapshots delete करा

AMI deregister होते, delete नाही. Deregister केल्याने तिचे snapshots आपोआप जात नाहीत, आणि snapshots चे पैसे लागत राहतात.

Step 1. Images > AMIs, AMI select करा, Actions > Deregister AMI.

Step 2. Delete associated snapshots tick करा, मग Deregister AMI वर click करा.

EC2 console, Deregister AMI dialog: after you deregister an AMI you can't use it to launch new instances; the AMI ID; the Delete associated snapshots checkbox ticked; Associated snapshots (1); Cancel and Deregister AMI buttons.

Console: Deregister AMI: Delete associated snapshots tick करा, म्हणजे snapshots मागे राहून पैसे खात राहणार नाहीत.

Step 3. Elastic Block Store > Snapshots उघडा आणि या AMI चं काही उरलं नाही ते check करा. उरलं असेल तर ते select करून Actions > Delete snapshot.

Step 4. Elastic IP नको असेल तर disassociate आणि release करा (section 5), आणि test servers terminate करा.

17. पूर्ण flow एका page वर

  1. Stop आणि start ने dynamic public IP बदलतो; जुना IP असलेले apps आणि DNS records तुटतात.
  2. Elastic IPs > Allocate, मग तुमच्या server ला Associate (same region). Stop-start नंतरही IP तोच.
  3. काढायला: Disassociate, मग Release. प्रत्येक public IPv4 ला hourly charge; न वापरलेले release करा.
  4. Instance type बदलायला stop-start लागतो. कमी downtime साठी: AMI, मोठा server, Elastic IP हलवा.
  5. प्रत्येक image आधी sudo systemctl enable nginx.
  6. Date सह नाव आणि description देऊन Create image; Reboot instance ticked ठेवा.
  7. Available होईपर्यंत थांबा; snapshot मध्ये फक्त वापरलेला data.
  8. Terminate, My AMIs मधून launch, Elastic IP associate: site परत.
  9. Snapshots incremental. AMIs deregister करताना Delete associated snapshots tick करा.

18. घरी करून बघा

Try at home

Task 1: Elastic IP

  1. Nginx असलेला Amazon Linux server launch करा आणि त्याचं page उघडा.
  2. त्याच region मध्ये Elastic IP allocate करा आणि server ला associate करा.
  3. Server stop आणि start करा. IP तोच राहिला ते check करा, आणि लागलं तर Nginx start करा.
  4. Elastic IP disassociate करा आणि server ला मिळालेला नवीन dynamic IP बघा. मग Elastic IP release करा.

Task 2: AMI backup आणि restore

  1. sudo systemctl enable nginx चालवा आणि sudo systemctl is-enabled nginx ने check करा.
  2. Default page बदला, मग आजची date आणि time असलेल्या नावाने, Reboot instance ticked ठेवून image तयार करा.
  3. Available होईपर्यंत थांबा, आणि volume size आणि snapshot size compare करा.
  4. Server terminate करा, My AMIs मधून नवीन launch करा, आणि तुमचं बदललेलं page उघडा.
  5. साफसफाई: Delete associated snapshots सकट AMI deregister करा, snapshot list check करा, Elastic IP release करा आणि server terminate करा.

Recap

थोडक्यात

  1. नेहमीचा public IP dynamic असतो: stop-start ने तो बदलतो, आणि जुना IP असलेले apps, bookmarks आणि DNS records तुटतात (DNS ला TTL पर्यंत पण थांबावं लागतं).
  2. Elastic IP हा तुमच्या account चा static public IPv4 address; तो regional असतो आणि stop-start नंतरही टिकतो.
  3. Allocate, associate; काढायला आधी disassociate, मग release. AWS प्रत्येक public IPv4 ला hourly charge लावतो, म्हणून न वापरलेले Elastic IPs release करा.
  4. Scaling up मध्ये server मोठा होतो (stop-start लागतो); scaling out मध्ये servers वाढतात.
  5. कमी downtime: AMI तयार करा, त्यातून मोठा server launch करा, Elastic IP हलवा.
  6. AMI म्हणजे EBS snapshots कडे point करणारं launch template; data snapshots मध्ये असतो.
  7. systemctl enable service प्रत्येक boot ला start करतो; service ... start फक्त आत्ता. Image आधी enable करा.
  8. Date सह नावाने create image करा, Reboot ticked ठेवा, काहीही terminate करण्याआधी Available होऊ द्या.
  9. Snapshots फक्त वापरलेला data store करतात आणि incremental असतात. AMIs "Delete associated snapshots" सकट deregister करा.

सराव Tasks

या scenario बद्दल

Bengaluru HealthTech हा बेंगळुरू मधला हेल्थ टेक व्यवसाय आहे. Arjun Rao त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे INR मध्ये मोजले जातात आणि AWS resources ap-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 12

सोपं EBS volume चा snapshot घ्या

का: Snapshot म्हणजे एका disk चा त्या क्षणीचा backup.

काय करायचं: Volume vol-05324d33feecfdeed चा snapshot "nightly blrhealthtech" description सह बनवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं Volume detach करा

का: Disk rescue server वर हलवायला आधी detach करा.

काय करायचं: Volume vol-05324d33feecfdeed detach करा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम जुनी AMI delete करा

का: जुन्या AMIs व snapshots चा दर महिन्याला खर्च येतो.

काय करायचं: Image ami-01adbac1bbeffabcd deregister करा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम तुमच्या AMIs ची list

का: जुन्या AMIs साफ करताना फक्त तुमच्या images महत्त्वाच्या.

काय करायचं: फक्त तुमच्या account च्या AMIs दाखवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Elastic IP allocate करा

का: Elastic IP stop/start नंतरही तोच राहतो, म्हणून DNS चालू राहतो.

काय करायचं: VPC मध्ये वापरण्यासाठी नवा Elastic IP address allocate करा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Elastic IP server ला जोडा

का: Associate केल्यावर server ला तो fixed public IP मिळतो ज्याकडे domain जातो.

काय करायचं: Allocation eipalloc-05324c33abbdd44 ला instance i-0bba33c4235211a2b शी associate करा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Server पासून AMI बनवा

का: AMI म्हणजे पूर्ण server image. त्यापासून कधीही सारख्या copies launch करता येतात.

काय करायचं: Instance i-0bba33c4235211a2b पासून blrhealthtech-web-v1 नावाची AMI बनवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Volume instance ला attach करा

का: Server ला volume दिसण्याआधी तो attach (त्याच AZ मध्ये) करावा लागतो.

काय करायचं: Volume vol-05324d33feecfdeed ला instance i-0bba33c4235211a2b ला /dev/sdf device म्हणून attach करा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Compressed backup बनवा

का: .tar.gz file पूर्ण folder एका छोट्या file मध्ये बांधते.

काय करायचं: /var/www/blrhealthtech folder पासून blrhealthtech-site.tar.gz नावाचं gzip-compressed archive बनवा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम Backup extract करा

का: Restore करायला archive folder मध्ये उघडतात.

काय करायचं: blrhealthtech-site.tar.gz ला /tmp/restore folder मध्ये extract करा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

मध्यम Folder zip करा

का: Zip files Windows वर सहज उघडतात, office staff ला देण्यासाठी चांगल्या.

काय करायचं: invoices folder व त्यातलं सगळं असलेली invoices.zip बनवा.

कसं करायचं:
  1. हे काम करणारा Linux command शोधा.
  2. Task ला लागणारे options (उदा. -r, -h) जोडा.
  3. File नावं, folders किंवा users योग्य क्रमाने लिहा.
  4. System files/users बदलत असाल तर sudo वापरा. Check answer दाबा.

अवघड Snapshot दुसऱ्या Region मध्ये copy करा

का: दुसऱ्या Region मधली copy पूर्ण Region अडचणीत आल्यास वाचवते.

काय करायचं: Snapshot snap-024e33beebeef5 ap-south-1 मधून us-west-2 मध्ये copy करा (command us-west-2 मध्ये चालवा).

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

झटपट उजळणी cards

हा lesson दोन मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR त्याचा lesson उघडतो.

तुलना card: Scale up (vertical) vs Scale out (horizontal). Scale up (vertical): एकच server मोठा करा: जास्त CPU आणि RAM. Scale out (horizontal): त्याच size चे जास्त servers वाढवा.
तुलना: Scale up (vertical) vs Scale out (horizontal) · PNG download करा
तुलना card: EBS snapshot vs AMI. EBS snapshot: एका EBS disk ची त्या वेळची backup copy. AMI: Amazon Machine Image: पूर्ण server ची image (disk snapshots + launch settings).
तुलना: EBS snapshot vs AMI · PNG download करा
उजळणी card: Elastic IP म्हणजे काय?. साधा public IP प्रत्येक stop-start ला बदलतो. तो वापरणारे apps आणि DNS records तुटतात. Elastic IP म्हणजे तुमच्या account चा, एका Region मधला static public IPv4. EC2 › Elastic IPs › Allocate, मग server ला Associate करा. Server stop-start झाला: IP 13.2.1.9 च राहतो. DNS edit नको.
उजळणी card: Elastic IP म्हणजे काय? · PNG download करा
उजळणी card: Public IPv4 चे charges. न वापरलेला IP सुद्धा दर तासाला पैसे घेतो. AWS प्रत्येक public IPv4 साठी charge करतं, वापरात असो वा नसो, allocate पासून release पर्यंत. Lab नंतर: Disassociate, मग Elastic IP Release करा. $0.005 दर तास × 720 तास = साधारण $3.60 दर महिना दर IP.
उजळणी card: Public IPv4 चे charges · PNG download करा
उजळणी card: AMI बनवा आणि site परत आणा. Server terminate झाला की त्यावर install केलेलं सगळं जातं. AMI म्हणजे server ची पूर्ण image: OS, software, files, परत launch करायला तयार. Actions › Image and templates › Create image. "available" ची वाट बघा. My AMIs मधून launch. systemctl enable केलेला Nginx launch नंतर आपोआप सुरू होतो.
उजळणी card: AMI बनवा आणि site परत आणा · PNG download करा
उजळणी card: EBS snapshots incremental का?. रोज पूर्ण disk copy करणं slow आणि महाग. Snapshot म्हणजे एका EBS volume चा S3 मधला backup. पहिल्यानंतर फक्त बदललेले blocks save होतात. Volume › Actions › Create snapshot. Clean up: AMI deregister करा, मग snapshots delete. Day 1: 8 GiB copy. Day 2: फक्त 200 MiB बदलले, म्हणून फक्त 200 MiB store.
उजळणी card: EBS snapshots incremental का? · PNG download करा
तुलना: systemctl enable vs service start. systemctl enable: Service प्रत्येक boot ला सुरू होईल असं set करतो. service start: Service आत्ता, एकदा सुरू करतो.
तुलना: systemctl enable vs service start · PNG download करा
मुलाखत card: Web server साठी Elastic IP का वापरता?. Stop-start नंतरही टिकणारा static public IP. IP वापरणारे apps, DNS records आणि firewall rules चालू राहतात. Allocate आणि associate; काही seconds मध्ये नवीन server वर हलवा.
मुलाखत card: Web server साठी Elastic IP का वापरता? · PNG download करा
मुलाखत card: कमी downtime मध्ये instance type कसा बदलता?. AMI बनवा, त्यातून मोठा server launch करा, मग Elastic IP हलवा. जागीच type बदलायला stop-start लागतो, site बंद पडते. t3.micro › AMI › t3.large › EIP reassociate: काही seconds downtime.
मुलाखत card: कमी downtime मध्ये instance type कसा बदलता? · PNG download करा
मुलाखत card: AMI बनवण्याआधी systemctl enable का?. enable प्रत्येक boot ला service सुरू करतो. service start फक्त आत्ता. AMI मधून launch झालेला server fresh boot होतो; enable नसेल तर Nginx बंद राहतो. Source server वर एकदा चालवा:
मुलाखत card: AMI बनवण्याआधी systemctl enable का? · PNG download करा
मुलाखत card: पैसे थांबवायला AMI cleanup कसं करता?. AMI deregister करा, मग त्याचे EBS snapshots delete करा. फक्त deregister केल्यास snapshots राहतात आणि bill येतं. Snapshots मध्ये description मधला AMI ID शोधा.
मुलाखत card: पैसे थांबवायला AMI cleanup कसं करता? · PNG download करा

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