Private servers internet पर्यंत कसे पोहोचतात पण internet त्यांच्यापर्यंत पोहोचत नाही, हे शाळेच्या फाटकाच्या रूपात शिकवलेले: नोंदवही घेऊन बसलेला एक रखवालदार, जो बाहेर जाणारी प्रत्येक फेरी लिहून ठेवतो आणि फक्त जुळणारी उत्तरेच आत सोडतो. प्रत्येक धडा म्हणजे चित्र आणि lab असलेली एक शाळेची गोष्ट — आणि फाटक repo मध्येच आहे: शुद्ध Python मधील port address translation चे शिकवण्यासाठीचे मॉडेल (nat/gateway.py, कोणतीही dependency नाही) जे तुम्ही भरू शकता, time out करू शकता आणि मोडू शकता.
🚪 फक्त बाहेर जाणे📒 PAT नोंदवही⚖️ gateway विरुद्ध instance🏢 प्रत्येक AZ मध्ये एक📌 Elastic IPs💰 तास + GB🚇 endpoints6️⃣ egress-only IGW🔎 port संपणे
🚪 भाग 1 — फाटक (1–4)
private बाकांना फाटक का हवे 🚪
प्रत्येक फेरी लक्षात ठेवणारी नोंदवही 📒
managed फाटक की स्वतःचे ⚖️
प्रत्येक इमारतीला एक फाटक 🏢
💰 भाग 2 — फाटक चालवणे (5–8)
भागीदारांना विश्वास वाटेल असा परतीचा पत्ता 📌
दोन मीटर: तास आणि GB 💰
फाटक टाळणाऱ्या फेऱ्या 🧭
भरलेल्या नोंदवह्या आणि विसरलेल्या ओळी 🔎
# the 60-second wow — the gate, live:
git clone https://github.com/BaluRaut/learn-nat-school.git && cd learn-nat-school
python3 nat/demo.py # 8 lessons: translations, failures and costs
python3 nat/test_nat.py # 8 checks across the lessons
तुम्हाला काय दिसायला हवे (छाटलेले — यश असे दिसते):
═══ why ═══
── desks in a private wing have private addresses (10.x) — the internet cannot write back to them
the gate (NAT) lets them go OUT and get answers back, but nobody outside can walk IN
app 10.20.48.25:50001 → pypi.org leaves as 13.232.10.20:1024
a stranger knocks on 13.232.10.20:2222 → dropped — nobody inside asked
═══ pat ═══
── the register: one public IP, many desks — the gate tells them apart by the port it hands out
10.20.48.25:50001 → 151.101.0.223:443 written as 13.232.10.20:1024
10.20.64.7:50001 → 151.101.0.223:443 written as 13.232.10.20:1025
10.20.48.25:50002 → 140.82.112.3:443 written as 13.232.10.20:1024
register:
13.232.10.20:1024 ↔ 10.20.48.25:50001 for 151.101.0.223
13.232.10.20:1025 ↔ 10.20.64.7:50001 for 151.101.0.223
13.232.10.20:1024 ↔ 10.20.48.25:50002 for 140.82.112.3
answer to 13.232.10.20:1025 from pypi → back to ('10.20.64.7', 50001)
═══ kinds ═══
── two kinds of gate
NAT gateway (managed) NAT instance (an EC2 you run)
scaling 5 Gbps, grows to 100 Gbps the instance size
in its AZ redundant for you you patch it, you fail it over
security groups cannot attach yes
port forwarding / bastion no possible
setup one resource + a route turn off source/dest check, iptables MASQUERADE
cost $0.045/h + $0.045/GB the instance price, no per-GB fee
the managed gateway is the default choice; a NAT instance is for tiny labs or special tricks
═══ peraz ═══
── the private route table in each AZ says 0.0.0.0/0 → the NAT in the SAME AZ
💥 AZ a goes down (nat-a with it)
private-a: one-per-AZ → 🚫 (its AZ is down anyway) · one shared nat-a → 🚫 cut off
private-b: one-per-AZ → ✅ · one shared nat-a → 🚫 cut off
private-c: one-per-AZ → ✅ · one shared nat-a → 🚫 cut off
one shared NAT: a single AZ failure cuts off every AZ, plus cross-AZ data charges on every byte
═══ eip ═══
── a public NAT gateway sends everything out from its Elastic IP(s) — a fixed address partners can trust
partner firewall allow-list: 13.232.10.20/32, 13.232.10.30/32
every desk behind the gate looks like one of these 2 addresses — add IPs (up to 8) for more ports
⚠️ allow-listing the NAT's IP trusts EVERY workload behind it — pair it with real authentication
═══ costs ═══
── the gate charges twice: every hour it exists ($0.045) and every GB it carries ($0.045) — example prices
1 NAT × 730 h + 100 GB → $ 37.35 / month
3 NAT × 730 h + 100 GB → $ 103.05 / month
3 NAT × 730 h + 5,000 GB → $ 323.55 / month
of those 5,000 GB, 4,000 GB were S3 downloads — a free gateway endpoint saves $180.00 a month
cross-AZ traffic to a NAT in another AZ adds a data-transfer charge on top
═══ alternatives ═══
── not every trip needs the gate:
S3 / DynamoDB → gateway endpoint — free, just a route
ECR, SQS, Secrets Manager, STS… → interface endpoint (PrivateLink) — private IP in your subnet
IPv6 going out only → egress-only internet gateway — IPv6 has no NAT, this is its one-way door
allow only listed domains → a proxy or AWS Network Firewall in front of the NAT
private IP to a private IP → private NAT gateway — overlapping networks via Transit Gateway
nothing on the internet at all → no NAT — the cheapest and safest gate is none
═══ troubleshoot ═══
── port exhaustion: AWS allows 55,000 connections to ONE destination per public IP (here shrunk to 5)
connection 1 → 13.232.10.20:1024
connection 2 → 13.232.10.20:1025
connection 3 → 13.232.10.20:1026
connection 4 → 13.232.10.20:1027
connection 5 → 13.232.10.20:1028
connection 6 → ❌ ErrorPortAllocation
connection 7 → ❌ ErrorPortAllocation
a DIFFERENT destination still works → rows: 6 · ErrorPortAllocation = 2
── the idle timeout: rows quiet for more than 350 s are wiped
t=400 s the server answers late → wiped 1 row → reply dropped (the app sees a reset)
fixes: TCP keepalive under 350 s · add Elastic IPs · spread across destinations · watch ErrorPortAllocation,
PacketsDropCount and IdleTimeoutCount in CloudWatch
✅ done — the gate answered every lesson
🎒 धडा 01 पूर्वी: तुम्हाला फक्त Python 3 हवे — दुसरे काहीही नाही; AWS account नको. हा lab NAT चे शिकवण्यासाठीचे मॉडेल आहे; किमती उदाहरणादाखल आहेत (us-east-1) — नेहमी AWS pricing page तपासा. चांगले शेजारी: VPC शाळा (हे फाटक ज्या campus चे आहे ते) आणि Networking शाळा (IP, ports आणि TCP अगदी पायापासून).
एक git branch = एक कल्पना; branch 03 मध्ये धडे 01–03 आहेत. प्रत्येक translation nat/gateway.py मधून येते — AWS account लागत नाही.
1
🚪 NAT का
शाळेचे फाटक — private बाक बाहेर जातात आणि उत्तरे परत मिळवतात, पण बाहेरचा कोणीही आत येऊ शकत नाही.lesson-01-why-natधडा वाचा →आकृती पहा ↗
2
📒 फाटक कसे लक्षात ठेवते (PAT)
फाटकाची नोंदवही — एक public IP, अनेक बाक, फाटक देत असलेल्या port वरून ओळखले जातात.lesson-02-how-pat-worksधडा वाचा →आकृती पहा ↗
3
⚖️ NAT gateway विरुद्ध NAT instance
managed फाटक की तुम्ही स्वतः चालवलेले फाटक — scaling, failover, security groups आणि खर्च.lesson-03-gateway-vs-instanceधडा वाचा →आकृती पहा ↗
4
🏢 प्रत्येक AZ ला एक फाटक
प्रत्येक इमारतीचा private route त्याच इमारतीतील फाटकाकडे निर्देश करतो — म्हणून एक बिघाड एकच इमारत तोडतो, सगळ्या नाही.lesson-04-per-az-routingधडा वाचा →आकृती पहा ↗
💰 भाग 2 — फाटक चालवणे (धडे 5–8)
Production egress ला काय हवे: स्थिर पत्ते, समजणारे bill, स्वस्त मार्ग आणि प्रत्यक्षात दिसणारे बिघाड.
5
📌 Elastic IPs आणि allow-listing
भागीदार विश्वास ठेवू शकतील असा स्थिर परतीचा पत्ता — आणि फक्त तो पत्ता म्हणजे authentication का नाही.lesson-05-elastic-ipsधडा वाचा →आकृती पहा ↗
6
💰 फाटकाचा खर्च किती
दोन मीटर: ते अस्तित्वात असलेला प्रत्येक तास आणि ते वाहून नेत असलेला प्रत्येक GB — आणि त्यातला बहुतेक खर्च टाळणारा मोफत बोगदा.lesson-06-costsधडा वाचा →आकृती पहा ↗
7
🧭 NAT चे पर्याय
प्रत्येक फेरीला फाटक लागत नाही — endpoints, IPv6 egress-only gateway, proxies, private NAT, किंवा internet अजिबात नाही.lesson-07-alternativesधडा वाचा →आकृती पहा ↗
8
🔎 फाटकातील अडचणी शोधणे
भरलेल्या नोंदवह्या आणि विसरलेल्या ओळी — port exhaustion, 350-second idle timeout आणि ते दाखवणारे CloudWatch metrics.lesson-08-troubleshootingधडा वाचा →आकृती पहा ↗
🗣️ हे मोठ्याने समजावून सांगा — धडा 8 नंतर: (1) दोन बाक एकाच server ला source port 50001 वापरतात — फाटक उत्तरे वेगळी कशी ओळखते? (2) Internet वरचा अनोळखी माणूस NAT मागच्या बाकाशी connection का सुरू करू शकत नाही? (3) प्रत्येक AZ ला एक NAT gateway का? (4) NAT bill चा बहुतेक भाग कुठून येतो, आणि S3 साठी तो काय काढून टाकते? (5) ErrorPortAllocation म्हणजे काय आणि दोन उपाय सांगा. (6) सहा मिनिटे शांत राहिलेले connection का तुटते?
प्रत्येक धडा एका क्रमांकित बॉक्स-आणि-बाण आकृतीत — स्वतंत्र पानावरही.
1 🚪 NAT का
शाळेचे फाटक — private बाक बाहेर जातात आणि उत्तरे परत मिळवतात, पण बाहेरचा कोणीही आत येऊ शकत नाही.
🧒 सोप्या शब्दांत
मागच्या वर्गांतील विद्यार्थी दुकानात जाऊ शकतात, पण दुकानदार त्यांना वर्ग क्रमांकावरून शोधू शकत नाही. म्हणून प्रत्येक फेरी शाळेच्या gate मधूनच जाते. रखवालदार त्यांना बाहेर जाऊ देतो आणि दुकानदाराचे उत्तर आत येऊ देतो. सरळ gate पाशी येणाऱ्या अनोळखी माणसाला परत पाठवले जाते, कारण आतून कोणीच त्याला बोलावले नव्हते.
📖 नवे शब्दNAT — private desks ना बाहेर जाऊन उत्तरे आणू देणारे, पण न बोलावलेल्या कोणालाही आत न येऊ देणारे शाळेचे gateprivate IP — 10.20.48.25 सारखा पत्ता, जो फक्त तुमच्या स्वतःच्या network मध्येच चालतोpublic IP — 13.232.10.20 सारखा पत्ता, ज्यावर संपूर्ण internet उत्तरे पाठवू शकतेprivate subnet — internet कडे स्वतःचे फाटक नसलेली वर्गांची wingoutbound — आतून सुरू होऊन बाहेर जाणारी फेरी; NAT फक्त अशाच फेऱ्या सुरू होऊ देतो
⏪ आधी
Private wing मधील desks ना 10.x addresses होते: ते package आणू शकत नव्हते, कारण internet 10.x ला उत्तर परत पाठवू शकत नाही.
💡 काय
NAT म्हणजे शाळेचे gate: आतले desks बाहेर जाऊन उत्तरे परत आणू शकतात, पण बाहेरचा कोणीही न बोलावता आत येऊ शकत नाही.
⚙️ कसे
app 10.20.48.25:50001 pypi.org कडे जाते आणि 13.232.10.20:1024 म्हणून बाहेर पडते; :2222 वर ठोठावणारा अनोळखी drop होतो.
🎯 का
Private servers updates install करू शकतात आणि APIs call करू शकतात, तरी त्यांच्यापर्यंत कोणी पोहोचू शकत नाही: फक्त त्यांच्याच फेऱ्यांची उत्तरे आत येतात.
🚀 पुढे
पुढचा धडा रखवालदाराची नोंदवही उघडतो: एकच public IP अनेक desks ना कसा पुरतो, gate देत असलेल्या port वरून त्यांना ओळखून.
🧪 इथे करून पाहा — एका बाकाला बाहेर पाठवा, server ला उत्तर देऊ द्या — मग अनोळखी माणूस म्हणून बाहेरून फाटकावर थाप मारा
फाटकाची नोंदवही — एक public IP, अनेक बाक, फाटक देत असलेल्या port वरून ओळखले जातात.
🧒 सोप्या शब्दांत
वेगवेगळ्या वर्गांतील दोन विद्यार्थी, दोघांचाही roll number 50001, एकाच दुकानाला पत्रे पाठवतात. रखवालदार प्रत्येकाला वेगळ्या gate number सह नोंदवही मध्ये लिहितो: 1024 आणि 1025. दुकान gate number 1025 ला उत्तर पाठवते तेव्हा रखवालदार नोंदवही वाचतो आणि पत्र योग्य विद्यार्थ्याकडे नेतो. Register मध्ये ओळ नसलेले उत्तर फेकून दिले जाते.
📖 नवे शब्दPAT — port address translation: अनेक desks एकच public IP वापरतात, gate देत असलेल्या port वरून ओळखले जातातport — पत्त्यानंतरचा :443 किंवा :1024 सारखा number, जो packet कोणत्या संवादाचा आहे ते सांगतोtranslation table — रखवालदाराची नोंदवही: प्रत्येक फेरीसाठी public port ला आतल्या desk शी जोडणारी एक ओळsource port — gate बदलण्याआधी desk ने स्वतः निवडलेला port, जसे 50001destination — फेरी जिथे जाते ते ठिकाण, जसे 151.101.0.223:443
⏪ आधी
अनेक desks एकच public IP वापरतात, आणि दोघे तर एकच source port 50001 वापरतात: कोणाचे उत्तर कोणाचे?
💡 काय
PAT म्हणजे रखवालदाराची नोंदवही: बाहेर जाणाऱ्या प्रत्येक फेरीला वेगळा public port मिळतो, आणि एक ओळ तो port आतल्या desk शी जोडते.
⚙️ कसे
10.20.48.25:50001 आणि 10.20.64.7:50001 दोघेही 151.101.0.223:443 ला call करतात; gate त्यांना 13.232.10.20:1024 आणि :1025 असे लिहिते.
🎯 का
:1025 वरचे उत्तर फक्त 10.20.64.7:50001 कडेच परत जाते, आणि जुळणारी ओळ नसलेला packet सरळ drop होतो.
🚀 पुढे
पुढचा धडा दोन प्रकारच्या gates ची तुलना करतो: managed NAT gateway, आणि NAT instance, म्हणजे तुम्ही स्वतः चालवता ते EC2.
🧪 इथे करून पाहा — एक बाक, त्याचा source port आणि एक destination निवडा — रखवालदार public port निवडून ओळ लिहिताना पाहा
managed फाटक की तुम्ही स्वतः चालवलेले फाटक — scaling, failover, security groups आणि खर्च.
🧒 सोप्या शब्दांत
शाळा gate सांभाळायला security company नेमू शकते, किंवा एखाद्या शिक्षकाला तिथे उभे करू शकते. Company गर्दीच्या दिवशी जास्त रखवालदार पाठवते आणि तिला कधीच सुट्टी लागत नाही, पण ती तुमचे खास नियम पाळत नाही. शिक्षक जास्तीची कामे करू शकतो, पण त्याला प्रशिक्षण द्यावे लागते, तो आजारी असेल तर दुसरा उभा करावा लागतो, आणि गर्दी वाढली की अधिक सक्षम शिक्षक शोधावा लागतो.
📖 नवे शब्दNAT gateway — AWS तुमच्यासाठी चालवते ते managed gate; ते आपोआप 5 Gbps पासून 100 Gbps पर्यंत वाढतेNAT instance — gate म्हणून काम करण्यासाठी तुम्ही स्वतः उभा करता आणि सांभाळता तो EC2 serversecurity group — server वरची firewall यादी; NAT instance ला ती असू शकते, NAT gateway ला नाहीsource/dest check — instance ला इतर desks चा traffic पुढे पाठवू देण्यासाठी बंद करावी लागणारी EC2 settingfailover — पहिले gate बंद पडले की राखीव gate वर जाणे
⏪ आधी
स्वतःचे gate चालवायचे म्हणजे ते patch करणे, त्याचा size ठरवणे आणि हाताने failover करणे, आणि गर्दीच्या दिवशी ते गुदमरू शकत असे.
💡 काय
NAT gateway म्हणजे AWS तुमच्यासाठी सांभाळते ते gate; NAT instance म्हणजे तुम्ही स्वतः सांभाळता ते EC2, जास्त युक्त्या आणि जास्त कामांसह.
⚙️ कसे
Gateway 5 Gbps पासून सुरू होऊन 100 Gbps पर्यंत वाढतो पण त्याला security group लावता येत नाही; instance ला iptables MASQUERADE लागते.
🎯 का
Managed gateway हाच default: patching नाही, त्याच्या AZ मध्ये आपोआप redundant, आणि setup साठी एक resource व एक route पुरे.
🚀 पुढे
पुढचा धडा विचारतो, संपूर्ण इमारतीचा प्रकाश गेला तर काय: प्रत्येक AZ साठी एक gate, आणि आपल्याच इमारतीत राहणारे routes.
🧪 इथे करून पाहा — फाटक बांधा: प्रकार निवडा, setup च्या पायऱ्यांवर खूण करा, मग त्याला प्रश्न विचारा
प्रत्येक इमारतीचा private route त्याच इमारतीतील फाटकाकडे निर्देश करतो — म्हणून एक बिघाड एकच इमारत तोडतो, सगळ्या नाही.
🧒 सोप्या शब्दांत
शाळेत a, b आणि c अशा तीन इमारती आहेत. तिन्ही इमारती a चेच gate वापरत असतील, तर a ची वीज गेली की b आणि c मधूनही कोणीच बाहेर जाऊ शकत नाही. म्हणून प्रत्येक इमारतीला स्वतःचे gate मिळते, आणि प्रत्येक इमारतीचा फलक स्वतःच्या gate कडेच दाखवतो. आता a अंधारात गेली तरी b आणि c चालूच राहतात.
📖 नवे शब्दAZ — availability zone: AWS region मधील एक इमारत, स्वतःची वीज आणि network असलेलीroute table — प्रत्येक wing मधील फलक, जो प्रत्येक प्रकारची फेरी कुठे जावी ते सांगतो0.0.0.0/0 — default route: इतर कुठेही न लिहिलेला प्रत्येक पत्ता, म्हणजे internetcross-AZ traffic — एका इमारतीतून दुसऱ्या इमारतीत जाणारा data, ज्यासाठी AWS जास्तीचे पैसे घेते
⏪ आधी
एकच shared nat-a असताना प्रत्येक AZ मधील प्रत्येक private subnet AZ a मधूनच बाहेर जात असे, आणि प्रत्येक byte वर cross-AZ charge भरत असे.
💡 काय
प्रत्येक इमारतीला एक gate: प्रत्येक AZ ची private route table 0.0.0.0/0 त्याच AZ मधील NAT gateway कडे पाठवते.
⚙️ कसे
AZ a बंद पडतो: प्रत्येक AZ ला एक NAT असेल तर private-b आणि private-c बाहेर जाऊ शकतात; shared nat-a असेल तर तिन्ही तुटतात.
🎯 का
मग zone बंद पडला तर फक्त तीच इमारत बाधित होते, आणि gate पर्यंत पोहोचण्यासाठी कोणताही traffic zones ओलांडत नाही.
🚀 पुढे
पुढचा धडा gate चा परतीचा पत्ता पाहतो: partners allow-list करू शकतील असे Elastic IPs, आणि त्यातून खरे तर कशावर विश्वास ठेवला जातो.
🧪 इथे करून पाहा — रचना निवडा, मग Availability Zones बंद पाडा — कोणते private subnets अजूनही internet पर्यंत पोहोचतात?
भागीदार विश्वास ठेवू शकतील असा स्थिर परतीचा पत्ता — आणि फक्त तो पत्ता म्हणजे authentication का नाही.
🧒 सोप्या शब्दांत
एक partner संग्रहालय फक्त त्याच्या यादीतील पत्त्यांवरून आलेल्या buses साठीच फाटक उघडते. शाळा त्याला gate चा एक कायमचा पत्ता देते, म्हणून कोणत्याही वर्गाची प्रत्येक सहल आत घेतली जाते. पण आता संग्रहालय त्या gate मधून बाहेर पडणाऱ्या प्रत्येकावर विश्वास ठेवते, फक्त इतिहासाच्या वर्गावर नाही. म्हणून संग्रहालयाने प्रत्येक पाहुण्याचा pass तरीही तपासायला हवा.
📖 नवे शब्दElastic IP — तुम्ही ठेवता तो कायमचा public IP, जसे 13.232.10.20, ज्यावरून gate सगळा traffic पाठवतेallow-list — partner च्या firewall ने आत घ्यायच्या पत्त्यांची यादी/32 — ज्यात बरोबर एकच पत्ता आहे अशी range, जसे 13.232.10.20/32authentication — तुम्ही खरे कोण आहात ते key किंवा token ने सिद्ध करणे, फक्त तुम्ही कुठून आलात यावरून नाही
⏪ आधी
Partner चा firewall फक्त ओळखीच्या addresses ना आत घेतो, पण येणाऱ्या-जाणाऱ्या servers ना यादीत टाकता येईल असा पत्ताच नसतो.
💡 काय
Elastic IP म्हणजे gate चा कायमचा परतीचा पत्ता: gate मागचा प्रत्येक desk बाहेर जाताना त्याच एका पत्त्यासारखा दिसतो.
⚙️ कसे
Partner 13.232.10.20/32 आणि 13.232.10.30/32 allow-list करतो; 2 Elastic IPs, आणि जास्त ports साठी 8 पर्यंत.
🎯 का
Partners ना विश्वास ठेवायला एक स्थिर पत्ता मिळतो, पण तो gate मागच्या प्रत्येक workload वर विश्वास ठेवतो, म्हणून खरे authentication पण ठेवा.
🚀 पुढे
पुढचा धडा bill वाचतो: gate अस्तित्वात असलेल्या प्रत्येक तासाचे आणि वाहून नेलेल्या प्रत्येक GB चे पैसे घेते.
🧪 इथे करून पाहा — Elastic IPs जोडा आणि एकाच destination कडे connections उघडा — किती बसतात? मग भागीदाराची allow-list तपासा
दोन मीटर: ते अस्तित्वात असलेला प्रत्येक तास आणि ते वाहून नेत असलेला प्रत्येक GB — आणि त्यातला बहुतेक खर्च टाळणारा मोफत बोगदा.
🧒 सोप्या शब्दांत
Gate चालवणारी company दोन bills पाठवते. एक, रखवालदार gate वर उभा असलेल्या प्रत्येक तासाचे, कोणीच बाहेर गेले नाही तरी. दुसरे, रखवालदाराने gate मधून नेलेल्या प्रत्येक पिशवीचे. बहुतेक पिशव्या शाळेच्याच ग्रंथालयाच्या भांडारातील पुस्तकांच्या होत्या, म्हणून शाळा तिथे थेट जाणारा मोफत झाकलेला रस्ता बांधते, आणि bill कमी होते.
📖 नवे शब्दhourly charge — NAT gateway अस्तित्वात असलेल्या प्रत्येक तासाला सुमारे $0.045, वापरला किंवा नाही तरी (उदाहरण किंमत)data processing charge — gate वाहून नेत असलेल्या प्रत्येक GB ला सुमारे $0.045 (उदाहरण किंमत)GB — gigabyte: किती data गेला ते मोजण्याचे मापgateway endpoint — gate टाळून S3 किंवा DynamoDB कडे जाणारा मोफत private मार्ग, route म्हणून जोडलेला
⏪ आधी
Teams नी फारसा विचार न करता NAT gateways जोडले, आणि मग bill वर कोणालाच समजावता न येणारी मोठी रक्कम दिसली.
💡 काय
Gate ला दोन meters: अस्तित्वाच्या प्रत्येक तासाला सुमारे $0.045 आणि वाहून नेलेल्या प्रत्येक GB ला सुमारे $0.045 (us-east-1 ची उदाहरण किंमत).
⚙️ कसे
1 NAT + 100 GB म्हणजे महिन्याला सुमारे $37.35, 3 NATs सुमारे $103.05, आणि 3 NATs + 5,000 GB सुमारे $323.55.
🎯 का
त्या 5,000 GB पैकी 4,000 GB हे S3 downloads होते: मोफत S3 gateway endpoint महिन्याला सुमारे $180.00 वाचवतो.
🚀 पुढे
पुढचा धडा gate ची अजिबात गरज नसलेल्या फेऱ्या सांगतो: endpoints, IPv6 egress-only gateway, proxies आणि private NAT.
🧪 इथे करून पाहा — sliders हलवा — दोन मीटर, आणि S3 gateway endpoint बिलातून किती कमी करतो (उदाहरणादाखल किमती $0.045/h + $0.045/GB)
प्रत्येक फेरीला फाटक लागत नाही — endpoints, IPv6 egress-only gateway, proxies, private NAT, किंवा internet अजिबात नाही.
🧒 सोप्या शब्दांत
प्रत्येक फेरीला मुख्य gate लागत नाही. शाळेच्याच कार्यालयांकडे जाणाऱ्या फेऱ्या campus मधील बाजूच्या फाटकाने जातात. जगभर चालणारे पत्ते असलेल्या नव्या वर्गांना स्वतःचे एकमार्गी फाटक आहे. कडक gate विद्यार्थी जाऊ शकतील अशा दुकानांची यादी तपासू शकते. आणि परीक्षा हॉलसारख्या काही वर्गांनी कधीच बाहेर जाऊ नये.
📖 नवे शब्दVPC endpoint — internet शिवाय तुमच्या network मधून थेट AWS service कडे जाणारे बाजूचे फाटकinterface endpoint — तुमच्या subnet मध्ये private IP असलेला PrivateLink endpoint, ECR किंवा STS सारख्या services साठीegress-only internet gateway — IPv6 चे एकमार्गी फाटक: बाहेर जाणे आणि परत येणे चालते, आतल्या दिशेने कोणी फेरी सुरू करू शकत नाहीproxy — gate समोरचा तपासनीस, जो फक्त यादीतील domains ना परवानगी देतोprivate NAT gateway — दोन private networks मधील gate, त्यांचे पत्ते एकमेकांवर येतात तेव्हा वापरले जाते
⏪ आधी
सवयीने प्रत्येक फेरी NAT मधूनच जात असे, अगदी S3 downloads, IPv6 traffic आणि internet ची कधीच गरज नसलेले servers सुद्धा.
💡 काय
प्रत्येक फेरीला मुख्य gate लागत नाही: AWS services ना बाजूची फाटके आहेत, IPv6 चे स्वतःचे एकमार्गी फाटक आहे, आणि काही desks आतच राहतात.
⚙️ कसे
S3 आणि DynamoDB मोफत gateway endpoint वापरतात, ECR आणि STS interface endpoint, आणि IPv6 egress-only internet gateway.
🎯 का
योग्य मार्गांमुळे per-GB fee कमी होते, proxy desks कोणत्या domains पर्यंत जातात ते मर्यादित करतो, आणि सर्वात सुरक्षित gate म्हणजे internet च नाही.
🚀 पुढे
पुढचा धडा काम थांबवलेले gate दुरुस्त करतो: भरलेली नोंदवही, विसरलेल्या ओळी, आणि त्या दाखवणारे CloudWatch metrics.
🧪 इथे करून पाहा — बाकाला काय हवे आहे? दिशादर्शक पाटी मार्ग निवडते — आणि NAT चे मीटर चालते का ते सांगते
भरलेल्या नोंदवह्या आणि विसरलेल्या ओळी — port exhaustion, 350-second idle timeout आणि ते दाखवणारे CloudWatch metrics.
🧒 सोप्या शब्दांत
क्रीडा दिनी शेकडो विद्यार्थी एकाच वेळी एकाच दुकानाला पत्रे पाठवतात, आणि रखवालदाराकडचे त्या दुकानासाठीचे gate numbers संपतात, म्हणून पुढची पत्रे नाकारली जातात. इतर दुकानांची पत्रे मात्र जातात. तसेच एखाद्या फेरीत बराच वेळ कोणीच बोलले नाही तर रखवालदार ती ओळ खोडतो; मग खूप उशिरा आलेल्या उत्तराला जायला जागाच उरत नाही.
📖 नवे शब्दport exhaustion — नोंदवही भरले: एका IP वरून एका destination साठीचे सगळे 55,000 ports वापरात आहेतErrorPortAllocation — port मोकळा नसल्यामुळे नाकारलेले connections मोजणारा CloudWatch metricidle timeout — 350 s traffic नसेल तर gate ती ओळ पुसते आणि उशिरा आलेले उत्तर drop होतेkeepalive — ओळ शांत समजली जाऊ नये म्हणून अधूनमधून पाठवलेला छोटा संदेशPacketsDropCount — gate ने फेकून दिलेले packets मोजणारा CloudWatch metricIdleTimeoutCount — खूप वेळ शांत राहिल्याने पुसलेल्या ओळी मोजणारा CloudWatch metric
⏪ आधी
काही calls अधूनमधून fail होत किंवा अडकत, NAT ठीक दिसत असे, आणि नोंदवही भरू शकते किंवा विसरू शकते हे कोणालाच माहीत नव्हते.
💡 काय
Register ला मर्यादा आहेत: प्रत्येक public IP ला प्रत्येक destination साठी 55,000 connections, आणि 350 s शांत राहिलेल्या ओळी पुसल्या जातात.
⚙️ कसे
Ports 5 पर्यंत कमी केल्यावर connection 6 ला ErrorPortAllocation येतो, पण दुसरे destination चालते; 400 s ला आलेले उत्तर drop होते.
🎯 का
350 s पेक्षा कमी keepalive, जास्त Elastic IPs, आणि ErrorPortAllocation, PacketsDropCount, IdleTimeoutCount वर alarms बहुतेक अडचणी सोडवतात.
🚀 पुढे
पुढे कुठे: VPC school या gate भोवतीचा संपूर्ण campus बांधते, आणि API Gateway school समोरचे कार्यालय बांधते.
🧪 इथे करून पाहा — एक छोटी नोंदवही (प्रति destination ports कमी केलेले): रखवालदाराचे ports संपेपर्यंत connections उघडा
5
🧪 इथे करून पाहा — t = 0 ला एक ओळ लिहिली — घड्याळ पुढे सरकवा आणि server ला उशिरा उत्तर देऊ द्या (idle timeout 350 s)