🏫 Amazon VPC आणि subnets शाळेच्या पद्धतीने शिका

AWS मधले तुमचे स्वतःचे खाजगी नेटवर्क, शाळेच्या campus च्या रूपात शिकवलेले: घरांचे क्रमांक, वेगवेगळ्या इमारतींमधल्या wings, corridor च्या पाट्या, मुख्य दरवाजा, पाहुण्यांच्या याद्या आणि दारावरचे पहारेकरी, बोगदे, फोनबुक (दूरध्वनी पुस्तिका) आणि bus station. प्रत्येक धडा ही शाळेची एक गोष्ट आहे — हाताने काढलेल्या आकृतीसह आणि एका lab सह — आणि campus repo मध्येच आहे: शुद्ध Python मधले VPC चे शिकवण्यासाठीचे मॉडेल (vpc/network.py, शून्य dependencies) जे subnets आखते, routes शोधते आणि एक packet desk पासून desk पर्यंत चालवून दाखवते.

🔢 CIDR🧱 subnets आणि AZs🪪 5 राखीव IPs🪧 route tables🚪 internet gateway🧍 SG विरुद्ध NACL🚇 endpoints🤝 peering🚌 Transit Gateway🔎 flow logs

🏫 भाग 1 — CAMPUS (1–6)

  • तुमचा स्वतःचा कुंपण घातलेला campus का 🏫
  • घरांचे क्रमांक आणि wings 🔢🧱
  • corridor च्या पाट्या आणि मुख्य दरवाजा 🪧🚪
  • पाहुण्यांच्या याद्या आणि wing चे दार 🧍

🌐 भाग 2 — campuses जोडणे (7–12)

  • AWS services कडे जाणारे खाजगी बोगदे 🚇
  • campus चे फोनबुक 📒
  • corridors आणि bus station 🤝🚌
  • अडथळा शोधणे, टिकाऊ बांधणी 🔎🏗️
# the 60-second wow — every lesson's campus, live:
git clone https://github.com/BaluRaut/learn-vpc-school.git && cd learn-vpc-school
python3 vpc/demo.py                # 12 lessons: plans, routes and packet walks
python3 vpc/test_vpc.py            # 12 checks across the lessons

तुम्हाला काय दिसायला हवे (छाटलेले — यश असे दिसते):

═══ why ═══
── a VPC is the school's own fenced campus inside the AWS city: your addresses, your wings, your gates
   10.20.0.0/16 → 65,536 addresses · one region · wings (subnets) live in one AZ each
   the default VPC (172.31.0.0/16, every subnet public) is for trying things — real work gets its own campus

═══ cidr ═══
── CIDR: the /number says how many leading bits are fixed — fewer fixed bits, more addresses
   10.20.0.0/16  65,536 addresses
   10.20.0.0/20   4,096 addresses
   10.20.0.0/24     256 addresses
   10.20.0.0/28      16 addresses
   10.0.0.0/16    vs the office network 10.0.0.0/16: OVERLAPS — pick another range
   10.0.128.0/17  vs the office network 10.0.0.0/16: OVERLAPS — pick another range
   10.20.0.0/16   vs the office network 10.0.0.0/16: no overlap → safe to connect later
   choose a range that will never collide with the office, other VPCs or partners — you cannot change it easily

═══ subnets ═══
── three tiers × three AZs, each /20 carved from 10.20.0.0/16
   public  ap-south-1a  10.20.0.0/20     4,091 usable
   public  ap-south-1b  10.20.16.0/20    4,091 usable
   public  ap-south-1c  10.20.32.0/20    4,091 usable
   app     ap-south-1a  10.20.48.0/20    4,091 usable
   app     ap-south-1b  10.20.64.0/20    4,091 usable
   app     ap-south-1c  10.20.80.0/20    4,091 usable
   data    ap-south-1a  10.20.96.0/20    4,091 usable
   data    ap-south-1b  10.20.112.0/20   4,091 usable
   data    ap-south-1c  10.20.128.0/20   4,091 usable
── in EVERY subnet AWS keeps 5 addresses — 10.20.0.0/24: 10.20.0.0, 10.20.0.1, 10.20.0.2, 10.20.0.3, 10.20.0.255
   so a /24 gives 251 usable addresses, not 256 · a /28 (the smallest) gives 11

═══ routes ═══
── the corridor sign: the MOST SPECIFIC route that matches wins; 'local' is always there
   → 10.20.96.15    matches 10.20.0.0/16  → local
   → 10.30.4.7      matches 10.30.0.0/16  → pcx-partner
   → 52.219.40.10   matches pl-s3         → vpce-s3
   → 93.184.216.34  matches 0.0.0.0/0     → nat-a

═══ igw ═══
── a subnet is 'public' only because its route table sends 0.0.0.0/0 to the internet gateway
   web → internet :443  ✅  🧍 sg-web out ✓ · 🚦 acl-open rule 100 ALLOW · 🪧 rt-public: 0.0.0.0/0 → igw-school · 🚪 leaves the subnet via igw-school
   db → internet :443  🚫  🧍 sg-db out ✓ · 🚦 acl-data rule 110 ALLOW · 🪧 no route → dropped
   and the desk also needs a public IP (or an Elastic IP) — the gate needs an address to write back to

═══ guards ═══
── inside the campus: the wing door (NACL, stateless) and the desk's guest list (security group, stateful)
   web → 10.20.48.25:8080  ✅
        🧍 sg-web out ✓
        🚦 acl-open rule 100 ALLOW
        🪧 rt-public: 10.20.0.0/16 → local
        🚦 acl-open rule 100 ALLOW (destination subnet, in)
        🧍 sg-app in ✓
   app → 10.20.96.15:5432  ✅
        🧍 sg-app out ✓
        🚦 acl-open rule 100 ALLOW
        🪧 rt-private-a: 10.20.0.0/16 → local
        🚦 acl-data rule 100 ALLOW (destination subnet, in)
        🧍 sg-db in ✓
   web → 10.20.96.15:5432  🚫
        🧍 sg-web out ✓
        🚦 acl-open rule 100 ALLOW
        🪧 rt-public: 10.20.0.0/16 → local
        🚦 acl-data rule 110 ALLOW (destination subnet, in)
        ⛔ sg-db in — not on the guest list

═══ endpoints ═══
── reaching S3 from a private wing: through the NAT (paid per GB) or a gateway endpoint (free, never leaves AWS)
   rt-private-a  → S3 52.219.40.10 via pl-s3 → vpce-s3
   rt-data       → S3 52.219.40.10 via pl-s3 → vpce-s3
   gateway endpoints: S3 and DynamoDB, a route-table entry · interface endpoints (PrivateLink): an ENI with a
   private IP in your subnet for many other services (SQS, ECR, Secrets Manager…), billed per hour + per GB

═══ dns ═══
── every VPC has a resolver at base + 2 = 10.20.0.2 (and 169.254.169.253); enableDnsSupport + enableDnsHostnames on
   db.school.internal                         → 10.20.96.15
   app.school.internal                        → 10.20.48.25
   db.school.internal (from the partner VPC)  → no answer — private zone not associated with that VPC
   a private hosted zone answers only inside the VPCs it is associated with

═══ peering ═══
── peering joins two campuses with a private corridor — no overlap allowed, and it is NOT transitive
   10.20.0.0/16 ↔ 10.30.0.0/16: possible
   10.20.0.0/16 ↔ 10.20.128.0/17: refused — the ranges overlap
   school → partner: ✅ peered
   partner → vendor: ✅ peered
   school → vendor: 🚫 no — school↔partner and partner↔vendor does not give school↔vendor
   both sides also need routes to each other's CIDR through the peering connection

═══ tgw ═══
── a Transit Gateway is the district bus station: every VPC attaches once, route tables decide who may talk
   prod       → shared     ✅
   dev        → shared     ✅
   dev        → prod       🚫 kept apart by the TGW route table
   office-vpn → prod       ✅
   4 VPCs with peering need 6 corridors (n·(n−1)/2); with a TGW, 4 attachments

═══ troubleshoot ═══
── VPC flow logs: one line per conversation — source, destination, ports, and ACCEPT or REJECT
   10.20.48.25    → 10.20.96.15   :5432  ACCEPT
   10.20.0.10     → 10.20.96.15   :5432  REJECT
   198.51.100.9   → 10.20.0.10    :22    REJECT
── why is web → db :5432 rejected? walk it like Reachability Analyzer:
   🧍 sg-web out ✓
   🚦 acl-open rule 100 ALLOW
   🪧 rt-public: 10.20.0.0/16 → local
   🚦 acl-data rule 110 ALLOW (destination subnet, in)
   ⛔ sg-db in — not on the guest list

═══ design ═══
── a production campus: 3 AZs × (public · app · data), one NAT per AZ, S3 + DynamoDB gateway endpoints, flow logs on
   9 subnets use 36,864 of 65,536 addresses — 28,672 left for growth (EKS pods eat addresses fast)
   public: load balancers + NAT only · app: desks, no public IPs · data: databases, no route to the internet at all

✅ done — the campus answered every lesson
🎒 धडा 01 आधी: तुम्हाला फक्त Python 3 लागेल — बाकी काही नाही; AWS account नको, SDK नको. Lab हे VPC चे शिकवण्यासाठीचे मॉडेल आहे — खऱ्या account मध्ये VPC Reachability Analyzer आणि flow logs "A ला B पर्यंत का पोहोचता येत नाही?" याचे उत्तर देतात. चांगले शेजारी: NAT school (ज्या फाटकातून private wings बाहेर जातात), Networking school (IP, TCP, DNS अगदी पायापासून) आणि EC2 school (या wings मध्ये राहणारे desks).

🗺️ संपूर्ण चित्र — एक आकृती, पूर्ण कोर्स

संपूर्ण कोर्स एका कॅनव्हासवर. 4K आवृत्तीसाठी क्लिक करा.

The big picture: the campus (why a VPC, CIDR, subnets and AZs, route tables, internet gateway, security groups vs NACLs) and connecting campuses (endpoints, DNS, peering, Transit Gateway, troubleshooting, production design)

🏫 भाग 1 — campus (धडे 1–6)

एक git branch = एक कल्पना; branch 04 मध्ये धडे 01–04 आहेत. प्रत्येक plan, route आणि packet walk vpc/network.py मधूनच येतो — AWS account ची गरज नाही.

1

🏫 VPC का

AWS शहरातला शाळेचा स्वतःचा कुंपण घातलेला campus — तुमचे पत्ते, तुमच्या wings, तुमची दारे; तुम्ही मार्ग बांधल्याशिवाय आत काहीही येत नाही.lesson-01-why-vpcधडा वाचा →आकृती पहा ↗
2

🔢 CIDR आणि IP पत्ते

campus साठी घरांचे क्रमांक — /16, /20 आणि /24 चा अर्थ, private ranges, आणि range कधीच overlap का होऊ नये.lesson-02-cidr-ipsधडा वाचा →आकृती पहा ↗
3

🧱 Subnets आणि AZs

campus च्या wings, प्रत्येक एका इमारतीत — प्रत्येक AZ साठी range कापा; AWS प्रत्येक subnet मधले 5 पत्ते स्वतःकडे ठेवते.lesson-03-subnets-azsधडा वाचा →आकृती पहा ↗
4

🪧 Route tables

corridor च्या पाट्या — सर्वात नेमका (most specific) route जिंकतो, 'local' नेहमी असतो, प्रत्येक wing साठी एक table.lesson-04-route-tablesधडा वाचा →आकृती पहा ↗
5

🚪 Internet gateway आणि public subnets

मुख्य दरवाजा — subnet public असतो तो फक्त त्याचा route 0.0.0.0/0 → igw सांगतो म्हणून, आणि desk कडे public IP असतो म्हणून.lesson-05-igw-publicधडा वाचा →आकृती पहा ↗
6

🧍 Security groups विरुद्ध NACLs

desk ची पाहुण्यांची यादी (stateful) आणि wing चे दार (stateless, क्रमांक असलेले) — एक packet दोन्हींमधून चालवून पाहा.lesson-06-sg-vs-naclधडा वाचा →आकृती पहा ↗

🌐 भाग 2 — campuses जोडणे (धडे 7–12)

खऱ्या नेटवर्क्सना काय लागते: internet ऐवजी endpoints, DNS, peering, Transit Gateway hub, troubleshooting आणि production layout.

7

🚇 VPC endpoints

AWS services कडे जाणारा खाजगी बोगदा — S3/DynamoDB साठी gateway endpoints (मोफत), बाकीच्यांसाठी interface endpoints (PrivateLink).lesson-07-endpointsधडा वाचा →आकृती पहा ↗
8

📒 VPC मधले DNS

campus चे फोनबुक — base+2 वरचा resolver, private hosted zones, आणि फक्त आतच चालणारी नावे.lesson-08-dnsधडा वाचा →आकृती पहा ↗
9

🤝 VPC peering

दोन campuses मधला खाजगी corridor — overlap नको, दोन्ही बाजूंना routes, आणि तो transitive नाही (NOT transitive).lesson-09-peeringधडा वाचा →आकृती पहा ↗
10

🚌 Transit Gateway

जिल्ह्याचे bus station — प्रत्येक VPC आणि office एकदाच attach होतात; कोण कोणाशी बोलू शकतो हे TGW route tables ठरवतात.lesson-10-transit-gatewayधडा वाचा →आकृती पहा ↗
11

🔎 Flow logs आणि Reachability Analyzer

A ला B पर्यंत का पोहोचता येत नाही? — flow logs वाचा, मार्ग hop by hop चालून पाहा, नेमका अडथळा ओळखा.lesson-11-troubleshootingधडा वाचा →आकृती पहा ↗
12

🏗️ Production VPC design

टिकण्यासाठी बांधलेला campus — 3 AZs × public/app/data, प्रत्येक AZ मध्ये एक NAT, endpoints, flow logs, वाढीसाठी जागा.lesson-12-production-designधडा वाचा →आकृती पहा ↗
🗣️ हे मोठ्याने समजावून सांगा — धडा 12 नंतर: (1) /24 subnet मध्ये 256 नव्हे तर 251 वापरण्याजोगे पत्ते का मिळतात? (2) subnet ला "public" काय बनवते — आणि desk पर्यंत पोहोचता यावे म्हणून त्याला आणखी काय लागते? (3) security group ने port 5432 ला परवानगी दिली तरी connection अयशस्वी होते — कोणत्या stateless गोष्टीत rule कमी असू शकतो? (4) peering वापरून school ला partner मार्गे vendor पर्यंत का पोहोचता येत नाही? (5) private subnet NAT शिवाय S3 पर्यंत कसे पोहोचते? (6) web → db :5432 hop by hop चालून पाहा आणि अडथळा ओळखा.
🎓 याच शाळेतून: NAT · API Gateway · EC2 · Networking · AWS — तेच उपमांचे विश्व, तीच branch-by-branch पद्धत.

📐 धड्यांच्या आकृत्या — क्रमांक अनुसरा

प्रत्येक धडा एका क्रमांकित बॉक्स-आणि-बाण आकृतीत — स्वतंत्र पानावरही.

1 🏫 VPC का

AWS शहरातला शाळेचा स्वतःचा कुंपण घातलेला campus — तुमचे पत्ते, तुमच्या wings, तुमची दारे; तुम्ही मार्ग बांधल्याशिवाय आत काहीही येत नाही.

🧒 सोप्या शब्दांत

एका मोठ्या शहरात अनेक शाळा असतात. आपली शाळा स्वतःच्या campus भोवती कुंपण घालते आणि प्रत्येक खोलीला स्वतःचा नंबर देते. शाळेने दरवाजा बांधल्याशिवाय रस्त्यावरून कोणीही आत येत नाही. AWS मध्ये त्या कुंपण घातलेल्या campus ला VPC म्हणतात.

📖 नवे शब्दVPC — AWS मधील तुमचे स्वतःचे खाजगी network, शाळेच्या कुंपण घातलेल्या campus सारखेregion — AWS चे एक शहर, जसे Mumbai मधील ap-south-1; VPC एका region मध्ये असतोdefault VPC — आधीच बनवलेला campus जिथे प्रत्येक wing public असतो; प्रयोगासाठी ठीक, खऱ्या कामासाठी नाहीIP address — network वरील एका desk चा नंबर, जसे 10.20.0.10
1🏙️ AWS शहर (Region ap-south-1) — तुमचा VPC म्हणजे शाळेचा स्वतःचा कुंपण घातलेला campusAWS शहर = एक Regionदुसऱ्या account चाcampus — तुम्हीआत पाहू शकत नाही🏫 शाळेचा campus · VPC 10.20.0.0/1610.20.0.0/16 → 65,536 पत्ते · एक region · प्रत्येक wing एकाच AZ मध्ये🏢 ap-south-1apublic-a10.20.0.0/20web10.20.0.10app-a10.20.48.0/20app10.20.48.25data-a10.20.96.0/20db10.20.96.15🏢 ap-south-1bpublic-b10.20.16.0/20बाकapp-b10.20.64.0/20बाकdata-b10.20.112.0/20बाक🏢 ap-south-1cpublic-c10.20.32.0/20बाकapp-c10.20.80.0/20बाकdata-c10.20.128.0/20बाकigw-school🌍 इंटरनेटआत येण्याचा मार्ग फक्ततुम्ही बांधला म्हणूनच🔢 तुमचे पत्ते10.20.0.0/16 — एक rangeजी campus वरचेदुसरे कोणी वापरू शकत नाही🧱 तुमच्या wingssubnets, प्रत्येकएका AZ इमारतीत🚪 तुमची दारेतुम्ही मार्ग बांधल्याशिवायआत काहीही येत नाही2🏫 default VPC (प्रयोगांसाठी) विरुद्ध तुमचा स्वतःचा campus (खऱ्या कामासाठी)default VPC · 172.31.0.0/16default 1apublicdefault 1bpublicdefault 1cpublicप्रत्येक subnet public — प्रत्येक desk internet पासून फक्त एका दारावरआणि प्रत्येक default VPC 172.31.0.0/16 च असतो — दोन default VPCs overlap होताततुमचा स्वतःचा · 10.20.0.0/16publicफक्त LB + NATapppublic IPs नाहीतडेटाinternet route नाहीफक्त public wing च दाराला स्पर्श करते — खऱ्या कामाला स्वतःचा campus मिळतो10.20.0.0/16 विरुद्ध office 10.0.0.0/16: overlap नाही → नंतर जोडणे सुरक्षित
⏪ आधी

सर्व servers एकाच सामायिक सपाट network वर, किंवा प्रत्येक subnet public असलेला default VPC: स्वतःचे कुंपण नव्हतेच.

💡 काय

VPC म्हणजे AWS शहरातील शाळेचा स्वतःचा कुंपण घातलेला campus: तुमचे पत्ते, तुमच्या wings, आणि तुम्ही बांधलेले दरवाजेच.

⚙️ कसे

Campus आहे एका region मधील 10.20.0.0/16: 65,536 पत्ते, तर default VPC 172.31.0.0/16 फक्त प्रयोग करून पाहण्यासाठी.

🎯 का

तुम्ही मार्ग बांधल्याशिवाय काहीही आत येत नाही की बाहेर जात नाही, म्हणून प्रत्येक उघडा मार्ग हा तुमचा जाणूनबुजून घेतलेला निर्णय असतो.

🚀 पुढे

पुढचा धडा campus ला घरांचे नंबर देतो: /16, /20 आणि /24 चा अर्थ काय, आणि ranges कधीच overlap का होऊ नयेत.

🧪 इथे करून पाहा — campus साठी range निवडा, मग अनोळखी व्यक्तीला desk पर्यंत पोहोचायला काय लागते ते पाहा

संपूर्ण धडा 01 वाचा →

2 🔢 CIDR आणि IP पत्ते

campus साठी घरांचे क्रमांक — /16, /20 आणि /24 चा अर्थ, private ranges, आणि range कधीच overlap का होऊ नये.

🧒 सोप्या शब्दांत

रस्त्यावरील प्रत्येक घराला नंबर लागतो, आणि campus ला नंबरांची पूर्ण range लागते. शेवटचा /16 सांगतो की नंबरचा किती भाग ठरलेला आहे; बाकी खोल्यांसाठी मोकळा. Slash नंतरचा आकडा लहान तर खोल्या जास्त. दोन campuses नी तेच नंबर निवडले, तर ते जोडल्यावर पत्रे हरवतात.

📖 नवे शब्दCIDR — पत्त्यांची range लिहिण्याची पद्धत, जसे 10.20.0.0/16/16 — पहिले 16 bits ठरलेले, म्हणून 65,536 पत्त्यांना जागा उरतेprivate range — फक्त आतल्या networks साठी राखलेले नंबर, जसे 10.x.x.xoverlap — दोन ranges मध्ये काही नंबर सारखे, म्हणून त्या नीट जोडता येत नाहीत
1🔢 घराचा क्रमांक 32 bits चा असतो — /number सांगतो की सुरुवातीचे किती bits ठरलेले आहेत10000010102000010100000000000000000000...10.20.0.0/160000101000010100000000000000000016 ठरलेले16 मोकळे → 2^1665,536पत्ते10.20.0.0/200000101000010100000000000000000020 ठरलेले12 मोकळे → 2^124,096पत्ते10.20.0.0/240000101000010100000000000000000024 ठरलेले8 मोकळे → 2^8256पत्ते10.20.0.0/280000101000010100000000000000000028 ठरलेले4 मोकळे → 2^416पत्तेछायांकित = campus चा भाग (ठरलेला) · पांढरे = तुम्ही वाटायचे घरांचे क्रमांक · जितके कमी ठरलेले bits, तितके जास्त पत्ते2🗺️ तीच जमीन, लहान लहान तुकड्यांत कापलेली/1665,536/20/16संपूर्ण campus65,536/20एक wing (1/16)4,096/24एक मजला (1/256)256/28सर्वात लहान subnet16/number वर प्रत्येक +4जमिनीला 16 ने भागतेप्रत्येक चौकोन प्रमाणात आहे: सोळा /20 wings एका /16 campus मध्ये मावतात3🚧 range कधीच overlap होऊ नयेपत्त्यांचा रस्ता — 10.x.x.x च्या दोन टप्प्यांवर zoom करून… …10.0.0.010.0.128.010.1.0.010.20.0.010.21.0.0office चे network10.0.0.0/16उमेदवार10.0.0.0/16OVERLAP होते — दुसरी range निवडाउमेदवार10.0.128.0/17OVERLAP होते — दुसरी range निवडाउमेदवार10.20.0.0/16overlap नाही → नंतर जोडणे सुरक्षितअशी range निवडा जी office, इतर VPCsकिंवा partners शी कधीच टक्कर देणार नाही — ती नंतर सहज बदलता येत नाही
⏪ आधी

अंदाजाने पत्ते निवडणे तोपर्यंतच चालले, जोपर्यंत दोन networks जोडले गेले नाहीत आणि दोघांनी वेगळ्या खोल्यांसाठी 10.0.0.0/16 वापरलेले निघाले.

💡 काय

CIDR म्हणजे घरांच्या नंबरांची योजना: /number सांगतो की सुरुवातीचे किती bits ठरलेले आहेत; कमी bits ठरलेले, तर जास्त पत्ते.

⚙️ कसे

10.20.0.0/16 मध्ये 65,536, /20 मध्ये 4,096, /24 मध्ये 256 आणि /28 मध्ये 16; 10.0.0.0/16 office शी overlap होतो, 10.20.0.0/16 होत नाही.

🎯 का

Office, इतर VPCs किंवा partners शी कधीच न भिडणारी range नंतर जोडता येते, आणि ती नंतर बदलणे अवघड असते.

🚀 पुढे

पुढचा धडा campus चे wings मध्ये भाग करतो: प्रत्येक Availability Zone साठी subnets, आणि प्रत्येकात AWS ठेवून घेतो ते 5 पत्ते.

🧪 इथे करून पाहा — /prefix सरकवा — fixed bits, आकार आणि 5 राखीव पत्ते पाहा; मग overlap तपासा
20

संपूर्ण धडा 02 वाचा →

3 🧱 Subnets आणि AZs

campus च्या wings, प्रत्येक एका इमारतीत — प्रत्येक AZ साठी range कापा; AWS प्रत्येक subnet मधले 5 पत्ते स्वतःकडे ठेवते.

🧒 सोप्या शब्दांत

Campus चे wings मध्ये भाग केले जातात: दरवाजाजवळचा public wing, app wing आणि data wing. प्रत्येक wing एकाच इमारतीत असतो, आणि एका इमारतीची वीज गेली तर म्हणून आपण wings तीन इमारतींमध्ये बनवतो. प्रत्येक wing मधील पाच खोली-नंबर कार्यालय स्वतःसाठी ठेवते, म्हणून 256 खोल्यांच्या wing मध्ये विद्यार्थ्यांसाठी 251 उरतात.

📖 नवे शब्दsubnet — campus चा एक wing, 10.20.48.0/20 सारखी छोटी rangeAvailability Zone — region मधील स्वतःची वीज आणि cooling असलेली एक वेगळी इमारतreserved addresses — AWS प्रत्येक subnet मध्ये ठेवतो ते 5 नंबर: .0, .1, .2, .3 आणि शेवटचाtier — स्वतःचा wing असलेला app चा एक थर: public, app किंवा data
1🧱 तीन tiers × तीन AZ इमारती — 10.20.0.0/16 मधून कोरलेल्या नऊ /20 wings🏫 VPC 10.20.0.0/16🏢 ap-south-1apublic-a10.20.0.0/204,091 वापरण्याजोगेweb10.20.0.10app-a10.20.48.0/204,091 वापरण्याजोगेapp10.20.48.25data-a10.20.96.0/204,091 वापरण्याजोगेdb10.20.96.15🏢 ap-south-1bpublic-b10.20.16.0/204,091 वापरण्याजोगेapp-b10.20.64.0/204,091 वापरण्याजोगेdata-b10.20.112.0/204,091 वापरण्याजोगे🏢 ap-south-1cpublic-c10.20.32.0/204,091 वापरण्याजोगेapp-c10.20.80.0/204,091 वापरण्याजोगेdata-c10.20.128.0/204,091 वापरण्याजोगेsubnet फक्त एकाच (ONE) AZ मध्ये राहतो — एक इमारत गेली तरी उरलेल्या दोन इमारतींतील wings चालू राहतात2🪑 प्रत्येक (EVERY) subnet मध्ये AWS 5 पत्ते राखून ठेवते — 10.20.0.0/24 मधून 251 मिळतात, 256 नाही10.20.0.0network10.20.0.1VPC router10.20.0.2DNS10.20.0.3भविष्यातील वापर10.20.0.410.20.0.5.6 … .252तुमचे desks.253.254.255broadcast.4 … .254 = 251 वापरण्याजोगे desks10.20.0.0, .1, .2, .3, .255 — राखीवनियम कधीच बदलत नाही: usable = 2^(32 − prefix) − 53🔬 सर्वात लहान subnet, 10.20.0.0/28 — सगळे 16 पत्ते, 11 वापरण्याजोगे.0net.1router.2DNS.3भविष्य.4खिडकी.5खिडकी.6खिडकी.7खिडकी.8खिडकी.9खिडकी.10खिडकी.11खिडकी.12खिडकी.13खिडकी.14खिडकी.15bcast16 − 5 = 11 — /28 हा AWS परवानगी देणारा सर्वात लहान subnet आहे, म्हणून वाटते त्यापेक्षा मोठ्या wings ची योजना करा
⏪ आधी

एकाच मोठ्या सपाट network मध्ये web, app आणि database एकाच इमारतीत शेजारी होते, म्हणून एक बिघाड किंवा चूक सगळ्यांना लागत असे.

💡 काय

Subnet म्हणजे campus चा एक wing, जो नेमक्या एका AZ मध्ये असतो; प्रत्येक subnet मधील 5 पत्ते AWS स्वतःसाठी ठेवतो.

⚙️ कसे

public-a म्हणजे 10.20.0.0/20, app-a 10.20.48.0/20, data-a 10.20.96.0/20; /24 मधून .0 .1 .2 .3 .255 जातात, 251 उरतात.

🎯 का

तीन AZs मध्ये तीन tiers म्हणजे एक इमारत अंधारात गेली तरी उरलेल्या दोन सेवा देत राहतात, आणि प्रत्येक tier वेगळा राहतो.

🚀 पुढे

पुढचा धडा corridor च्या पाट्या लावतो: route tables, जिथे सर्वात नेमका route जिंकतो आणि local नेहमी असतो.

🧪 इथे करून पाहा — plan_subnets() प्रमाणे VPC कोरा: प्रत्येक (tier, AZ) साठी एक block, क्रमाने
20

संपूर्ण धडा 03 वाचा →

4 🪧 Route tables (corridor च्या पाट्या)

corridor च्या पाट्या — सर्वात नेमका (most specific) route जिंकतो, 'local' नेहमी असतो, प्रत्येक wing साठी एक table.

🧒 सोप्या शब्दांत

प्रत्येक corridor च्या कोपऱ्यावर एक पाटी असते. '10.20 ने सुरू होणाऱ्या खोल्या: आतच राहा.' 'ग्रंथालयाची पुस्तके: बोगद्याने जा.' 'बाकी सगळे: दरवाजाकडे जा.' दोन पाट्या जुळल्या तर सर्वात नेमकी पाटी पाळायची. प्रत्येक wing ची स्वतःची पाट्यांची जोडी असते.

📖 नवे शब्दroute table — wing साठी पाट्यांची यादी: कोणती पत्ता-range कोणत्या पुढच्या थांब्याकडे जातेlocal route — campus च्या स्वतःच्या range चे traffic आतच ठेवणारी पाटी; ती नेहमी असतेlongest prefix match — अनेक पाट्या जुळल्या तर सर्वात नेमकी पाटी जिंकते0.0.0.0/0 — कोणताही पत्ता जुळणारी 'बाकी सगळे' पाटी
1🪧 rt-private-a ची corridor ची पाटी — प्रत्येक packet ती वाचतो, सर्वात नेमका (MOST SPECIFIC) match जिंकतोrt-private-a10.20.0.0/16 → local10.30.0.0/16 → pcx-partnerpl-s3 → vpce-s30.0.0.0/0 → nat-a'local' नेहमी असतोच —तो delete करता येत नाही📋 prefix list pl-s3 (S3 च्या ranges)52.219.0.0/16 · 3.5.0.0/16packet कुठे जातो…10.20.0.0/1610.30.0.0/16pl-s30.0.0.0/0विजेता → दार10.20.96.15✓ /1616 bits जुळतात— match नाही— match नाही✓ /00 bits जुळतात🏫 local10.30.4.7— match नाही✓ /1616 bits जुळतात— match नाही✓ /00 bits जुळतात🤝 pcx-partner52.219.40.10— match नाही— match नाही✓ /1616 bits जुळतात✓ /00 bits जुळतात🚇 vpce-s393.184.216.34— match नाही— match नाही— match नाही✓ /00 bits जुळतात🚪 nat-aपिवळा cell जिंकतो: सर्वाधिक (MOST) bits निश्चित करणारा route — 0.0.0.0/0 सगळ्याशी जुळतो, म्हणून दुसरे काहीच जुळत नसेल तेव्हाच तो जिंकतो2📏 "सर्वात नेमका" (most specific) = सुरुवातीचे सर्वाधिक bits समानpacket 52.219.40.1000110100110110110010100000001010pl-s3 → 52.219.0.0/160011010011011011000000000000000016 bits जुळतात → /16डिफॉल्ट → 0.0.0.0/0000000000000000000000000000000000 bits जुळण्याची गरज → प्रत्येक packet शी जुळतो, त्यापेक्षा लांब कोणत्याही prefix पुढे हरतो3🗂️ प्रत्येक wing साठी एक table (vpc/demo.py मधील campus)rt-public10.20.0.0/16 → local0.0.0.0/0 → igw-schoolwing public-art-private-a10.20.0.0/16 → local0.0.0.0/0 → nat-apl-s3 → vpce-s3wing app-art-data10.20.0.0/16 → localpl-s3 → vpce-s3wing data-a
⏪ आधी

Corridors मध्ये पाट्या नसत्या तर wing मधून निघालेल्या packet ला कळले नसते की पत्ता शेजारी आहे, partner कडे आहे की बाहेर.

💡 काय

Route table म्हणजे wing साठी corridor ची पाटी: जुळणाऱ्यांपैकी सर्वात नेमका route जिंकतो, आणि 'local' नेहमी असतो.

⚙️ कसे

rt-private-a मध्ये 10.20.96.15 → local, 52.219.40.10 → pl-s3 → vpce-s3, 93.184.216.34 → 0.0.0.0/0 → nat-a.

🎯 का

प्रत्येक wing ला स्वतःची पाटी मिळते, म्हणून traffic कुठे जाऊ शकते ते वाचता येणाऱ्या एका table मध्ये लिहिलेले असते, diagram वरून अंदाज नाही.

🚀 पुढे

पुढचा धडा मुख्य दरवाजा बांधतो: internet gateway, आणि त्याच्याकडे जाणारा route च subnet ला public का बनवतो.

🧪 इथे करून पाहा — destination टाइप करा — जुळणाऱ्या प्रत्येक route वर खूण होते, सर्वात लांब prefix जिंकतो (धडा 4 मधील rt-private-a)

संपूर्ण धडा 04 वाचा →

5 🚪 Internet gateway आणि public subnets

मुख्य दरवाजा — subnet public असतो तो फक्त त्याचा route 0.0.0.0/0 → igw सांगतो म्हणून, आणि desk कडे public IP असतो म्हणून.

🧒 सोप्या शब्दांत

Campus ला रस्त्याकडे एकच मुख्य दरवाजा असतो. ज्या wing च्या पाटीवर 'बाकी सगळे मुख्य दरवाजाकडे' लिहिले असेल, तोच wing public म्हणवतो. Web desk कडे ती पाटी आणि स्वतःचा रस्त्यावरचा पत्ता आहे, म्हणून तो जगाशी बोलू शकतो. Data wing कडे अशी पाटी नाही, म्हणून त्याची रस्त्याकडची पत्रे सरळ टाकून दिली जातात.

📖 नवे शब्दinternet gateway — internet कडे जाणारा campus चा मुख्य दरवाजा, जसे igw-schoolpublic subnet — ज्याचा route table 0.0.0.0/0 internet gateway कडे पाठवतो असा wingprivate subnet — internet gateway कडे route नसलेला wingElastic IP — तुम्ही स्वतःकडे ठेवून desk ला जोडता असा कायमचा public पत्ता
1🚪 wing "public" असते ते फक्त तिची corridor ची पाटी 0.0.0.0/0 ला मुख्य दरवाजाकडे पाठवते म्हणून🏫 campus 10.20.0.0/16igw-school🌍 93.184.216.34 :443public-a · rt-public10.20.0.0/20web10.20.0.100.0.0.0/0 → igw-schooldata-a · rt-data10.20.96.0/20db10.20.96.1510.20.0.0/16 → localpl-s3 → vpce-s30.0.0.0/0 नाहीrt-data वरweb → internet :443 ✅🧍 sg-web out ✓🚦 acl-open rule 100 ALLOW🪧 rt-public: 0.0.0.0/0 → igw-school🚪 igw-school मार्गे subnet मधून बाहेर पडतोdb → internet :443 🚫🧍 sg-db out ✓🚦 acl-data rule 110 ALLOW🪧 route नाही → drop झालाpython3 vpc/demo.py igw मधून2🏷️ आणि desk ला public IP (किंवा Elastic IP) पण लागतो — उत्तर परत पाठवण्यासाठी मुख्य दरवाजाला पत्ता लागतोpublic-aweb10.20.0.10🏷️ + public IP / EIPigw-schoolउत्तर public IP च्या पत्त्यावर येते;मुख्य दरवाजा ते परत 10.20.0.10 कडे वळवतोpublic-aweb10.20.0.10फक्त private IPigw-schoolpublic पत्ता नाही → internet लाउत्तर परत पाठवता येत नाही; 10.20.x.x private आहे
⏪ आधी

लोक नावावरून subnet ला public म्हणत, आणि मग तिथला server internet पर्यंत का पोहोचत नाही याचे आश्चर्य करत.

💡 काय

Internet gateway म्हणजे मुख्य दरवाजा; subnet public असतो तो फक्त त्याचा route 0.0.0.0/0 त्याच्याकडे पाठवतो म्हणून.

⚙️ कसे

web → internet :443 हे rt-public च्या 0.0.0.0/0 → igw-school ने बाहेर जाते; db → internet :443 ला route च नाही, म्हणून drop.

🎯 का

Public म्हणजे route आणि public IP किंवा Elastic IP, म्हणून databases ना तो route कधीच न दिल्याने ते आपोआप पोहोचण्याबाहेर राहतात.

🚀 पुढे

पुढचा धडा रक्षक आणतो: प्रत्येक desk वरची security group ची पाहुण्यांची यादी आणि प्रत्येक wing च्या दारावरचा क्रमांकित NACL.

🧪 इथे करून पाहा — desk ला internet वर पाठवा (93.184.216.34 :443) — route, मुख्य दरवाजा किंवा public IP काढून टाका

संपूर्ण धडा 05 वाचा →

6 🧍 Security groups विरुद्ध NACLs

desk ची पाहुण्यांची यादी (stateful) आणि wing चे दार (stateless, क्रमांक असलेले) — एक packet दोन्हींमधून चालवून पाहा.

🧒 सोप्या शब्दांत

प्रत्येक wing च्या दारावर क्रमांकित नियमांचा कागद घेतलेला रक्षक असतो; तो आत येणाऱ्या आणि बाहेर जाणाऱ्या सगळ्यांना तपासतो आणि कोणालाच लक्षात ठेवत नाही. प्रत्येक desk ची स्वतःची पाहुण्यांची यादी असते: पाहुण्याला आत घेतले की त्याचे उत्तर आपोआप बाहेर जाऊ दिले जाते. Web desk database कडे गेला, wing चे दार पार केले, पण database desk च्या यादीत नव्हता.

📖 नवे शब्दsecurity group — desk ची पाहुण्यांची यादी: फक्त allow नियम, आणि उत्तरे आपोआप परत जाऊ दिली जातातNACL — wing च्या दाराचा क्रमांकित नियमांचा कागद, सर्वात लहान नंबर आधी, allow किंवा denystateful — संवाद लक्षात ठेवतो, म्हणून उत्तरासाठी वेगळा नियम लागत नाहीstateless — काहीच लक्षात ठेवत नाही, म्हणून उत्तरांसाठी स्वतःचा नियम लागतोephemeral ports — ज्यांवरून उत्तरे परत येतात ते ports 1024-65535
1🚦 wing चे दार — NACL acl-data (stateless, क्रमांकित)acl-datadata-aIN तपासतेआणि OUT⬇ inbound (क्रमांकित, पहिला match जिंकतो)#actportfrom100ALLOWtcp 543210.20.48.0/20110ALLOWtcp 1024–655350.0.0.0/0*DENYसर्वसर्व काही⬆ outbound (उत्तरांनाही rule लागतो)#actportकडे100ALLOWtcp 1024–6553510.20.0.0/16110ALLOWtcp 4430.0.0.0/0*DENYसर्वसर्व काहीstateless: ते प्रत्येक packet विसरते — बाहेर जाताना उत्तर पुन्हा तपासले जाते2🧍 पाहुण्यांची यादी — security groups (stateful, फक्त allow)प्रत्येक desk वर📋 inbound पाहुण्यांच्या याद्याsg-webtcp 443, 0.0.0.0/0 कडूनsg-apptcp 8080, 10.20.0.0/20 कडूनsg-dbtcp 5432, 10.20.48.0/20 कडूनoutbound (तिन्ही): all → 0.0.0.0/0stateful: कोणाला आत सोडले ते त्याच्या लक्षात राहते —उत्तर rule शिवाय परत बाहेर जातेdeny rules नाहीत: यादीत नसलेल्या कोणालाही आत सोडलेच जात नाही3🚶 एक packet चालवून पाहा: पाहुण्यांची यादी out → wing चे दार out → corridor ची पाटी → wing चे दार in → पाहुण्यांची यादी insource desk (स्रोत)🧍 SG out🚦 NACL out🪧 route🚦 NACL in (dest)🧍 SG in (dest)web → 10.20.48.25:8080 ✅web10.20.0.10sg-web out ✓acl-open rule 100ALLOWrt-public:10.20.0.0/16 → localacl-open rule 100ALLOWsg-app in ✓appapp → 10.20.96.15:5432 ✅app10.20.48.25sg-app out ✓acl-open rule 100ALLOWrt-private-a:10.20.0.0/16 → localacl-data rule 100ALLOWsg-db in ✓dbweb → 10.20.96.15:5432 🚫web10.20.0.10sg-web out ✓acl-open rule 100ALLOWrt-public:10.20.0.0/16 → localacl-data rule 110ALLOWsg-db in — पाहुण्यांच्यायादीत नाहीdbदार (acl-data rule 110, उत्तरांसाठी असलेले 1024–65535) योगायोगाने :5432 आत सोडते — web ला थांबवते ती पाहुण्यांची यादी sg-db
⏪ आधी

फक्त routes असताना कोणताही desk कोणत्याही port वर कोणत्याही desk पर्यंत पोहोचू शकत असे, म्हणून बिघडलेला web server database शी बोलू शकत असे.

💡 काय

Security group म्हणजे desk ची stateful, फक्त allow असलेली पाहुण्यांची यादी; NACL म्हणजे wing चे दार: stateless, क्रमांकित नियम.

⚙️ कसे

app → db:5432 पुढे जाते; web → db:5432 acl-data rule 110 पार करते पण sg-db वर थांबते, जिथे फक्त 10.20.48.0/20 आहे.

🎯 का

SG उत्तरे आपोआप लक्षात ठेवतो; NACL ठेवत नाही, म्हणून परतीच्या traffic साठी त्याला ports 1024-65535 उघडे लागतात.

🚀 पुढे

पुढचा धडा AWS services पर्यंत खाजगी बोगदा खणतो: VPC endpoints, म्हणजे private wings internet शिवाय S3 पर्यंत पोहोचतात.

🧪 इथे करून पाहा — एक packet दोन्ही पहारेकऱ्यांतून चालवा — rules चालू-बंद करा आणि अडथळा ओळखा

संपूर्ण धडा 06 वाचा →

7 🚇 VPC endpoints (बोगदे)

AWS services कडे जाणारा खाजगी बोगदा — S3/DynamoDB साठी gateway endpoints (मोफत), बाकीच्यांसाठी interface endpoints (PrivateLink).

🧒 सोप्या शब्दांत

Data wing ला शहराच्या ग्रंथालयातून, म्हणजे S3 मधून, पुस्तके हवी आहेत. मुख्य दरवाजा आणि रस्त्याने गेले तर प्रत्येक पिशवीला पैसे लागतात आणि अनोळखी लोक भेटतात. म्हणून शाळा थेट ग्रंथालयापर्यंत खाजगी बोगदा खणते. S3 आणि DynamoDB चा बोगदा मोफत; इतर services चे बोगदे प्रति तास आणि प्रति पिशवी थोडे पैसे घेतात.

📖 नवे शब्दVPC endpoint — internet शिवाय VPC मधून AWS service पर्यंतचा खाजगी बोगदाgateway endpoint — S3 किंवा DynamoDB साठी मोफत route-table entry, जसे pl-s3 → vpce-s3interface endpoint — तुमच्या subnet मध्ये private IP असलेले network card, प्रति तास आणि प्रति GB बिलprefix list — पत्ता-ranges ची नाव असलेली यादी, जसे S3 चे सगळे पत्ते
1🚇 private wing मधून S3 पर्यंत पोहोचणे: NAT मधून (प्रति GB पैसे) किंवा gateway endpoint मधून (मोफत, AWS च्या बाहेर कधीच जात नाही)🏫 campus 10.20.0.0/16nat-a → igw🌍 इंटरनेटapp-a · rt-private-a10.20.48.0/20app10.20.48.250.0.0.0/0 → nat-apl-s3 → vpce-s3data-a · rt-data10.20.96.0/20db10.20.96.15pl-s3 → vpce-s3AWS services (तोच Region)S352.219.40.10DynamoDBफक्त हे दोनच services ज्यांनाgateway endpoints मिळतातvpce-s3 (gateway endpoint)✅ मोफत · AWS network वरच राहते💸 nat-a मार्गे: प्रति GB बिल, बाहेर जाऊन परत आत(vpce-s3 route नसेल तर काय होते)rt-private-a → S3 52.219.40.10, pl-s3 मार्गे → vpce-s3rt-data → S3 52.219.40.10, pl-s3 मार्गे → vpce-s32🚇 gateway endpoint — corridor च्या पाटीवरील एक ओळpl-s3 → vpce-s3S3✓ फक्त S3 आणि DynamoDB✓ मोफत — तासाचे शुल्क नाही, प्रति-GB शुल्क नाही✓ route-table target: प्रत्येक wing च्या table मध्ये जोडा✗ फक्त याच VPC च्या आतून वापरता येतो3🔌 interface endpoint (PrivateLink) — एक ENIapp-a10.20.48.0/20🔌 ENIprivate IPतुमच्या subnet मधील एक private IPSQSECRSecrets Managerइतर अनेक services · प्रति तास + प्रति GB बिलpeered VPCs आणि office मधूनही चालतो
⏪ आधी

Private wing S3 पर्यंत फक्त NAT आणि internet मार्गे पोहोचत असे, आणि AWS बाहेर जाण्याची गरजच नसलेल्या data साठी प्रति GB पैसे भरत असे.

💡 काय

Endpoint म्हणजे AWS service पर्यंतचा खाजगी बोगदा: S3 आणि DynamoDB साठी gateway endpoints, बाकीच्यांसाठी interface endpoints.

⚙️ कसे

rt-private-a आणि rt-data दोन्ही S3 52.219.40.10 ला pl-s3 → vpce-s3 मार्गे पाठवतात, म्हणून data-a internet route शिवाय S3 गाठतो.

🎯 का

Gateway endpoints मोफत असतात आणि AWS बाहेर जात नाहीत; interface endpoints ना प्रति तास आणि प्रति GB खर्च, पण ते SQS, ECR वगैरे गाठतात.

🚀 पुढे

पुढचा धडा campus ची phone book उघडतो: 10.20.0.2 वरचा VPC resolver आणि फक्त आतच चालणारी नावे.

🧪 इथे करून पाहा — private wing मधून S3 traffic पाठवा — बोगद्यातून किंवा NAT मधून
500

पूर्ण lesson 07 वाचा →

8 📒 VPC मधील DNS

campus चे फोनबुक — base+2 वरचा resolver, private hosted zones, आणि फक्त आतच चालणारी नावे.

🧒 सोप्या शब्दांत

Database desk चा नंबर 10.20.96.15 आहे हे कोणाच्याच लक्षात राहत नाही. Campus ची phone book त्याला db.school.internal म्हणून ओळखते. Phone book 10.20.0.2 या खोलीत असते, आणि ती फक्त आपल्या campus मधूनच आलेल्या calls ना उत्तर देते. Partner शाळेने तेच नाव विचारले तर उत्तर मिळत नाही.

📖 नवे शब्दDNS — नावाचे IP address मध्ये रूपांतर करणारी phone bookRoute 53 Resolver — base + 2 वरची VPC ची अंगभूत phone book, इथे 10.20.0.2private hosted zone — school.internal सारख्या नावांची phone book, जी फक्त जोडलेल्या VPCs मध्येच उत्तर देतेenableDnsHostnames — desks ना DNS नावे देणारे VPC चे switch
1📒 प्रत्येक campus मध्ये base + 2 = 10.20.0.2 वर एक फोन desk असतो — त्याला नाव विचारा, पत्ता मिळवा🏫 school VPC 10.20.0.0/16app-a10.20.48.0/20app10.20.48.25db.school.internal?public-a10.20.0.0/20resolver10.20.0.2169.254.169.253AmazonProvidedDNS🔒 खाजगी zonedb.school.internal→ 10.20.96.15app.school.internal→ 10.20.48.25school.internalयाच्याशी जोडलेलेहा VPC ✓← 10.20.96.15दोन VPC switches, दोन्ही चालूenableDnsSupportenableDnsHostnamesफोन desk कुठे बसतो10.20.0.0network10.20.0.1router10.20.0.2DNS10.20.0.3भविष्यbase 10.20.0.0 + 2 = 10.20.0.2169.254.169.253 प्रत्येकVPC मधून चालतो — तोच desk, ठरलेला पत्ताdb.school.internal सारखी नावे चालतातफक्त campus च्या आत2🚫 private hosted zone फक्त त्याच्याशी जोडलेल्या VPCs च्या आतच उत्तर देतो🏫 school VPCschool.internaldb…→ 10.20.96.15db.school.internal → 10.20.96.15 ✅🏢 partner VPC 10.30.0.0/16db.school.internal?त्याच्या resolver कडेschool.internal फोनबुक नाही→ उत्तर नाहीzone त्या VPC शी जोडलेला नाहीउपाय: zone partner VPC शी जोडा(फक्त peering ने फोनबुक शेअर होत नाही)
⏪ आधी

Apps च्या config मध्ये 10.20.96.15 सारखे थेट IPs असत, म्हणून database हलवला की प्रत्येक app बदलून पुन्हा deploy करावे लागे.

💡 काय

DNS म्हणजे campus ची phone book: resolver base + 2 वर असतो, आणि private hosted zone फक्त त्याच्याशी जोडलेल्या VPCs मध्येच उत्तर देते.

⚙️ कसे

Resolver आहे 10.20.0.2: db.school.internal → 10.20.96.15, पण partner VPC मधून त्याच नावाला उत्तरच मिळत नाही.

🎯 का

Apps पत्ते नाही तर नावे वापरतात, म्हणून desk हलू शकतो, आणि आतली नावे बाहेरच्या जगात कधीच पोहोचत नाहीत.

🚀 पुढे

पुढचा धडा दोन campuses खाजगी corridor ने जोडतो: VPC peering, आणि ते transitive का नाही.

🧪 इथे करून पाहा — campus च्या फोनबुकला नाव विचारा — school VPC मधून किंवा partner VPC मधून

पूर्ण lesson 08 वाचा →

9 🤝 VPC peering

दोन campuses मधला खाजगी corridor — overlap नको, दोन्ही बाजूंना routes, आणि तो transitive नाही (NOT transitive).

🧒 सोप्या शब्दांत

आपली शाळा partner शाळेपर्यंत खाजगी corridor बांधते, आणि partner vendor पर्यंत एक बांधतो. याचा अर्थ आपले विद्यार्थी partner च्या इमारतीतून vendor कडे जाऊ शकतात असा नाही. प्रत्येक corridor फक्त त्याच्या दोन टोकांवरच्या शाळाच जोडतो, आणि दोन्ही बाजूंनी त्याच्याकडे जाणाऱ्या पाट्या लावाव्या लागतात. दोन्ही शाळांचे घरांचे नंबरही वेगळे हवेत.

📖 नवे शब्दVPC peering — नेमक्या दोन VPCs मधील खाजगी जोड, जसे pcx-partnernot transitive — A↔B आणि B↔C असले तरी A↔C मिळत नाही; प्रत्येक जोडीला स्वतःचा जोड लागतोoverlapping CIDR — दोन्ही VPCs तेच नंबर वापरतात; मग peering नाकारले जातेpcx — peering connection च्या ID ची सुरुवात, route target म्हणून वापरतात
1🤝 peering दोन campuses ना एका खाजगी corridor ने जोडते — आणि ते transitive नाही🏫 school10.20.0.0/16🏢 partner10.30.0.0/16🏭 vendorpcx-partnerpartner↔vendorschool → vendor 🚫 — school↔partner आणि partner↔vendor असले तरी school↔vendor मिळत नाहीpartner campus कधीच traffic ला स्वतःमधून पलीकडे जाऊ देत नाही — school↔vendor हवे? तिसरा corridor बांधाschool → partner✅ peered (जोडलेले)partner → vendor✅ peered (जोडलेले)2🚧 overlap चालत नाही10.20.0.0/1610.30.0.0/16शक्य10.20.0.0/1610.20.128.0/17तीचजमीन दोनदानाकारले —ranges overlap होतात10.20.200.1 साठी packet — कोणता campus? AWS अंदाज लावणार नाही3🪧 दोन्ही बाजूंना corridor मधून जाणारा route हवाschoolभागीदारpcx-partnerschool चे table10.30.0.0/16 → pcx-partnerpartner चे table10.20.0.0/16 → pcx-partnerएक पाटी गहाळ → packet जातो, पण उत्तर हरवते(आणि दोन्ही बाजूंच्या SGs / NACLs नेही परवानगी द्यायला हवी)
⏪ आधी

दोन teams चे VPCs फक्त public internet वरून बोलू शकत, दोन्ही बाजूंना public IPs आणि उघड्या दरवाजांसह.

💡 काय

Peering म्हणजे दोन campuses मधील खाजगी corridor: ranges overlap होऊ नयेत, दोन्ही बाजू routes जोडतात, आणि ते transitive नाही.

⚙️ कसे

10.20.0.0/16 ↔ 10.30.0.0/16 चालते; school→partner आणि partner→vendor peered आहेत, तरीही school → vendor नाकारले जाते.

🎯 का

Traffic AWS network वरच राहते, चालवायला कोणताही gateway नाही, आणि campuses ची प्रत्येक जोडी फक्त जाणूनबुजूनच जोडली जाते.

🚀 पुढे

पुढचा धडा अनेक corridors ऐवजी एक bus station आणतो: Transit Gateway, जिथे प्रत्येक VPC एकदाच attach होतो.

🧪 इथे करून पाहा — campuses मध्ये corridors मागवा, मग कोण कोणापर्यंत पोहोचतो ते तपासा (हे transitive नाही)

पूर्ण lesson 09 वाचा →

10 🚌 Transit Gateway

जिल्ह्याचे bus station — प्रत्येक VPC आणि office एकदाच attach होतात; कोण कोणाशी बोलू शकतो हे TGW route tables ठरवतात.

🧒 सोप्या शब्दांत

चार शाळा असतील तर प्रत्येक जोडीमध्ये corridors बांधायला सहा corridors लागतात. त्याऐवजी जिल्हा एक bus station बांधतो, आणि प्रत्येक शाळा त्याला एकदाच जोडली जाते. स्थानकाचे वेळापत्रक ठरवते की कोण कुठे जाऊ शकतो: dev चे विद्यार्थी shared ग्रंथालयापर्यंत जाऊ शकतात, पण prod शाळेपर्यंत कधीच नाही.

📖 नवे शब्दTransit Gateway — अनेक VPCs आणि VPNs जोडले जातात असे region मधील केंद्रattachment — Transit Gateway ला जोडलेला एक VPC किंवा VPN, प्रति तास बिलTGW route table — कोणते attachment कोणापर्यंत पोहोचू शकते ते ठरवणारे वेळापत्रकhub and spoke — एक केंद्र, आणि प्रत्येक network त्यालाच जोडलेले, एकमेकांना नाही
1🚌 Transit Gateway म्हणजे जिल्ह्याचे bus station — प्रत्येक VPC एकदाच attach होतो, कोण बोलू शकतो ते route table ठरवते🏫 prod VPC🏫 shared VPC🏫 dev VPC🏢 office-vpn (शाळेचे ऑफिस)🚌 TGWTGW route tableprod→ shared, office-vpndev→ sharedवाटलेला→ prod, devoffice-vpn→ prod4 attachments · प्रत्येकी एकdev → prod 🚫यांना वेगळे ठेवले आहे —TGW route tableprod → shared ✅dev → shared ✅dev → prod 🚫office-vpn → prod ✅2🕸️ peering ने 4 VPCs साठी 6 corridors लागतात — n·(n−1)/2; TGW सोबत 4 attachmentsproddevवाटलेलाoffice-vpnpeering: 6 corridors बांधायचे, route करायचे आणि सुरक्षित करायचेVPCspeering linksTGW attachments4641045102019020n·(n−1)/2 झपाट्याने वाढते; n नाहीproddevवाटलेलाoffice-vpnTGW: 4 attachments, dev ला prod पासून दूर ठेवायला एकच route table
⏪ आधी

प्रत्येक VPC ला प्रत्येकाशी peering केले तर संख्या वेगाने वाढते: 4 VPCs ना 6 corridors, आणि प्रत्येक नवा VPC सगळ्यांशी corridor मागतो.

💡 काय

Transit Gateway म्हणजे जिल्ह्याचे bus station: प्रत्येक VPC आणि office VPN एकदाच attach होतात, आणि TGW route tables कोण बोलेल ते ठरवतात.

⚙️ कसे

prod → shared आणि dev → shared पुढे जातात, office-vpn → prod जाते, पण dev → prod ला TGW route table वेगळे ठेवते.

🎯 का

n·(n−1)/2 corridors ऐवजी प्रत्येक VPC ला एक attachment; खर्च प्रति attachment-hour आणि प्रति GB, आणि नियंत्रणाची एकच जागा मिळते.

🚀 पुढे

पुढचा धडा रोजच्या प्रश्नाचे उत्तर देतो, A पर्यंत B का पोहोचत नाही, flow logs आणि मार्गाच्या hop-by-hop तपासणीने.

🧪 इथे करून पाहा — TGW route table संपादित करा — कोण कोणाकडे प्रवास करू शकतो — आणि demo प्रवास तपासा
4

पूर्ण lesson 10 वाचा →

11 🔎 Flow logs & Reachability Analyzer

A ला B पर्यंत का पोहोचता येत नाही? — flow logs वाचा, मार्ग hop by hop चालून पाहा, नेमका अडथळा ओळखा.

🧒 सोप्या शब्दांत

Web desk म्हणतो की तो database पर्यंत पोहोचू शकत नाही. अंदाज लावण्याऐवजी आपण दरवाजाची डायरी वाचतो: प्रत्येक भेटीची एक ओळ, ACCEPT किंवा REJECT अशी. मग आपण एकेक रक्षक करत मार्ग चालतो. Desk ची यादी ठीक, wing चे दार ठीक, पाटी ठीक, आणि database desk च्या पाहुण्यांच्या यादीने नाही म्हटले.

📖 नवे शब्दflow logs — प्रत्येक संवादाची डायरीतील ओळ: source, destination, port, ACCEPT किंवा REJECTREJECT — security group किंवा NACL ने traffic अडवले असा flow-log मधील शिक्काReachability Analyzer — A पासून B पर्यंतचा मार्ग तपासून अडथळा सांगणारे AWS toolhop — मार्गावरील एक पायरी: रक्षक, पाटी किंवा दरवाजा
1🧾 VPC flow logs — प्रत्येक संभाषणासाठी एक ओळ: कोण, कोणाला, कोणता port, ACCEPT की REJECTflow log · eni-0app / eni-0web2 111122223333 eni-0app 10.20.48.25 10.20.96.15 51514 5432 6 12 2400 1790000000 1790000060 ACCEPT OK2 111122223333 eni-0web 10.20.0.10 10.20.96.15 49152 5432 6 3 180 1790000000 1790000060 REJECT OK2 111122223333 eni-0web 198.51.100.9 10.20.0.10 55000 22 6 2 120 1790000000 1790000060 REJECT OKआवृत्तीaccount-idinterface-idsrcaddrdstaddrsrcportdstportprotocol 6=TCPpacketsbytesसुरू कराशेवटactionlog-statusआधी चार निळी fields वाचा: srcaddr → dstaddr : dstport → actionapp10.20.48.25db :543210.20.96.15✅ ACCEPTapp wing sg-db च्या पाहुण्यांच्या यादीत आहेweb10.20.0.10db :543210.20.96.15⛔ REJECTweb नाही — त्याला कोणी थांबवले? खाली पायरी-पायरीने तपासा🌍 अनोळखी198.51.100.9web :2210.20.0.10⛔ REJECTsg-web मध्ये फक्त 443 आहे — port 22 वरच्या थापा नाकारल्या जातात2🔎 web → db :5432 का REJECT झाले? Reachability Analyzer सारखे hop-by-hop तपासाweb 10.20.0.10db :5432🧍1sg-web out ✓🚦2acl-open rule 100 ALLOW🪧3rt-public: 10.20.0.0/16→ local🚦4acl-data rule 110 ALLOW(destination subnet, आत)5sg-db in — पाहुण्यांच्यायादीत नाहीअडथळा, नावासह: hop 5 — sg-db inbound मध्ये फक्त 10.20.48.0/20 (app wing) मधून tcp 5432 आहे; 10.20.0.10 त्यात नाहीदाराने आत येऊ दिले (acl-data rule 110) — म्हणजे ती पाहुण्यांची यादी होती; flow-log ची ओळ 2 (REJECT) हाच packet आहेweb ने database पर्यंत पोहोचायलाच हवे असेल तरच दुरुस्ती करा — इथे हा अडथळा design चाच भाग आहे: web app शी बोलतो, app db शी बोलतो
⏪ आधी

अयशस्वी connection फक्त timeout होत असे, आणि teams अंदाज करत, काहीतरी चालेपर्यंत वाटेल ते नियम उघडत.

💡 काय

Flow logs प्रत्येक संवादाची ACCEPT किंवा REJECT सह एक ओळ लिहितात; Reachability Analyzer मार्ग तपासून नेमका अडथळा सांगतो.

⚙️ कसे

10.20.0.10 → 10.20.96.15:5432 REJECT; तपासणी sg-web, acl-open, rt-public आणि acl-data पार करते, आणि sg-db in वर थांबते.

🎯 का

पुन्हा सुरक्षितपणे बंद करता न येणारी दारे उघडण्याऐवजी तुम्ही नेमक्या एका रक्षकाचा नेमका एक नियम दुरुस्त करता.

🚀 पुढे

पुढचा धडा सगळे एकत्र करतो: 3 AZs, तीन tiers, प्रत्येक AZ ला NAT आणि वाढीसाठी जागा असलेला production campus.

🧪 इथे करून पाहा — flow-log ची ओळ load करा (किंवा तुमची स्वतःची paste करा), तिची fields वाचा, मग अडथळा शोधण्यासाठी ती तपासत जा

पूर्ण lesson 11 वाचा →

12 🏗️ Production VPC design

टिकण्यासाठी बांधलेला campus — 3 AZs × public/app/data, प्रत्येक AZ मध्ये एक NAT, endpoints, flow logs, वाढीसाठी जागा.

🧒 सोप्या शब्दांत

टिकण्यासाठी बांधलेल्या campus मध्ये तीन इमारती असतात, प्रत्येकीत public wing, app wing आणि data wing. प्रत्येक इमारतीचा बाहेर जाण्याचा स्वतःचा मार्ग असतो, म्हणून एका ठिकाणच्या आगीत बाकीचे अडकत नाहीत. ग्रंथालयापर्यंत बोगदे, प्रत्येक भेटीची डायरी, आणि येणाऱ्या नव्या वर्गांसाठी अनेक खोली-नंबर रिकामे ठेवलेले.

📖 नवे शब्दNAT gateway — private wings ना internet पर्यंत जाण्याचा बाहेरचा मार्ग; प्रत्येक AZ ला एकmulti-AZ — एक बिघाड झेलता यावा म्हणून तेच wings अनेक इमारतींमध्येheadroom — वाढीसाठी राखलेले न वापरलेले पत्ते, जसे 65,536 पैकी 28,672data tier — databases साठीचा wing, ज्याला internet कडे route च नाही
1🏗️ production campus: 3 AZs × (public · app · data), प्रत्येक AZ मध्ये एक NAT, S3 + DynamoDB endpoints, flow logs चालूBLUEPRINT · 10.20.0.0/16 · ap-south-1🏫 VPC 10.20.0.0/16igw-school🏢 ap-south-1apublic-a10.20.0.0/20⇄ ALBNAT · 1aफक्त LB + NATapp-a10.20.48.0/20app10.20.48.250.0.0.0/0 → NAT 1apl-s3 → vpce-s3desks, public IPs नाहीतdata-a10.20.96.0/20db10.20.96.15फक्त local + endpointsinternet कडे अजिबात route नाही🏢 ap-south-1bpublic-b10.20.16.0/20⇄ ALBNAT · 1bफक्त LB + NATapp-b10.20.64.0/200.0.0.0/0 → NAT 1bpl-s3 → vpce-s3desks, public IPs नाहीतdata-b10.20.112.0/20फक्त local + endpointsinternet कडे अजिबात route नाही🏢 ap-south-1cpublic-c10.20.32.0/20⇄ ALBNAT · 1cफक्त LB + NATapp-c10.20.80.0/200.0.0.0/0 → NAT 1cpl-s3 → vpce-s3desks, public IPs नाहीतdata-c10.20.128.0/20फक्त local + endpointsinternet कडे अजिबात route नाहीAWS सेवाS3DynamoDBgatewayendpoints(मोफत)🧾 flow logs चालू… ACCEPT OK… REJECT OK… ACCEPT OK… ACCEPT OK… REJECT OKप्रत्येक wing, प्रत्येकENI — "A B पर्यंतका पोहोचूशकत नाही?" याचे उत्तरप्रत्येक AZ मध्ये एक NAT:एक इमारत गेली तरीबाकीच्या दोनबाहेर जाऊ शकतात2📦 पत्त्यांचे बजेट: एका /16 मध्ये सोळा /20 blocks — नऊ वापरले, सात वाढीसाठी राखून ठेवलेpublic-a.0.0public-b.16.0public-c.32.0app-a.48.0app-b.64.0app-c.80.0data-a.96.0data-b.112.0data-c.128.0मोफत.144.0मोफत.160.0मोफत.176.0मोफत.192.0मोफत.208.0मोफत.224.0मोफत.240.09 subnets 65,536 पैकी 36,864 पत्ते वापरतात — वाढीसाठी 28,672 शिल्लक (EKS pods झपाट्याने पत्ते खातात)public: फक्त load balancers + NAT · app: desks, public IPs नाहीत · data: databases, internet कडे अजिबात route नाही
⏪ आधी

एकेक दुरुस्ती करत वाढलेल्या networks मध्ये शेवटी NAT एकाच AZ मध्ये, endpoints नाहीत, logs नाहीत आणि पत्तेही उरलेले नाहीत.

💡 काय

Production campus म्हणजे 3 AZs × public, app आणि data wings, प्रत्येक AZ ला एक NAT, S3 आणि DynamoDB endpoints, आणि flow logs चालू.

⚙️ कसे

9 subnets 65,536 पैकी 36,864 पत्ते वापरतात, वाढीसाठी 28,672 उरतात; data wings ना internet कडे route च नाही.

🎯 का

एक AZ बंद पडला तरी बाकीचे तुटत नाहीत, databases पोहोचण्याबाहेर राहतात, आणि EKS pods पुन्हा numbering न करता वाढू शकतात.

🚀 पुढे

पुढे बाहेर जाण्याच्या मार्गासाठी NAT school, मुख्य प्रवेशद्वारासाठी API Gateway school, आणि pods साठी EKS networking कडे जा.

🧪 इथे करून पाहा — production campus design करा — planner पत्ते मोजतो आणि त्याचा आढावा घेतो
20

पूर्ण lesson 12 वाचा →

धडा 01 सुरू करा → 🗓️ अभ्यास योजना (4 आठवडे) 📐 सर्व 12 धड्यांच्या आकृत्या 🧪 प्रश्नमंजुषा (15 प्रश्न) ⏮️ आधी काय होते & फायदे-तोटे