Course-এর সূচি

22.8

Networking-এর খরচ

AZ, Region আর internet পেরোলে কোনটা ফ্রি আর কোনটায় টাকা লাগে, NAT বনাম endpoint, আর বাইরে যাওয়া traffic-এর ডিজাইন।

18 মিনিট পড়া + Animation

টিপস: ডটেড-আন্ডারলাইন করা যেকোনো শব্দে ট্যাপ বা Hover করলে তার অর্থ দেখবে।

এই লেসন শেষে তুমি পারবে

  • কোন network traffic-এর জন্য AWS টাকা নেয় আর কোনটার জন্য নেয় না, বলতে: internet থেকে ভেতরে আসা, একই AZ-এর ভেতরে, AZ পেরিয়ে, public IP-তে, Region পেরিয়ে, internet-এ বের হওয়া আর Direct Connect দিয়ে বের হওয়া।
  • GB প্রতি দাম থেকে মাসের data transfer বিল হিসাব করতে, AZ পেরোনো traffic-এর “প্রতি দিকে” নিয়ম আর internet egress-এর ধাপে ধাপে কমা দামসহ।
  • একই traffic-এর জন্য NAT gateway, gateway endpoint আর interface endpoint-এর খরচ তুলনা করতে, আর অন্য AZ-এর NAT ব্যবহারের ফাঁদটা চিনতে।
  • VPC-র মাঝে traffic-এর জন্য VPC peering আর Transit Gateway-র খরচ তুলনা করতে।
  • CloudFront দিয়ে, data-র পাশে হিসাব সরিয়ে এনে আর Direct Connect দিয়ে egress কমাতে, আর S3 Transfer Acceleration ও cross-Region replication কত যোগ করে তা জানতে।
  • পরীক্ষার খরচের প্রশ্ন পড়ে availability-র শর্ত মেনে সবচেয়ে সস্তা design বেছে নিতে, আর অধ্যায় ২২-এর cheat sheet দেখে ঠিক connectivity option বাছতে।

#Network কেন বিলে আলাদা একটা লাইন পায়

বেশিরভাগ মানুষ একটা design-এর দাম ধরে server আর storage দিয়ে। তারপর প্রথম আসল বিল আসে, আর দেখা যায় data transfer বা NAT gateway নামের একটা লাইন বিলের সবচেয়ে বড়গুলোর একটা। Network-এর খরচ GB প্রতি সামান্যই, কিন্তু সেটা লাগে প্রতিটা gigabyte-এ, আর অনেক design কারও চোখে না পড়েই terabyte terabyte data নাড়ায়: অন্য AZ-এর database-এর সাথে বকবক করা একটা ব্যস্ত app, NAT gateway দিয়ে S3 থেকে data টানা একটা batch job, সরাসরি bucket থেকে চালানো একটা video।

Owner-এর note-এ খরচের কথা এসেছে শুধু ছুঁয়ে ছুঁয়ে: অন্য AZ-এর NAT ব্যবহার করলে বাড়তি টাকা লাগে (লেসন ৩.৪), Elastic IP-র বিল হয় (লেসন ৩.৬), gateway endpoint ফ্রি কিন্তু interface endpoint-এ টাকা লাগে (লেসন ২২.২), আর শুরু করতে VPN Direct Connect-এর চেয়ে সস্তা (লেসন ২২.৪ আর ২২.৫)। এই লেসন সবকিছু সংখ্যাসহ এক মানচিত্রে বসায়, যাতে কিছু বানানোর আগেই তুমি একটা design-এর দাম কষে ফেলতে পারো।

#দামের মানচিত্র

নিচের diagram-টাই আসলে পুরো লেসন, এক ছবিতে। প্রতিটা তীর একেক ধরনের traffic; প্রতিটা badge বলছে ওই তীরে এক gigabyte যেতে কত লাগে।

Data transfer-এর দামের মানচিত্র: কোনটা ফ্রি, কোনটায় টাকা লাগে

ap-south-1-এ একটা application, দুটো AZ-এ server, Singapore-এ disaster recovery-র একটা কপি, internet-এর user আর Direct Connect দিয়ে জোড়া একটা অফিস। প্রতিটা ধরনের traffic-এর পেছনে পেছনে যাও আর badge-এ তার দাম পড়ো।

পরিস্থিতি

তিনটা দিকে কোনো টাকা লাগে না: internet থেকে ভেতরে আসা, একই AZ-এর ভেতরে private IP দিয়ে, আর নিজের line দিয়ে ভেতরে আসা।

ap-south-1
AZ-a
AZ-b
Singapore
Internet user
অফিসDirect Connect
Web server10.0.1.10ভেতরে: ফ্রি
Cache10.0.1.20
Database10.0.2.30
DR কপি
upload (ভেতরে)
ধাপ 1 / 3
1

একজন customer একটা ছবি upload করল। Internet থেকে ভেতরে আসা data সব Region-এই ফ্রি: AWS চায় তোমার data ভেতরে আসুক, তাই দরজায় কখনো টাকা নেয় না।

#ফ্রি: যে দিকগুলোতে কোনো খরচ নেই

  • Internet থেকে ভেতরে। Upload, request, internet থেকে আসা যা কিছু, সব Region-এই ফ্রি।
  • একই AZ-এর ভেতরে, private IP দিয়ে। একই AZ-এর দুটো instance নিজেদের private address দিয়ে কথা বললে যত data-ই পাঠাক, এক পয়সাও লাগে না।
  • একই Region-এ EC2 আর S3, DynamoDB, SQS বা অন্য Regional service-এর মাঝে। Service-কে টাকা দাও request আর storage-এর জন্য, transfer-এর জন্য না। (তবে NAT gateway হয়ে গেলে NAT-এর processing fee লাগবেই: নিচে দেখো।)
  • AWS origin (S3, EC2, ALB) থেকে CloudFront-এ। Origin থেকে আনা ফ্রি; CloudFront টাকা নেয় viewer-এর কাছে পৌঁছে দেওয়ার জন্য।
  • Direct Connect বা Site-to-Site VPN দিয়ে ভেতরে। AWS-এ ঢোকা data ফ্রি; টাকা দাও port-এর ঘণ্টা বা connection-এর ঘণ্টার জন্য।
  • একই AZ-এর ভেতরে VPC peering। মে ২০২১ থেকে এক AZ-এর ভেতরে থাকা peering traffic ফ্রি (লেসন ২২.১)।
  • Gateway endpoint। ঘণ্টার খরচ নেই, GB প্রতি খরচও নেই (লেসন ২২.২)।

#টাকা লাগে: AZ, Region বা AWS ছেড়ে গেলে

Trafficus-east-1 (পরীক্ষার সংখ্যা)ap-south-1 (Mumbai)
Internet থেকে ভেতরেফ্রিফ্রি
একই AZ, private IPফ্রিফ্রি
AZ-এর মাঝে (EC2, RDS, ElastiCache, ENI, peering)বের হতে GB প্রতি $0.01 + ঢুকতে GB প্রতি $0.01একই
Region-এর ভেতরে public বা Elastic IPv4 address-এপ্রতি দিকে GB প্রতি $0.01, একই AZ-এ হলেওএকই
অন্য Region-এ (টাকা নেয় পাঠানো Region)GB প্রতি প্রায় $0.02GB প্রতি প্রায় $0.086
Internet-এ বের হওয়ামাসে প্রথম ১০০ GB ফ্রি (পুরো account, সব Region মিলিয়ে), তারপর প্রথম ১০ TB পর্যন্ত GB প্রতি $0.09, বেশি ধাপে $0.085, $0.07, $0.05প্রথম ১০ TB পর্যন্ত $0.109, তারপর $0.085, $0.082, $0.08
Direct Connect দিয়ে বের হওয়াGB প্রতি প্রায় $0.02 (US location) + port-এর ঘণ্টাGB প্রতি প্রায় $0.045 (Mumbai location) + port-এর ঘণ্টা

দামগুলো নভেম্বর ২০২৬-এ AWS-এর price list-এর সাথে মিলিয়ে দেখা। Region ভেদে এগুলো আলাদা, সময়ের সাথে বদলায়ও: কোনো সংখ্যায় ভরসা করার আগে pricing page বা AWS Pricing Calculator দেখে নিও।

সংখ্যার চেয়ে দুটো পড়ার নিয়ম বেশি জরুরি:

১. “প্রতি দিকে” মানে একটা transfer-এর জন্য দুবার টাকা। AZ-a থেকে AZ-b-তে এক gigabyte গেলে AZ-a ছাড়ার সময় $০.০১ আর AZ-b-তে পৌঁছানোর সময় $০.০১: যত GB যায়, প্রতিটায় $০.০২। দুটো instance-ই তোমার account-এ থাকলে দুই অংশই তোমার বিলে ওঠে।

২. যে দিকে data বেরিয়ে যায়, সেটাই দামি। Region-এর ভেতরে এক cent; Region ছাড়লে দুই cent বা তার বেশি; AWS ছাড়লে নয় cent বা তার বেশি। Data যত দূরে যায়, দাম তত বেশি।

#Region-এর ভেতরে public IP নাকি private IP

একই AZ-এর ভেতরে দুটো instance বিনা পয়সায় কথা বলতে পারে, কিন্তু শুধু নিজেদের private address দিয়ে। একটা যদি অন্যটার public বা Elastic IP-তে পাঠায়, সেই traffic-এর বিল হয় AZ পেরোনো traffic-এর মতো, প্রতি দিকে GB প্রতি $০.০১, যদিও দুটো server পাশাপাশি বসে আছে। Private IP দ্রুতও: traffic VPC-র কিনারা ঘুরে আসে না।

এটা ঘটে কীভাবে: config file-এ সরাসরি লেখা একটা Elastic IP, এমন একটা public DNS নাম যেটা public address দেয়, অথবা কোনো client নিজের কোম্পানির service-এই public endpoint দিয়ে যায়। সমাধান বিনা খরচে: private IP ব্যবহার করো, অথবা এমন নাম যেটা VPC-র ভেতরে private IP দেয় (DNS hostname চালু থাকলে VPC-র ভেতর থেকে একটা instance-এর public DNS নাম তার private IP-ই দেয়)।

#AZ পেরোনো traffic আর high availability

Production system কমপক্ষে দুটো AZ-এ চলে (লেসন ১.২), তাই কিছু traffic-কে AZ পেরোতেই হবে। আসল দক্ষতা হলো, যেসব পারাপার availability কিনে দেয় সেগুলোর দাম দেওয়া, আর যেগুলো কিছুই কিনে দেয় না সেগুলো এড়ানো।

AZ পেরোনো traffic: high availability-র দাম

ঢাকার একটা payment company দুটো AZ-এ app server চালায়, সাথে Multi-AZ database আর একটা read replica। কোন তীরে টাকা লাগে, কোনটায় লাগে না?

পরিস্থিতি

App fleet-এর অর্ধেক AZ-b-তে, primary database AZ-a-তে।

AZ-a
AZ-b
App (a)
Primary DBএকই AZ: ফ্রি
App (b)
Replica
Standby
Analytics
query
ধাপ 1 / 3
1

App (a) নিজের AZ-এর primary database-এর সাথে private IP দিয়ে কথা বলে: যত বেশিই কথা বলুক, ফ্রি।

কোন traffic AZ পেরোয়, আর টাকা দেয় কে:

  • অন্য AZ-এর database-এ app server-এর query: টাকা লাগে, দুই দিকেই। দুই AZ-এর app fleet-এর অর্ধেক সবসময় অন্য AZ-এর primary database-এর সাথে কথা বলে।
  • RDS Multi-AZ replication (primary থেকে standby): ফ্রি। টাকা দাও standby instance আর তার storage-এর, replication-এর byte-এর না।
  • একই Region-এর RDS read replica, যেকোনো AZ-এ: replication ফ্রি (লেসন ৭.১)। অন্য Region-এ হলে replication-এর বিল হয় inter-Region transfer হিসেবে।
  • Read replica-র পাঠক: সাধারণ নিয়ম। Replica-র AZ-এর analytics server বিনা পয়সায় পড়ে; অন্য AZ-এ থাকলে AZ পেরোনোর টাকা দেয়।
  • Load balancer: একটা ALB অন্য AZ-এর target-এ পাঠালে data transfer-এর টাকা লাগে না; NLB বা GWLB-তে cross-zone load balancing চালু থাকলে AZ পেরোনো byte-গুলোর বিল হয় সাধারণ inter-AZ transfer হিসেবে (লেসন ৬.৪)।
  • অন্য AZ-এর NAT gateway: টাকা লাগে, NAT-এর processing fee-র ওপরে (পরের অংশ)।

#NAT gateway নাকি VPC endpoint

NAT gateway দুভাবে টাকা নেয়: যতক্ষণ আছে ততক্ষণ ঘণ্টা হিসেবে, আর যা কিছু process করে তার জন্য gigabyte হিসেবে, দুই দিকেই। us-east-1-এ সেটা ঘণ্টায় প্রায় $০.০৪৫ (মাসে প্রায় $৩৩) আর GB প্রতি $০.০৪৫; Mumbai-তে দুটোই প্রায় $০.০৫৬। এর ওপরে আছে সাধারণ data transfer-এর খরচ: internet-এ বের হওয়া data, অথবা NAT gateway অন্য AZ-এ থাকলে AZ পেরোনো। একই Region-এর S3 আর DynamoDB-তে যাওয়া traffic-এর transfer খরচ নেই, তাই এই service-গুলোর জন্য NAT-এর fee পুরোটাই অকারণ বোঝা।

NAT gateway নাকি endpoint: মাসে S3 থেকে ১০ TB

Private subnet-এর একটা report job মাসে একই Region-এর S3 থেকে ১০ TB পড়ে (us-east-1-এর দাম)। একই data, চার রকম বিল।

পরিস্থিতি

কেউ কিছু না ভাবলে এই পথটাই চলে।

VPC
AZ-a
AZ-b
NAT gateway
Report job
Amazon S3
GET
ধাপ 1 / 4
1

Private subnet-এর route table 0.0.0.0/0 পাঠায় একই AZ-এর NAT gateway-তে, তাই S3-এর request-ও ওখানে যায়। Gateway ব্যস্ত থাকুক বা না থাকুক, ঘণ্টায় প্রায় $০.০৪৫: ৭৩০ ঘণ্টার মাসে $৩২.৮৫।

একই Region-এর S3 থেকে মাসে একই ১০ TB, us-east-1-এর দাম, ৭৩০ ঘণ্টার মাস:

পথঘণ্টার খরচGB প্রতিমাসের network বিল
NAT gateway, একই AZ$0.045 × 730 = $32.8510,240 × $0.045 = $460.80≈ $494
অন্য AZ-এর NAT gateway$32.85$460.80 + 10,240 × $0.02 = $665.60≈ $698
Gateway endpoint$0$0$0
Interface endpoint, ২টা AZ2 × 730 × $0.01 = $14.6010,240 × $0.01 = $102.40≈ $117

Mumbai-তে NAT-এর লাইন প্রায় $৬১৪ আর interface endpoint প্রায় $১২১ (সেখানে ঘণ্টার দাম $০.০১৩); gateway endpoint তখনো $০।

VPC জোড়ার তিনটা উপায়ের (লেসন ২২.১, ২২.২ আর ২২.৬) দামের গড়ন আলাদা:

VPC peeringTransit GatewayPrivateLink (interface endpoint)
নির্দিষ্ট খরচনেইAttachment-এর ঘণ্টা প্রতি: প্রায় $0.05 (us-east-1), $0.07 (Mumbai)প্রতি endpoint, প্রতি AZ, ঘণ্টা প্রতি: প্রায় $0.01 (us-east-1), $0.013 (Mumbai)
GB প্রতিএকই AZ-এ ফ্রি; AZ পেরোলে প্রতি দিকে $0.01; Region পেরোলে inter-Region হারপ্রতি GB processing-এ $0.02, TGW peering দিয়ে Region পেরোলে inter-Region হার আলাদাপ্রতি GB processing-এ প্রায় $0.01
কিসের জন্য ভালোঅল্প কয়েকটা VPC, ভারী trafficঅনেক VPC, transitive routing, VPN/Direct Connect ভাগাভাগিএকটা service খুলে দেওয়া, CIDR মিলে গেলেও

একটা হিসাব করে দেখা যাক: এক account-এর দুটো VPC মাসে ৩০ TB আদান-প্রদান করে, যার অর্ধেক AZ পেরোয়।

  • Peering: ঘণ্টার খরচ নেই; ১৫ TB এক AZ-এর ভেতরে থাকে (ফ্রি); ১৫ TB AZ পেরোয়: ১৫,৩৬০ × $০.০২ = $৩০৭।
  • Transit Gateway (us-east-1): ২টা attachment × ৭৩০ × $০.০৫ = $৭৩, সাথে ৩০,৭২০ GB × $০.০২ = $৬১৪: $৬৮৭। এর ওপরে AZ পেরোনোর আলাদা খরচ নেই: ২০২২-এর এপ্রিল থেকে AWS transit gateway (আর PrivateLink) দিয়ে AZ পেরোনো data transfer-এর টাকা নেয় না, শুধু $০.০২ processing।

দুই-তিনটা VPC অনেক কথা বললে peering-ই সস্তা রাস্তা। ৫০টা VPC হলে ১,২২৫টা peering connection-এর জাল চালানো দুঃস্বপ্ন (লেসন ২২.১), আর Transit Gateway-র fee দিয়ে তুমি এমন একটা network কেনো যেটা সামলানো যায়: পরীক্ষা চায় তুমি এই আদান-প্রদানটা দেখো, এটাকে ভুল ভেবো না। একটা চালু pattern দুটোকেই মেলায়: সবকিছু একটা transit gateway-তে, আর যে দুটো VPC সবচেয়ে বেশি data আদান-প্রদান করে তাদের মাঝে সরাসরি একটা peering connection।

#AWS থেকে data বাইরে নেওয়া

#Ingress ফ্রি, egress না

Ingress মানে AWS-এ ঢোকা traffic; এটা ফ্রি। Egress মানে AWS থেকে বেরিয়ে যাওয়া traffic, internet-এ বা তোমার নিজের network-এ, আর মানচিত্রে এটাই সবচেয়ে দামি তীর। তাই egress-এর প্রধান নিয়ম সহজ: কম পাঠাও, আর পাঠাতেই হলে সবচেয়ে সস্তা পথে পাঠাও।

AWS থেকে data বাইরে নেওয়া: সবচেয়ে দামি দিক

ঢাকার একটা video streaming startup আর একটা ব্যাংক, দুটোই ap-south-1-এ (Mumbai-র দাম)। দেখো data কোথায় AWS ছেড়ে বের হচ্ছে, আর কতটা।

পরিস্থিতি

মাসে ৫০ TB video, বাংলাদেশের viewer-দের কাছে।

ap-south-1
Viewer
Video bucket
GET /ep1.mp4
ধাপ 1 / 2
1

Viewer-রা সরাসরি bucket থেকে video আনছে। প্রতিটা request ছোট, আর ভেতরে পাঠানো ফ্রি।

#Data-র কাছে হিসাব

একটা ব্যাংক নিজের database AWS-এ রাখে, কিন্তু reporting tool চালায় অফিসে। প্রতিটা report network দিয়ে ১০০ MB কাঁচা row টেনে ৫০ KB-র একটা summary বানায়। দিনে ১০,০০০ report মানে মাসে প্রায় ৩০ TB AWS ছেড়ে বের হচ্ছে। Reporting tool-কে AWS-এ, database-এর পাশে সরিয়ে আনো, তাহলে বের হবে শুধু ৫০ KB-র summary: মাসে প্রায় ১৫ GB। একই কাজ, দুই হাজার গুণ কম egress।

নিয়মটা সব জায়গায় খাটে: data যেখানে থাকে, সেখানেই filter, aggregate, compress আর render করো, বাইরে পাঠাও শুধু উত্তরটা। ETL job চালাও bucket-এর Region-এ; file download না করে Athena দিয়ে query করো; join-টা database-কেই করতে দাও।

#S3, CloudFront, Transfer Acceleration আর replication

S3 থেকে দেওয়া data-র জন্য (us-east-1-এর সংখ্যা, পরীক্ষায় যেগুলো আসে):

  • S3-এ ingress: ফ্রি।
  • S3 থেকে internet-এ: মাসের প্রথম ১০ TB পর্যন্ত GB প্রতি প্রায় $০.০৯ (account-এর ১০০ GB ফ্রির পরে)।
  • S3 থেকে CloudFront-এ: ফ্রি। CloudFront থেকে internet-এ: উত্তর আমেরিকা আর ইউরোপে GB প্রতি প্রায় $০.০৮৫, বেশি ধাপে আরও কম, আর মাসে ১ TB ফ্রি। India-র edge-এ প্রায় $০.১০৯।
  • S3 Transfer Acceleration: সাধারণ transfer-এর ওপরে GB প্রতি বাড়তি $০.০৪ (US, ইউরোপ আর জাপানের edge দিয়ে) বা $০.০৮ (অন্য জায়গায়), আর শুধু তখনই কাটে যখন সত্যিই transfer দ্রুত হয়েছে (লেসন ১০.৬)।
  • S3 cross-Region replication: replicate হওয়া byte-গুলোর বিল হয় inter-Region transfer হিসেবে (us-east-1 থেকে GB প্রতি $০.০২, Mumbai থেকে $০.০৮৬), সাথে replication-এর request (লেসন ১০.৪)।

CloudFront-এর GB প্রতি দাম S3-এর চেয়ে সামান্যই কম, তাহলে সাশ্রয়টা আসে কোথা থেকে? Origin থেকে ফ্রিতে আনা থেকে (প্রতিটা object S3 ছাড়ে প্রতি edge-এ একবার, প্রতি viewer-এ একবার না), মাসের ১ TB free tier থেকে, S3-এর GET request অনেক কমে যাওয়া থেকে (ওগুলোর আলাদা দাম আছে), origin EC2 হলে ছোট origin fleet থেকে, আর স্থির traffic-এর জন্য CloudFront-এর committed বা flat-rate দাম থেকে (লেসন ১১.১)। সাথে viewer data পায় কাছের edge থেকে, তাই দ্রুতও।

#Hybrid egress: VPN নাকি Direct Connect

যে data নিজের network-এ ফেরত আনতেই হবে, সেটা AWS ছাড়ে হয় internet দিয়ে (Site-to-Site VPN-এর নিচেও আসলে internet, তাই internet-এর হারেই টাকা), নয়তো Direct Connect দিয়ে, যার নিজের কম GB প্রতি হার আছে, সাথে port-এর fee:

  • VPN দিয়ে: connection-এর ঘণ্টা প্রতি $০.০৫ (us-east-1), সাথে internet-এর হারে বের হওয়া data।
  • Direct Connect দিয়ে: port-এর ঘণ্টা প্রতি fee (১ Gbps dedicated port ঘণ্টায় প্রায় $০.৩০; Mumbai-তে ১ Gbps hosted connection প্রায় $০.৩৩), সাথে Direct Connect-এর হারে বের হওয়া data: US Region থেকে US location-এ GB প্রতি প্রায় $০.০২, Mumbai থেকে Mumbai location-এ $০.০৪৫। তোমার building থেকে location পর্যন্ত circuit-এর জন্য partner আলাদা টাকা নেয়।

হারটা নির্ভর করে data কোন Region ছাড়ছে আর কোন Direct Connect location-এ যাচ্ছে তার ওপর। Slide-এর কথাটা হলো, তোমার workload যে AWS Region-এ, সেই Region-এরই একটা location নিলে egress-এর দাম সবচেয়ে কম। Mumbai থেকে মাসে বিশ terabyte internet দিয়ে পাঠাতে প্রায় $১,৯৯০, আর Direct Connect দিয়ে প্রায় $৯২২ সাথে port: line নিজের খরচ তোলে শুধু একটা নির্দিষ্ট পরিমাণের বেশি data হলে, আর সাধারণত লোকে line কেনে দামের পাশাপাশি স্থির bandwidth আর গোপনীয়তার জন্যও (লেসন ২২.৫)।

#Public IPv4 address

ফেব্রুয়ারি ২০২৪ থেকে প্রতিটা public IPv4 address-এর দাম ঘণ্টায় প্রায় $০.০০৫ (মাসে প্রায় $৩.৬৫), attach করা থাকুক বা অলস পড়ে থাকুক, Elastic হোক বা নিজে থেকে পাওয়া (লেসন ৩.৬, এখানে আর পুনরাবৃত্তি করছি না)। পঞ্চাশটা server-এর প্রতিটায় public IP মানে শুধু address-এর জন্যই মাসে প্রায় $১৮০। Server-গুলোকে load balancer বা NAT gateway-এর পেছনে private subnet-এ রাখো, অপ্রয়োজনীয় Elastic IP ছেড়ে দাও, আর client পারলে IPv6 ব্যবহার করো (লেসন ২২.৭): IPv6 address-এ এমন কোনো খরচ নেই।

#নিজের বিল নিজে কষো

একটা দামের সেট বেছে নাও, মাসের পরিমাণগুলো লেখো, আর calculator বিলটা খাত ধরে ধরে ভেঙে দেখাবে, সাথে প্রতিটা লাইনের জন্য একটা সস্তা design। শুরুর সংখ্যাগুলো Mumbai-র একটা মাঝারি কোম্পানির।

Network খরচের calculator

মাসের পরিমাণগুলো লেখো। প্রতিটা লাইনে দেখাবে আজ কত খরচ হচ্ছে, আর সস্তা একটা design-এ কত হতো। দামগুলো শুধু উদাহরণ: Region ভেদে আলাদা আর সময়ের সাথে বদলায়, তাই AWS-এর pricing page দেখে নিও (যাচাই করা হয়েছে নভেম্বর ২০২৬-এ)।

দাম:
  • EC2 বা S3 থেকে internet-এ বের হওয়া data

    $1,981.13→$1,899.52

    সস্তা design: CloudFront দিয়ে পাঠাও: origin থেকে CloudFront-এ আনা ফ্রি, মাসে ১ TB ফ্রি, আর cache hit মানে S3-এর কম request আর ছোট origin server (এই সাশ্রয়গুলো এখানে ধরা হয়নি)।

  • AZ-এর মাঝে traffic (যত GB যায়)

    $102.40→$30.72

    সস্তা design: HA-তে সমস্যা না হলে বেশি কথা বলা জোড়াগুলো এক AZ-এ রাখো: read replica-র পাশে তার পাঠক, প্রতিটা AZ-এ একটা cache node, AZ বুঝে routing। ধরা হয়েছে এর ৭০ % এক AZ-এর ভেতরে রাখা যায়।

  • একই Region-এর ভেতরে public বা Elastic IP-তে পাঠানো traffic

    $20.48→$0.00

    সস্তা design: Private IP ব্যবহার করো (বা এমন নাম যেটা private IP দেয়): একই AZ-এ ফ্রি, আর কখনো সাধারণ cross-AZ হারের বেশি না।

  • অন্য Region-এ পাঠানো data

    $176.13→সস্তা বিকল্প নেই

    সস্তা design: ফ্রি বিকল্প নেই: disaster recovery বা স্থানীয় পাঠকের যতটুকু লাগে, শুধু ততটুকু কপি করো, compress করো, আর প্রতিটা request-এ Region পেরিয়ে না গিয়ে কপিটা স্থানীয়ভাবে পড়ো।

  • NAT gateway দিয়ে যাওয়া S3 বা DynamoDB traffic

    $573.44→$0.00

    সস্তা design: S3 আর DynamoDB-র জন্য gateway endpoint যোগ করো: ঘণ্টা বা GB প্রতি কোনো খরচ নেই, আর এর route 0.0.0.0/0-এর চেয়ে বেশি নির্দিষ্ট।

  • সারা মাস চালু NAT gateway

    $122.64→সস্তা বিকল্প নেই

    সস্তা design: Production-এ প্রতি AZ-এ একটা, HA-র জন্য এই দামটা ঠিকই আছে। অলস development VPC-র গুলো মুছে দাও; শুধু endpoint দিয়ে চলা private subnet-এর NAT লাগেই না।

  • Transit gateway দিয়ে VPC থেকে VPC-তে traffic

    $358.10→$102.40

    সস্তা design: অল্প কয়েকটা VPC আর ভারী traffic হলে VPC peering-এ ঘণ্টা বা processing-এর খরচ নেই: একই AZ-এ ফ্রি, নইলে সাধারণ cross-AZ হার (ধরা হয়েছে অর্ধেক AZ পেরোয়)। অনেক VPC আর transitive routing-এর জন্য transit gateway রাখো।

  • VPN বা internet দিয়ে AWS থেকে অফিসে যাওয়া data

    $1,989.63→$1,140.60

    সস্তা design: Direct Connect: বের হওয়ার GB প্রতি দাম কম, সাথে port-এর ভাড়া (এখানে ১ Gbps dedicated port; partner-এর circuit-এর খরচ ধরা হয়নি)। প্রতি মাসে যথেষ্ট data বের হলে তবেই লাভ।

  • Public IPv4 address (ব্যবহারে বা অলস)

    $43.80→সস্তা বিকল্প নেই

    সস্তা design: অলস Elastic IP ছেড়ে দাও, প্রতিটা server-কে public IP না দিয়ে একটা load balancer বা NAT gateway-এর পেছনে রাখো, আর client পারলে IPv6 ব্যবহার করো (লেসন ৩.৬)।

মাসে মোট

$5,367.75→$3,515.81(বাঁচতে পারে $1,851.94)

৭৩০ ঘণ্টার মাস, ১ TB = ১,০২৪ GB, internet-এর ১০০ GB free tier শুধু প্রথম লাইনে, tax বা discount ধরা হয়নি।

#সস্তা network-এর design pattern

১. Region-এর ভেতরে সবকিছুর জন্য private IP ব্যবহার করো। ভেতরের traffic কখনো public বা Elastic IP-তে পাঠিও না।

২. Availability-তে সমস্যা না হলে বকবকে traffic এক AZ-এ রাখো: প্রতি AZ-এ একটা cache node, AZ বুঝে routing, read replica-র পাশে তার পাঠক। যা কিছু চালু রাখতেই হবে, তার জন্য দুটো AZ রাখো।

৩. যে VPC S3 আর DynamoDB ব্যবহার করে, সেখানে gateway endpoint। অন্য service-এর জন্য interface endpoint, যখন traffic এত বেশি যে NAT-কে হারায়।

৪. প্রতি AZ-এ একটা NAT gateway, প্রতিটা AZ-এর subnet তার নিজের NAT-এ: AZ পেরোনো NAT traffic নেই, single point of failure-ও নেই।

৫. User যা download করে, তার জন্য S3 আর EC2-র সামনে CloudFront।

৬. Data-র কাছে হিসাব: data-র Region-এই process করো, বাইরে পাঠাও শুধু ফলাফল; যা পাঠাতেই হবে, compress করো।

৭. পরিমাণ দেখে connection বাছো: অল্প কয়েকটা ভারী VPC জোড়ার জন্য peering, অনেক VPC-র জন্য Transit Gateway; hybrid egress বেশি আর স্থির হলে Direct Connect।

৮. ভেবেচিন্তে replicate করো: অন্য Region-এ কপি শুধু ততটুকু, যতটুকু disaster recovery বা স্থানীয় user-দের লাগে।

৯. Usage type ধরে বিলে নজর রাখো: Cost Explorer-এ usage type ধরে group করলে দেখা যায় DataTransfer-Regional-Bytes (AZ পেরোনো), DataTransfer-Out-Bytes (internet), NatGateway-Bytes আর inter-Region-এর type-গুলো; VPC Flow Logs (লেসন ২২.৩) দেখায় কোন instance কার সাথে কথা বলছে।

#কোথায় গোলমাল হয়

  • Server-এর চেয়ে বড় NAT gateway-র লাইন: gateway endpoint ছাড়া NAT দিয়ে S3 বা DynamoDB-র traffic, অথবা প্রতিটা deployment-এ public registry থেকে NAT দিয়ে container image টানা।
  • “সব এক AZ-এ” তবু AZ পেরোনোর খরচ: একটা instance পাশেরটার সাথে কথা বলছে Elastic IP বা public DNS নাম দিয়ে।
  • তিনটা AZ-এর জন্য একটা NAT gateway: প্রতিটা byte-এ AZ পেরোনোর খরচ, আর এক AZ বিকল হলে সবার internet বন্ধ।
  • কেউ পরিকল্পনা করেনি এমন inter-Region লাইন: এক Region-এর application প্রতিটা request-এ অন্য Region-এর bucket বা database পড়ছে, অথবা DR-এর দরকার ছিল একটা prefix অথচ replication rule সবকিছু কপি করছে।
  • সরাসরি S3 বা EC2 থেকে video বা download: প্রতিটা view-এ পুরো internet egress, তার ওপরে S3-এর request-এর খরচ।
  • দুটো VPC-র জন্য Transit Gateway: attachment-এর ঘণ্টা আর GB প্রতি $০.০২, এমন traffic-এর জন্য যেটা peering একই AZ-এ ফ্রিতে বইত।
  • Mumbai-র design-এ us-east-1-এর সংখ্যা: সেখানে inter-Region traffic বইয়ের দামের চার গুণেরও বেশি।
  • Test VPC-তে অলস Elastic IP আর ভুলে যাওয়া NAT gateway: দুটোরই প্রতি ঘণ্টায় বিল হয় (লেসন ১.৪)।

#System design-এ এর ব্যবহার

  • খরচ design-এরই একটা গুণ। ভালো design তার data-র পথগুলো আর প্রতিটার GB প্রতি দাম বলে দেয়: Well-Architected-এর cost pillar ঠিক এটাই জানতে চায়। বানানোর আগে নিজের architecture-এর দামের মানচিত্র আঁকো।
  • AZ-এর ভেতরে স্থানীয়, Region জুড়ে বিস্তৃত। Availability-র জন্য Multi-AZ, কিন্তু গরম পথগুলোতে AZ-এর প্রতি টান: প্রতিটা AZ-এর app server নিজের AZ-এর cache, নিজের NAT gateway আর read-এর জন্য নিজের AZ-এর replica ব্যবহার করে।
  • স্বাভাবিক অবস্থায় private। Private subnet, S3 আর DynamoDB-র জন্য gateway endpoint, সবচেয়ে বেশি ব্যবহৃত AWS API-গুলোর জন্য interface endpoint, NAT শুধু সেটুকুর জন্য যার সত্যিই internet লাগে।
  • Egress-এর জন্য edge। Public যা কিছু, তার সামনে CloudFront (HTTP ছাড়া অন্য কিছুর জন্য Global Accelerator); origin কখনো সরাসরি user-এর সাথে কথা বলে না।
  • পরিমাণ দেখে hybrid। পরিমাণ অল্প বা line এখনো তৈরি না হলে Site-to-Site VPN; egress আর bandwidth port-এর খরচ যুক্তিসঙ্গত করলে Direct Connect; VPN থেকে যায় সস্তা backup হিসেবে।

#অধ্যায় ২২-এর cheat sheet

পুরো অধ্যায় এক পাতায়, সাথে আগের VPC লেসনগুলো, যেগুলোর ওপর এটা দাঁড়িয়ে। প্রশ্নের keyword পড়ো, তারপর যে একটা সারি মেলে সেটা বেছে নাও।

দরকারউত্তরমূল কথালেসন
VPC বা subnet-এর IP rangeCIDRVPC /16–/28; প্রতি subnet-এ ৫টা reserved IP৩.১
AZ ধরে ভাগ করা একটা private networkVPC আর subnetSubnet = একটা AZ; route table ঠিক করে public নাকি private৩.২
Public subnet-এর জন্য internetInternet gateway + route table0.0.0.0/0 → igw-; gateway ফ্রি৩.৩
Private server-এ SSHBastion host (বা Session Manager)Public subnet, SG শুধু তোমার IP-কে ঢুকতে দেয়৩.৪
Private subnet-এর জন্য IPv4 internetNAT gateway (NAT instance পুরোনো, source/destination check বন্ধ করতে হয়)প্রতি AZ-এ একটা; ঘণ্টা + GB প্রতি৩.৪
Traffic ছাঁকাSecurity group (stateful, instance) / NACL (stateless, subnet, ephemeral port)NACL-এ deny rule আর ক্রম আছে৩.৫
একটা স্থির public addressElastic IPফেব্রুয়ারি ২০২৪ থেকে প্রতিটা public IPv4-এর বিল হয়৩.৬
দুটো VPC private পথে জোড়াVPC peeringCIDR মিলবে না, transitive না, দুই দিকেই route২২.১
Internet ছাড়া S3 বা DynamoDBGateway endpointফ্রি, route table, শুধু একই VPC২২.২
অন্য AWS service, বা on-premises থেকে S3Interface endpoint (PrivateLink)ENI + SG + private DNS; ঘণ্টা + GB প্রতি২২.২
নিজের service অন্য VPC বা customer-কে দেওয়াPrivateLink endpoint serviceNLB (বা GWLB)-এর পেছনে; peering নেই, route table নেই, CIDR মিললেও চলে২২.২
কে কার সাথে কথা বলল, accepted নাকি rejectedVPC Flow LogsVPC/subnet/ENI; শুধু metadata; S3 + Athena বা CloudWatch Logs Insights২২.৩
কয়েক মিনিটে অফিসের সাথে encrypted linkSite-to-Site VPNOn-premises-এ CGW, AWS-এ VGW বা TGW, ২টা tunnel, internet-এর ওপর দিয়ে২২.৪
শাখা অফিসগুলোর মাঝে সস্তায় যোগাযোগVPN CloudHubএকটা VGW-তে hub and spoke, BGP২২.৪
Private, স্থির, বেশি bandwidth-এর lineDirect Connectচালু হতে কয়েক সপ্তাহ, encrypted না (ওপরে VPN বা MACsec)২২.৫
একটা Direct Connect দিয়ে অনেক Region-এর VPCDirect Connect gatewayGlobal; এর ভেতর দিয়ে VPC থেকে VPC না২২.৫
অনেক VPC, VPN আর Direct Connect, transitiveTransit GatewayRegional hub, route table, RAM দিয়ে ভাগ, ECMP২২.৬
খুঁটিয়ে দেখার জন্য packet কপিTraffic MirroringENI থেকে NLB বা ENI target-এ, VXLAN২২.৭
শুধু বাইরে যাওয়ার IPv6Egress-only internet gatewayIPv6-এর NAT gateway; ফ্রি২২.৭
পুরো VPC-তে firewall, domain filtering, IPSAWS Network FirewallL3–L7, stateful, Suricata rule, ভেতরে GWLB২২.৭
Traffic-এর সবচেয়ে সস্তা পথএই লেসনPrivate IP, একই AZ, endpoint, CloudFront, data-র কাছে হিসাব২২.৮

#নিজে করে দেখো

# 1. Last month's data transfer, grouped by usage type (cross-AZ, internet, NAT, inter-Region)
aws ce get-cost-and-usage \
  --time-period Start=2026-10-01,End=2026-11-01 --granularity MONTHLY \
  --metrics UnblendedCost UsageQuantity \
  --filter '{"Dimensions":{"Key":"USAGE_TYPE_GROUP","Values":["EC2: Data Transfer - Inter AZ","EC2: Data Transfer - Internet (Out)","EC2: Data Transfer - Region to Region (Out)","EC2: NAT Gateway - Data Processed"]}}' \
  --group-by Type=DIMENSION,Key=USAGE_TYPE
{
  "ResultsByTime": [{
    "Groups": [
      { "Keys": ["APS3-DataTransfer-Regional-Bytes"],
        "Metrics": { "UnblendedCost": { "Amount": "409.6", "Unit": "USD" },
                     "UsageQuantity": { "Amount": "40960", "Unit": "GB" } } },
      { "Keys": ["APS3-NatGateway-Bytes"],
        "Metrics": { "UnblendedCost": { "Amount": "573.44", "Unit": "USD" },
                     "UsageQuantity": { "Amount": "10240", "Unit": "GB" } } },
      { "Keys": ["APS3-DataTransfer-Out-Bytes"],
        "Metrics": { "UnblendedCost": { "Amount": "1989.63", "Unit": "USD" },
                     "UsageQuantity": { "Amount": "20480", "Unit": "GB" } } }
    ]
  }]
}

DataTransfer-Regional-Bytes হলো AZ পেরোনো (আর public IP-তে যাওয়া) traffic: এর পরিমাণ প্রতিটা দিক আলাদা করে গোনে, তাই এখানে ৪০,৯৬০ GB মানে আসলে ২০ TB গেছে। Usage type-এ APS3 হলো ap-south-1-এর code।

# 2. Look up a price instead of guessing it: NAT gateway in Mumbai
aws pricing get-products --region us-east-1 --service-code AmazonEC2 \
  --filters Type=TERM_MATCH,Field=usagetype,Value=APS3-NatGateway-Bytes \
  --query "PriceList[0]" --output text | jq '.terms.OnDemand[].priceDimensions[] | {description, pricePerUnit}'

# 3. How much is each NAT gateway processing? (bytes in the last 24 hours)
aws cloudwatch get-metric-statistics --namespace AWS/NATGateway \
  --metric-name BytesOutToDestination --dimensions Name=NatGatewayId,Value=nat-0a1b2c3d4e5f67890 \
  --start-time 2026-10-31T00:00:00Z --end-time 2026-11-01T00:00:00Z \
  --period 86400 --statistics Sum

# 4. Which subnets have no S3 gateway endpoint route? (look for a pl-... destination)
aws ec2 describe-route-tables --filters Name=vpc-id,Values=vpc-0a1b2c3d4e5f67890 \
  --query "RouteTables[].{rt:RouteTableId,s3:Routes[?DestinationPrefixListId!=null].DestinationPrefixListId}"

# 5. Public IPv4 addresses you are paying for, attached or not
aws ec2 describe-addresses --query "Addresses[].{ip:PublicIp,assoc:AssociationId}"

তারপর Cost Explorer খোলো, service EC2-Other দিয়ে filter করো, usage type ধরে group করো, আর সবচেয়ে বড় data transfer-এর লাইনটা খুঁজে বের করো। “কোথায় গোলমাল হয়”-এর কোন pattern-এর সাথে মেলে দেখো, আর কোন instance এই traffic বানাচ্ছে তা Flow Logs (লেসন ২২.৩) দিয়ে খোঁজো।

#সারসংক্ষেপ

মূল কথাগুলো

  • ফ্রি: internet থেকে ভেতরে, একই AZ-এ private IP দিয়ে, একই Region-এ EC2 থেকে S3/DynamoDB, AWS origin থেকে CloudFront, Direct Connect বা VPN দিয়ে ভেতরে আসা data, এক AZ-এর ভেতরে peering, gateway endpoint।
  • টাকা লাগে: AZ পেরোলে প্রতি দিকে GB প্রতি $০.০১ (যত GB যায় প্রতিটায় $০.০২); Region-এর ভেতরে public বা Elastic IP-তে traffic-এরও একই দাম, এক AZ-এ হলেও; inter-Region us-east-1 থেকে GB প্রতি প্রায় $০.০২ (Mumbai থেকে প্রায় $০.০৮৬); internet egress মাসে ১০০ GB ফ্রির পরে GB প্রতি প্রায় $০.০৯, ধাপে ধাপে কমে (Mumbai-তে $০.১০৯)।
  • NAT gateway: ঘণ্টা + GB প্রতি প্রায় $০.০৪৫ processing, NAT অন্য AZ-এ থাকলে সাথে AZ পেরোনোর খরচ। S3/DynamoDB-র জন্য gateway endpoint: $০। Interface endpoint: AZ-ঘণ্টা প্রতি প্রায় $০.০১ + GB প্রতি $০.০১।
  • Peering: ঘণ্টার খরচ নেই, এক AZ-এ ফ্রি। Transit Gateway: attachment-এর ঘণ্টা + GB প্রতি $০.০২। অল্প কয়েকটা ভারী VPC জোড়ার জন্য peering সস্তা; অনেক VPC হলে সামলানোর সুবিধায় TGW জেতে।
  • Egress: কম পাঠাও (data-র কাছে হিসাব, compress), CloudFront দিয়ে পাঠাও (origin থেকে আনা ফ্রি, ১ TB ফ্রি, কম request), আর ভারী, স্থির hybrid egress-এর জন্য Direct Connect (GB প্রতি কম, সাথে port-এর ঘণ্টা)।
  • S3: ingress ফ্রি, বাইরে GB প্রতি প্রায় $০.০৯, CloudFront-এ ফ্রি, Transfer Acceleration GB প্রতি +$০.০৪–০.০৮, cross-Region replication-এর বিল inter-Region হিসেবে।
  • RDS: Multi-AZ আর একই Region-এর read replica-র replication ফ্রি; অন্য Region-এর replica inter-Region transfer-এর টাকা দেয়; পাঠকেরা অন্য সবার মতোই AZ পেরোনোর টাকা দেয়।
  • প্রতিটা public IPv4 address ঘণ্টায় প্রায় $০.০০৫।
  • দরকারি দ্বিতীয় AZ কখনো transfer-এর খরচ বাঁচাতে ছেড়ে দিও না; বরং কী পেরোচ্ছে সেটা কমাও। দাম Region ভেদে আলাদা আর বদলায়: pricing page দেখে নিও।