Ravindra BagaleCourses & study guides English

AWS VPC म्हणजे काय आणि CIDR IP Ranges कसे मोजायचे

आत्तापर्यंत या course मधला प्रत्येक server सगळं एकटाच करत होता: Nginx, PHP आणि database एकाच EC2 instance वर, public IP सोबत. शिकण्यासाठी ठीक आहे, पण real applications अशी बनत नाहीत. या chapter पासून AWS networking सुरू होतं. आधी EC2 server खरंच कुठे चालतो ते बघू (एका मोठ्या physical host चा तुकडा), मग real apps तीन tiers मध्ये का विभागतात, VPC म्हणजे काय, आणि security groups प्रत्येक tier ला कसं वाचवतात. मग येतं ते गणित जे प्रत्येक cloud engineer ला interview मध्ये विचारतात: /16, /20, /22 आणि /24 म्हणजे काय, प्रत्येकात किती IPs, आणि पहिला व शेवटचा IP binary मध्ये कसा शोधायचा. शेवटी console मध्ये तुमचा स्वतःचा VPC बनवू.

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

  • Regions, Availability Zones, data centres आणि hosts कसे जोडलेले असतात
  • Virtual server म्हणजे काय, आणि hypervisor काय करतो
  • सगळ्यासाठी एकच server धोक्याचा का, आणि 2-tier व 3-tier म्हणजे काय
  • VPC म्हणजे काय, आणि तो एकाच Region मध्ये का राहतो
  • Security groups ची साखळी: web, app आणि database
  • CIDR notation: fixed bits आणि free bits
  • Worked examples: /16, /24, /20 आणि /22, शेवटचा IP binary मध्ये
  • CIDR table आणि 2 चा घात (32 वजा prefix) हा rule
  • VPC चे subnets का करतात
  • Console मध्ये VPC बनवणं, आणि /16 ते /28 ची मर्यादा

1. EC2 server खरंच कुठे चालतो

का: network design करण्याआधी त्याच्या खालचे building blocks डोळ्यासमोर हवेत.

  1. Region: एक geographic भाग, उदाहरणार्थ Mumbai, ap-south-1.
  2. Availability Zone (AZ): Region मधले एक किंवा जास्त data centres एकत्र. एका Region चे AZs एकमेकांपासून वेगळे ठेवलेले असतात, पण त्याच metro भागात: ap-south-1a, ap-south-1b आणि ap-south-1c म्हणजे Mumbai भोवतीच्या तीन वेगळ्या जागा, तीन वेगळी शहरं नाहीत. AZ मध्ये किती data centres आहेत किंवा ते कुठे आहेत, हे AWS publish करत नाही.
  3. Data centre: racks ने भरलेली इमारत.
  4. Host: rack मधला एक मोठा physical server, भरपूर CPU आणि RAM सोबत, उदाहरणार्थ शेकडो GB RAM.

जमिनीची गोष्ट: समजा AWS ला एका AZ साठी 100 एकर हवेत, पण फक्त 50 एकरांचे दोन plots मोकळे आहेत, काही किलोमीटर अंतरावर. मग AWS दोन data centres बांधतो, आणि दोघं मिळून एक AZ.

Regions, AZs, Local Zones, Wavelength Zones आणि edge locations ची पूर्ण ओळख Region, Availability Zone and data center आणि Why one AZ can be more than one data center मध्ये आहे.

2. Virtual server म्हणजे काय

प्रश्न: तुम्ही t3.micro (2 vCPU, 1 GiB RAM) launch करता, तेव्हा AWS तुम्हाला पूर्ण physical machine देतो का? नाही. Host त्यापेक्षा कितीतरी मोठा असतो.

काय होतं:

  1. Host वर hypervisor नावाचा program चालतो.
  2. Hypervisor host चे CPU, RAM, disk आणि network चे तुकडे करतो.
  3. तुमचा t3.micro म्हणजे एक तुकडा. बाकीच्या customers ना त्याच host चे दुसरे तुकडे मिळतात.
  4. प्रत्येक तुकड्यात स्वतःची operating system चालते आणि त्याला दुसरे दिसत नाहीत. एकाच laptop वरचे वेगवेगळ्या permissions चे दोन folders समजा: माझा folder तुमचा वाचू शकत नाही.

त्या तुकड्याला virtual server (virtual machine, VM) म्हणतात. तुमच्या laptop वरचा VirtualBox हेच छोट्या प्रमाणावर करतो.

Classroom line

EC2 is a virtual server too. It isn't actually a physical server.

Classroom line

On one piece of physical hardware, many separate operating systems are being created virtually.

Classroom line

This folder can't access the data inside that folder.

EC2 server खरंच कुठे चालतो Data centre hosts ने भरलेले racks एक host: मोठा physical server तुमचा t3.micro 2 vCPU, 1 GiB · तुमची OS दुसऱ्या कोणाचा दुसरा VM · स्वतःची OS दुसऱ्या कोणाचा दुसरा VM · स्वतःची OS Hypervisor host चे वेगळे-वेगळे तुकडे करतो Physical CPU, RAM, disks, network उदाहरणार्थ शेकडो GB RAM

Figure 1. Data centre मध्ये hosts चे racks असतात. एका host वर hypervisor physical CPU, RAM, disk आणि network चे वेगवेगळे तुकडे करतो: तुमचा t3.micro (2 vCPU, 1 GiB) स्वतःची OS असलेला एक तुकडा, आणि बाकीच्या customers ना दुसरे तुकडे.

Classroom line

They'll ask you in interviews: what is a virtual server?

Interview साठी एका ओळीत उत्तर: virtual server म्हणजे physical server च्या CPU, RAM, disk आणि network चा hypervisor ने बनवलेला आणि वेगळा ठेवलेला तुकडा, ज्यात स्वतःची operating system चालते.

3. Networking का महत्त्वाचं: सगळं करणारा एकच server

समजा आपण banking app चालवतोय एकाच EC2 server वर Nginx, PHP आणि MySQL सोबत (LEMP stack). Customer balance बघतो:

  1. Phone server च्या public IP वर port 443 ला request पाठवतो.
  2. Nginx ती घेतो आणि get_balance.php PHP ला देतो.
  3. PHP MySQL कडे balance मागतो.
  4. MySQL उत्तर देतो, PHP page बनवतो, आणि Nginx balance परत पाठवतो.

Problem: port 443 संपूर्ण internet साठी उघडा आहे, म्हणजे attackers साठी पण.

  1. ते परत परत passwords guess करतात (brute force attack).
  2. Bots हजारो requests पाठवतात, कधी कधी server पाडण्याइतक्या (DDoS attack).
  3. कोणी या एका server मध्ये घुसला, तर database लगेच हातात. 100 चा balance 100 कोटी करता येईल.

Attacker कडे जितका जास्त वेळ आणि tools, तितका धोका मोठा. याचा उपाय एखादी जादूची setting नाही; servers कसे मांडलेत त्यात उपाय आहे.

Classroom line

What do attackers do? They guess passwords; they run brute force attacks.

4. दोन servers: database private IP मागे लपवा

कल्पना: काम दोन servers मध्ये वाटा.

  1. Server 1, web: फक्त Nginx, public IP सोबत. Internet ला दिसणारा हा एकमेव server.
  2. Server 2, app आणि database: PHP आणि MySQL, फक्त private IP. Nginx त्याच्या private IP ला proxy_pass ने requests पाठवतो, अगदी Put Nginx in front as the reverse proxy मधल्या reverse proxy सारखं.

Web server वरचं संरक्षण:

  1. विचित्र patterns साठी /var/log/nginx/access.log वर लक्ष ठेवा.
  2. समोर web application firewall (WAF) किंवा security monitoring tool (SIEM) लावा.
  3. Rate limit: उदाहरणार्थ ठरवा की एका IP वरून मिनिटाला 60 पेक्षा जास्त requests म्हणजे bot, आणि तो IP block करा.

तरी पुरेसं नाही: rate limit च्या खाली राहायला attackers त्यांच्या requests अनेक IPs वर वाटतात. आणि web server मध्ये घुसले, तर आतून private server पर्यंत पोहोचता येतं. म्हणून real applications अजून एक पाऊल पुढे जातात.

5. तीन tiers: web, app आणि database

काय: 3-tier architecture मध्ये प्रत्येक कामाला servers चा स्वतःचा layer मिळतो:

  1. Web tier: Nginx किंवा Apache. Internet कडून requests घेतो. Public.
  2. App tier: PHP, Node.js किंवा Python. Business logic चालवतो. Private.
  3. Database tier: MySQL किंवा MariaDB. Data ठेवतो. Private.

प्रत्येक tier मध्ये अनेक servers असू शकतात, आणि एका tier मधले सगळे servers सारखे: same AMI, same instance type, same security group. उदाहरणार्थ 6 Nginx servers, 6 PHP servers, आणि 1 primary database सोबत 2 read replicas (फक्त वाचण्यासाठी वापरल्या जाणाऱ्या copies; त्यांचा पुढे स्वतंत्र chapter आहे).

Fast असाव्या लागणाऱ्या apps (समजा आपण Instagram आहोत) तीन tiers वापरतात. काही banks जास्त checks साठी अजून एक tier जोडतात: थोडं slow, पण जास्त safe. एकाच server वरचे LAMP आणि LEMP फक्त शिकण्यासाठी होते.

Classroom line

Until now we installed LAMP inside one server and used it, but the real world doesn't work like that.

एका server पासून तीन tiers पर्यंत Users आणि attackers Step 1: web, app आणि database साठी एकच server एकच server सगळं करतो Nginx + PHP + MySQL public IP Port 443 सगळ्यांसाठी उघडा. इथे घुसला की database लगेच हातात. Step 2: दोन servers, फक्त web server public Web server Nginx public IP App + database PHP + MySQL private IP only फक्त Nginx internet समोर; तो requests private IP कडे पाठवतो. Step 3: तीन tiers: web, app, database Web tier · Nginx / Apache public App tier · PHP / Node.js private DB tier · MySQL private प्रत्येक tier मध्ये अनेक सारखे servers आणि स्वतःचे firewallrules.

Figure 2. Animation: step 1, एकच public server Nginx, PHP आणि MySQL चालवतो, म्हणून घुसलं की database उघडा; step 2, फक्त Nginx web server public आणि app व database server ला private IP; step 3, तीन tiers (web public, app private, database private), प्रत्येकाचे स्वतःचे servers आणि firewall rules.

6. VPC म्हणजे काय

का: या तीन tiers ना स्वतःचं network लागतं, जिथे servers private IPs ने बोलतात आणि बाहेरून फक्त web tier पर्यंत पोहोचता येतं.

काय: VPC (Virtual Private Cloud) म्हणजे AWS मधलं तुमचं स्वतःचं private network.

  1. त्यातले servers एकमेकांशी private IPs ने बोलतात.
  2. Internet ला काय दिसेल ते तुम्ही ठरवता.
  3. VPC एकाच Region मध्ये राहतो आणि त्या Region च्या सगळ्या AZs वर पसरतो. दुसऱ्या Region मधल्या servers साठी तिथे दुसरा VPC बनवायचा.
  4. प्रत्येक EC2 instance नेहमी कुठल्या ना कुठल्या VPC मध्ये असतो. Public IP optional आहे.
  5. नवीन account च्या प्रत्येक Region मध्ये आधीच एक default VPC असतो, म्हणजे beginners लगेच server launch करू शकतात. आत्तापर्यंतचे तुमचे सगळे servers तिथेच launch झाले. Production मध्ये आधीच plan केलेल्या IP ranges सोबत custom VPCs वापरतात.

Classroom line

VPC is a very big topic.

VPC एका Region मध्ये राहतो आणि त्याच्यासगळ्या AZs वर पसरतो Region ap-south-1 (Mumbai) VPC 10.0.0.0/16: तुमचं private network ap-south-1a EC2 · private IPs ap-south-1b EC2 · private IPs ap-south-1c EC2 · private IPs Region us-east-1 स्वतःचा VPC लागतो (VPC कधीच Region ओलांडत नाही) VPC मधले servers एकमेकांशी private IPs ने बोलतात. Internet ला कायदिसेल ते तुम्ही ठरवता.

Figure 3. VPC एका Region मध्ये राहतो आणि त्याच्या सगळ्या Availability Zones वर पसरतो: VPC 10.0.0.0/16 ap-south-1a, 1b आणि 1c वर, आणि त्यातले servers private IPs ने बोलतात. us-east-1 सारख्या दुसऱ्या Region ला स्वतःचा VPC लागतो.

7. Tier by tier security groups ची साखळी

का: VPC च्या आत सुद्धा, प्रत्येक tier ने फक्त त्याच्या पुढच्या tier कडून traffic घ्यायला हवं.

कसं:

  1. Web security group (sg-web): inbound port 443, 0.0.0.0/0 वरून, म्हणजे सगळ्यांकडून.
  2. App security group (sg-app): inbound port 80 फक्त sg-web कडून, म्हणजे web servers.
  3. Database security group (sg-db): inbound port 3306 फक्त sg-app कडून, म्हणजे app servers.

माहीत हव्यात अशा दोन CIDR values:

  1. 0.0.0.0/0 = प्रत्येक IPv4 address: पूर्ण internet.
  2. /32 = बरोबर एक IP, उदाहरणार्थ 10.0.0.25/32.

Web server चा private IP /32 ने allow करता येईल. पण security group च allow करणं जास्त चांगलं: servers बदलले किंवा वाढवले की private IPs बदलतात, पण group तोच राहतो.

परिणाम: attacker Nginx server मध्ये घुसला तरी MySQL थेट internet वरून गाठता येत नाही, कारण त्याचा security group app servers शिवाय काहीच accept करत नाही.

Classroom line

MySQL can't be hacked directly, because you have put a restriction in the security group.

Tier by tier जोडलेले security groups Internet users in: 443 from 0.0.0.0/0 · सगळे Web: Nginx sg-web public IP in: 80 from sg-web · फक्त webservers App: PHP sg-app private IP in: 3306 from sg-app · फक्तapp servers DB: MySQL sg-db private IP Attacker ✗ थेट port 3306 वर: rule नाही, drop

Figure 4. Tier by tier security groups: sg-web 0.0.0.0/0 वरून 443 allow करतो, sg-app फक्त sg-web कडून 80, sg-db फक्त sg-app कडून 3306. थेट port 3306 वर येणाऱ्या attacker ला कुठलाच rule match होत नाही आणि तो drop होतो.

8. CIDR notation: /16 म्हणजे काय

का: VPC बनवताना AWS 10.0.0.0/16 सारखा IPv4 CIDR block मागतो. त्यातून कुठली IP range मिळते ते तुम्हाला माहीत हवं.

काय: IPv4 address म्हणजे 32 bits, प्रत्येकी 8 bits चे 4 भाग (octets) म्हणून लिहिलेले. CIDR notation मध्ये slash नंतरचा नंबर, म्हणजे prefix, डावीकडून किती bits fix आहेत ते सांगतो.

  1. Fixed bits म्हणजे network भाग: block च्या प्रत्येक IP मध्ये सारखे.
  2. बाकीचे free bits: IP नुसार बदलतात.
  3. प्रत्येक free bit count दुप्पट करतो, म्हणून block मध्ये 2 चा घात (free bits) इतके IPs.
  4. पहिला IP मिळवायला सगळे free bits 0 करा. शेवटचा IP मिळवायला सगळे free bits 1 करा.

एका octet च्या binary place values, डावीकडून उजवीकडे: 128, 64, 32, 16, 8, 4, 2, 1. जिथे 1 आहे त्या places बेरीज करा. उदाहरणार्थ 00001111 = 8 + 4 + 2 + 1 = 15, आणि 11111111 = 255. प्रत्येक भाग 255 वर का थांबतो ते Why each part of an IP stops at 255 मध्ये आहे.

Classroom line

You can do binary to decimal and decimal to binary, right?

9. Worked example: 10.0.0.0/16

  1. Prefix 16 = 8 + 8, म्हणून पहिले दोन octets fix: 10.0.
  2. Free bits = 32 − 16 = 16, शेवटचे दोन octets.
  3. Count = 2 चा घात 16 = 256 × 256 = 65,536 IPs.
  4. पहिला IP: सगळे free bits 0 = 10.0.0.0.
  5. शेवटचा IP: सगळे free bits 1 = 10.0.255.255.

Classroom line

The first 16 bits stay fixed.

/16 म्हणजे: पहिले 16 bits fix 10.0.0.0/16 10 0000 1010 0 0000 0000 16 fixed bits: network भाग, VPC च्या प्रत्येक IP मध्ये सारखा 0 0000 0000 0 0000 0000 16 free bits: IP नुसार बदलतात, 2 चा घात 16 = 65,536 IPs first 10.0.0.0   ...   last 10.0.255.255

Figure 5. 10.0.0.0/16 मध्ये पहिले 16 bits (10 आणि 0) fix आणि शेवटचे 16 bits free: 2 चा घात 16 = 65,536 IPs, 10.0.0.0 ते 10.0.255.255.

10. Worked example: 10.0.0.0/24

  1. Prefix 24 = 8 + 8 + 8, म्हणून 10.0.0 fix.
  2. Free bits = 32 − 24 = 8, फक्त शेवटचा octet.
  3. Count = 2 चा घात 8 = 256 IPs, 10.0.0.0 ते 10.0.0.255.
  4. पण 256 servers नाही. ही range subnet असते तेव्हा AWS त्यातले 5 IPs स्वतःसाठी ठेवतो: पहिले चार आणि शेवटचा एक. म्हणून 251 वापरता येतात. पुढचा chapter सांगतो की त्या 5 पैकी प्रत्येक कशासाठी असतो.

Classroom line

Saying you can launch 256 servers is still not true.

11. Worked example: 10.0.0.0/20 आणि त्याचा शेवटचा IP

हा जरा अवघड का: 20 हा 8 चा पट नाही, म्हणून split एका octet च्या आत पडतो.

  1. 20 = 8 + 8 + 4. पहिले दोन octets fix, आणि 3rd octet चे पहिले 4 bits पण fix.
  2. Free bits: 3rd octet चे शेवटचे 4 bits + 4th octet चे सगळे 8 bits = 12.
  3. Count = 2 चा घात 12 = 16 × 256 = 4,096 IPs.
  4. 3rd octet, म्हणजे 0, binary मध्ये लिहा: 0000 0000.
  5. पहिले 4 bits तसेच ठेवा, शेवटचे 4 bits 1 करा: 0000 1111 = 8 + 4 + 2 + 1 = 15.
  6. 4th octet पूर्ण free, म्हणून तो 255 होतो.
  7. Range: 10.0.0.0 ते 10.0.15.255.

Check: 3rd octet मध्ये 16 values (0 ते 15) × 4th मध्ये 256 values = 4,096. Step 3 शी जुळतं.

10.0.0.0/20 चा शेवटचा IP शोधा 1. 10.0.0.0/20: 20 = 8 + 8 + 4, म्हणजे split 3rd octet च्या आत 10.0.[0].0 0 0 0 0 128 64 32 16 0 0 0 0 8 4 2 1 2. 3rd octet 0 binary मध्ये: पहिले 4 bits ठेवा (fix) 0 = 0000 0000 0 0 0 0 128 64 32 16 0 0 0 0 8 4 2 1 3. 4 free bits 1 करा: 0000 1111 = 8 + 4 + 2 + 1 = 15 0000 1111 = 15 0 0 0 0 128 64 32 16 1 1 1 1 8 4 2 1 4. 4th octet पूर्ण free: 255. शेवटचा IP 10.0.15.255 10.0.0.0 - 10.0.15.255 0 0 0 0 128 64 32 16 1 1 1 1 8 4 2 1 निळे = fixed bits, हिरवे = free bits, नारिंगी = 1 केलेले free bits एकूण: 4 + 8 = 12 free bits, 2 चा घात 12 = 4,096 IPs

Figure 6. Animation: 10.0.0.0/20 चा split 3rd octet मध्ये (8 + 8 + 4); 3rd octet 0 म्हणजे 0000 0000; पहिले 4 bits ठेवा आणि 4 free bits 1 करा, 0000 1111 = 15; 4th octet 255, म्हणून शेवटचा IP 10.0.15.255 आणि block मध्ये 4,096 IPs.

12. Worked example: 172.31.0.0/22

  1. 22 = 8 + 8 + 6. 172.31 fix, आणि 3rd octet चे पहिले 6 bits fix.
  2. Free bits: 3rd octet मध्ये 2 + 4th मध्ये 8 = 10.
  3. Count = 2 चा घात 10 = 4 × 256 = 1,024 IPs.
  4. 3rd octet, 0, binary मध्ये: 000000 00. 2 free bits 1 करा: 000000 11 = 2 + 1 = 3.
  5. Range: 172.31.0.0 ते 172.31.3.255.

Check: 3rd octet मध्ये 4 values (0, 1, 2, 3) × 256 = 1,024.

Classroom line

Are you getting it?

13. CIDR table आणि सोपा rule

Rule: IPs ची संख्या = 2 चा घात (32 − prefix). Prefix मध्ये 1 चा प्रत्येक बदल block अर्धा किंवा दुप्पट करतो.

Prefix IPs Prefix IPs
/32 1 /23 512
/31 2 /22 1,024
/30 4 /21 2,048
/29 8 /20 4,096
/28 16 /19 8,192
/27 32 /18 16,384
/26 64 /17 32,768
/25 128 /16 65,536
/24 256

Sizing साठी याचा अर्थ:

  1. Block नेहमी 2 चा घात असतो. बरोबर 80 IPs चा subnet बनवता येत नाही.
  2. 80 servers साठी /26 (64) लहान पडतो. /25 घ्या: 128 IPs, AWS चे 5 गेल्यावर 123 वापरता येतात.
  3. AWS मध्ये VPC चा IPv4 block, आणि subnet चा, /16 (65,536, सगळ्यात मोठा) ते /28 (16, सगळ्यात लहान) पर्यंत असू शकतो.

14. VPC चे subnets का करतात

का: घर म्हणजे एक मोठी खोली नसते. त्यात kitchen, hall, bedroom आणि balcony असतात, प्रत्येक एका कामासाठी. VPC पण तसाच subnets मध्ये विभागतात, म्हणजे त्याच्या IP range चे छोटे blocks, प्रत्येक tier ला एक.

  1. Web servers एका subnet मध्ये, app servers दुसऱ्यात, database तिसऱ्यात.
  2. मग rules पूर्ण ranges वापरू शकतात, उदाहरणार्थ "app tier फक्त web subnet कडून traffic घेतो".

Classroom line

There's a kitchen, a hall, a bedroom and a balcony; my architecture is built the same way.

10.0.0.0/16 चे /20 subnets करणं:

  1. 10.0.0.0/20: 10.0.0.0 ते 10.0.15.255 (section 11).
  2. 10.0.16.0/20: 10.0.16.0 ते 10.0.31.255.
  3. 10.0.32.0/20: 10.0.32.0 ते 10.0.47.255.
  4. प्रत्येक block 3rd octet मध्ये 16 ने पुढे सुरू होतो: 0, 16, 32, 48, असं 240 पर्यंत.
  5. 65,536 ÷ 4,096 = VPC मध्ये /20 चे 16 subnets बसतात.
VPC चे subnets करा, घरातल्या खोल्यांसारखे VPC 10.0.0.0/16 = 65,536 IPs = /20 चे 16 blocks (प्रत्येकी4,096) .0 .16 .32 .48 .64 .80 .96 .112 .128 .144 .160 .176.192 .208 .224 .240 web tier 10.0.0.0/20 · 10.0.0.0 - 10.0.15.255 app tier 10.0.16.0/20 · 10.0.16.0 - 10.0.31.255 DB tier 10.0.32.0/20 · 10.0.32.0 - 10.0.47.255 प्रत्येक block 3rd octet मध्ये 16 ने पुढे: 0, 16, 32, 48 ... 240. मग rulesम्हणू शकतात "app tier फक्त web subnet ला accept करतो".

Figure 7. VPC 10.0.0.0/16 मध्ये /20 चे 16 blocks (प्रत्येकी 4,096 IPs), 3rd octet मध्ये 0, 16, 32 ... 240 पासून. पहिले तीन: web tier 10.0.0.0/20, app tier 10.0.16.0/20 आणि DB tier 10.0.32.0/20.

15. Console मध्ये VPC बनवा

कसं:

  1. VPC console उघडा आणि वर उजवीकडे Region check करा.
  2. Your VPCs > Create VPC.
  3. Resources to create: VPC only.
  4. Name tag: my-vpc.
  5. IPv4 CIDR block: IPv4 CIDR manual input, आणि IPv4 CIDR 10.0.0.0/16.
  6. IPv6 CIDR block: No IPv6 CIDR block. Tenancy: Default.
  7. Create VPC.

काय मिळतं: नवीन VPC साठी AWS एक main route table, एक default network ACL आणि एक default security group पण बनवतो. त्यात अजून subnets नाहीत आणि internet access नाही; पुढचे chapters ते जोडतात.

माहीत असू द्या:

  1. /16 पेक्षा मोठा (उदाहरणार्थ /15) किंवा /28 पेक्षा लहान block नाकारला जातो.
  2. VPC चा पहिला block नंतर बदलता येत नाही, पण VPC ला अजून CIDR blocks जोडता येतात.
  3. बनवण्याआधी range plan करा. Production VPCs सहसा 10.0.0.0/16 सारखी private range घेतात; private ranges Private IP ranges मध्ये आहेत.
  4. VPC ला स्वतःला काहीच खर्च नाही.

16. काही चुकलं तर

  1. Console CIDR block नाकारतो: prefix /16 ते /28 च्या बाहेर आहे. Practice VPC साठी /16 वापरा.
  2. तुमचा count 2 पटीने चुकतोय: free bits परत मोजा: 32 वजा prefix, prefix स्वतः नाही.
  3. /20 किंवा /22 चा शेवटचा IP चुकतोय: फक्त ज्या octet मध्ये split आहे तो convert करा, त्याचे fixed bits तसेच ठेवा, आणि फक्त free bits 1 करा.
  4. /24 मध्ये बरोबर 256 servers plan केले: AWS प्रत्येक subnet चे 5 IPs ठेवतो; 251 साठी plan करा.
  5. तुम्ही 10.0.5.0/16 लिहिलं: block चा पहिला IP लिहा, सगळे free bits 0: 10.0.0.0/16.

Ravindra Bagale's Tip

CIDR table पाठ करू नका; ती बनवायला शिका. /32 = 1 पासून सुरू करा आणि /16 = 65,536 पर्यंत प्रत्येक step ला दुप्पट करा. Octet च्या आत split असेल, तर तो एकच octet 128 64 32 16 8 4 2 1 या places सोबत binary मध्ये लिहा, fixed bits ठेवा, free bits 1 करा आणि बेरीज करा. एका मिनिटात होईपर्यंत कागदावर practice करा: interviews मध्ये हे परत परत विचारतात.

17. संपूर्ण class एका page वर

  1. Region > AZ (त्याच metro भागातले एक किंवा जास्त data centres) > data centre > racks > hosts.
  2. Virtual server म्हणजे host चा hypervisor ने बनवलेला आणि वेगळा ठेवलेला तुकडा; t3.micro म्हणजे 2 vCPU आणि 1 GiB.
  3. सगळ्यासाठी एक server database उघडा ठेवतो; दोन servers त्याला private IP मागे लपवतात; real apps तीन tiers वापरतात: web (public), app आणि database (private).
  4. VPC म्हणजे एका Region मधलं, सगळ्या AZs वर पसरलेलं तुमचं private network. प्रत्येक EC2 VPC मध्ये असतो; प्रत्येक Region मध्ये default VPC; production मध्ये custom.
  5. Security groups ची साखळी: web 443 0.0.0.0/0 वरून, app 80 sg-web कडून, database 3306 sg-app कडून.
  6. CIDR मध्ये prefix म्हणजे fixed bits ची संख्या; IPs = 2 चा घात (32 − prefix).
  7. 10.0.0.0/16: 10.0.255.255 पर्यंत 65,536 IPs. 10.0.0.0/24: 256 IPs, subnet म्हणून 251 वापरता येतात.
  8. 10.0.0.0/20: 3rd octet 0000 1111 = 15, म्हणून 10.0.15.255, 4,096 IPs. 172.31.0.0/22: 000000 11 = 3, म्हणून 172.31.3.255, 1,024 IPs.
  9. AWS VPC आणि subnet sizes: /16 ते /28. Blocks नेहमी 2 चे घात.
  10. VPC चे प्रत्येक tier साठी subnets करा: /20 blocks 3rd octet मध्ये 16 ने पुढे जातात, आणि /16 मध्ये त्यांचे 16 बसतात.

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

Try at home

Task 1: कागदावर मोजा

  1. /18, /21, /25 आणि /28 साठी free bits ची संख्या आणि IPs ची संख्या लिहा.
  2. 10.0.0.0/21 आणि 192.168.0.0/23 चा शेवटचा IP binary मध्ये शोधा. Check: 8 × 256 आणि 2 × 256.

Task 2: VPC plan करा

  1. तुमच्या app ला 3 tiers हवेत, प्रत्येकात कमीत कमी 1,000 servers. प्रत्येक subnet साठी prefix निवडा, आणि 10.0.0.0/16 मध्ये तीन ranges लिहा.
  2. कुठला security group rule database ला फक्त app servers accept करू देतो?

Task 3: console मध्ये

  1. VPC only ने 10.0.0.0/16 VPC बनवा, मग त्याचा main route table, network ACL आणि security group उघडून बघा.
  2. /15 ने एक बनवायचा प्रयत्न करा, आणि message वाचा.
  3. झाल्यावर practice VPC delete करा.

Recap

थोडक्यात

  1. EC2 server म्हणजे मोठ्या physical host चा hypervisor ने वेगळा ठेवलेला virtual तुकडा.
  2. Real apps web, app आणि database तीन tiers मध्ये विभागतात; फक्त web tier public.
  3. VPC म्हणजे एका Region मधलं तुमचं private network; security groups tiers ना साखळीने जोडतात.
  4. CIDR prefix म्हणजे fixed bits ची संख्या; शेवटचा IP मिळवायला free bits 1 करा.
  5. AWS /16 ते /28 allow करतो, आणि प्रत्येक subnet चे 5 IPs ठेवतो.
  6. VPC चे प्रत्येक tier ला एक subnet करा, जसे तीन /20 blocks.

सराव Tasks

या scenario बद्दल

Stockholm Games हा स्टॉकहोम मधला गेमिंग व्यवसाय आहे. Erik Lindqvist त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे SEK मध्ये मोजले जातात आणि AWS resources eu-north-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 12

सोपं /16 मध्ये किती addresses?

का: VPC size ठरवायला ही संख्या लागते.

काय करायचं: Stockholm Games चा VPC 10.93.0.0/16. एकूण किती IP addresses?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं VPC बनवा

का: VPC म्हणजे AWS मधलं तुमचं स्वतःचं private network.

काय करायचं: 10.3.0.0/16 CIDR block असलेला VPC बनवा.

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

सोपं Internet gateway बनवा

का: Internet gateway शिवाय VPC मधलं काहीही internet ला पोचत नाही.

काय करायचं: नवा internet gateway बनवा.

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

मध्यम एका AZ मध्ये subnet बनवा

का: Subnets VPC range वाटतात व प्रत्येक एकाच AZ मध्ये असतो.

काय करायचं: vpc-04e54f4a2cdeadbee मध्ये eu-north-1a मध्ये 10.3.1.0/24 subnet बनवा.

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

मध्यम VPC router address शोधा

का: AWS router साठी base+1 राखतो.

काय करायचं: 10.93.4.0/24 मध्ये VPC router साठी AWS कोणता address राखतो?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम AWS /24 subnet मधले usable IPs

का: AWS प्रत्येक subnet मध्ये 5 addresses राखून ठेवतो.

काय करायचं: AWS वर 10.93.1.0/24 subnet मध्ये Stockholm Games servers साठी किती addresses वापरू शकतो?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम Internet route जोडा

का: Route table 0.0.0.0/0 internet gateway ला पाठवत असेल तरच subnet "public".

काय करायचं: Route table rtb-0244d54c4b2abb22 मध्ये सगळं internet traffic (0.0.0.0/0) igw-044d54c4b2aaa11 कडे पाठवा.

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

मध्यम Subnet route table शी जोडा

का: Associate करेपर्यंत subnet main route table वापरतो.

काय करायचं: Subnet subnet-0244d54c4b2abb1 ला route table rtb-0244d54c4b2abb22 शी associate करा.

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

मध्यम Internet gateway attach करा

का: VPC ला attach केल्याशिवाय gateway काही करत नाही.

काय करायचं: igw-044d54c4b2aaa11 ला vpc-04e54f4a2cdeadbee शी attach करा.

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

मध्यम Server साठी पहिला usable IP

का: पहिले 4 addresses AWS राखतो.

काय करायचं: AWS वर 10.93.20.0/24 मध्ये server ला मिळणारा पहिला IP?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

अवघड सर्वात लहान prefix निवडा

का: योग्य size मुळे address space वाचतो.

काय करायचं: AWS वर subnet मध्ये 100 servers हवेत. बसणारा सर्वात मोठा prefix number? उदा. /25.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

अवघड /24 चे दोन भाग

का: Public व private subnets एक block वाटून घेतात.

काय करायचं: 10.93.8.0/24 चे दोन समान subnets करा. दोन्ही CIDRs comma ने लिहा.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

झटपट उजळणी cards

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

What is a VPC: your own private network inside one AWS Region, example ThreeTierVpc 10.0.0.0/16.
Card 1 of 5: VPC म्हणजे काय? · PNG download करा
Default VPC: AWS makes one in every Region with CIDR 172.31.0.0/16, a /20 subnet in each AZ and an internet gateway.
Card 2 of 5: Default VPC · PNG download करा
CIDR host count: total IPs = 2 to the power of (32 minus prefix); /16 = 65,536, /20 = 4,096, /24 = 256; AWS subnets lose 5.
Card 3 of 5: CIDR गणित: किती IPs? · PNG download करा
AZs and subnets: one subnet lives in exactly one AZ; put a copy of each tier in AZ 2a and AZ 2b so one AZ failure does not stop the app.
Card 4 of 5: AZs आणि subnet placement · PNG download करा
VPC cheat sheet: VPC, subnet, IGW, route table, NAT gateway, /16 = 65,536 IPs, /20 = 4,096 IPs, 5 reserved IPs per subnet.
Card 5 of 5: VPC cheat sheet · PNG download करा
उजळणी card: Virtual server आणि hypervisor. एकच छोटं app चालवणारा मोठा physical server वाया जातो. Hypervisor एका host चे अनेक virtual servers करतो, प्रत्येकाचा स्वतःचा OS. प्रत्येक EC2 instance म्हणजे AWS host वरचा virtual server. 96 vCPU चा एक host अनेक t3.micro instances चालवतो.
उजळणी card: Virtual server आणि hypervisor · PNG download करा
उजळणी card: CIDR: fixed आणि free bits. VPC किंवा subnet बनवण्याआधी किती IPs मिळतील ते माहीत हवं. /N = 32 पैकी N fixed bits. Free bits = 32 - N. IPs = 2^(32-N). VPC sizes /16 (सगळ्यात मोठा) ते /28 (सगळ्यात लहान). /22 = 2^10 = 1024 IPs: 10.0.0.0 ते 10.0.3.255.
उजळणी card: CIDR: fixed आणि free bits · PNG download करा
मुलाखत card: VPC म्हणजे काय, आणि तो Regions मध्ये पसरू शकतो का?. AWS मधलं तुमचं स्वतःचं private network. एका Region मध्ये, त्याच्या AZs मध्ये पसरतो. तुमचे servers इतर customers पासून वेगळे ठेवतो. ap-south-1 मध्ये VPC 10.0.0.0/16, 1a आणि 1b मध्ये subnets.
मुलाखत card: VPC म्हणजे काय, आणि तो Regions मध्ये पसरू शकतो का? · PNG download करा
मुलाखत card: 10.0.0.0/20 मध्ये किती IPs, शेवटचा कोणता?. 4096 IPs: 2^(32-20). शेवटचा 10.0.15.255. 12 free bits = तिसऱ्या number मध्ये 256 चे 16 blocks. पुढचा subnet 10.0.16.0 पासून.
मुलाखत card: 10.0.0.0/20 मध्ये किती IPs, शेवटचा कोणता? · PNG download करा
मुलाखत card: सगळ्यात लहान आणि मोठा VPC CIDR size कोणता?. सगळ्यात मोठा /16 (65,536 IPs), लहान /28 (16 IPs). Routing सांभाळता यावं म्हणून AWS sizes मर्यादित ठेवतं. वाढीसाठी /16 निवडा.
मुलाखत card: सगळ्यात लहान आणि मोठा VPC CIDR size कोणता? · PNG download करा

अजून cards: Ravi Sir's Cards: AWS VPC and Subnets.