1.2
Region, Availability Zone ও Edge Location
বাস্তবে AWS-এর অবকাঠামো কেমন, Region কীভাবে বেছে নেবে, আর কোন service global, কোনটা regional।
22 মিনিট পড়া + Animation
টিপস: ডটেড-আন্ডারলাইন করা যেকোনো শব্দে ট্যাপ বা Hover করলে তার অর্থ দেখবে।
এই লেসন শেষে তুমি যা পারবে
- AWS বাস্তবে কীভাবে সাজানো, বুঝিয়ে বলতে পারবে: data centre, Availability Zone, Region, আর এদের সামনে বসানো edge network।
- একটা Region code, একটা Availability Zone-এর নাম আর একটা AZ ID পড়তে পারবে, আর বলতে পারবে তোমার account-এর
us-east-1aকেন আমার account-এরus-east-1aনা-ও হতে পারে। - নতুন application-এর জন্য Region বেছে নিতে পারবে, এই ক্রমে: নিয়মকানুন, latency, service আছে কি না, দাম।
- কোনো service বা resource global, regional, নাকি একটা Availability Zone-এ বাঁধা, তা বলতে পারবে, আর কিছু ভাঙলে এর মানে কী দাঁড়ায় সেটাও।
- কখন Local Zone, Wavelength Zone বা Outposts-ই আসল উত্তর, চিনতে পারবে।
- এমন application ডিজাইন করতে পারবে যেটা একটা data centre, একটা পুরো Availability Zone, এমনকি পুরো একটা Region হারালেও টিকে থাকে।
#AWS দেখতে কেমন, সেটা জানা কেন জরুরি
লেসন ১.১-এ দেখেছ, cloud মানে আসলে অন্য কারও কম্পিউটার, ঘণ্টা হিসেবে ভাড়া নেওয়া। এই লেসনে পরের প্রশ্নটার উত্তর: সেই কম্পিউটারগুলো আছে কোথায়, আর সাজানো কীভাবে?
তিনটা কারণে এটা জানা দরকার:
- বিপদ। disk নষ্ট হয়, বিদ্যুৎ যায়, রাস্তা খুঁড়তে গিয়ে fibre কেটে যায়, বন্যার পানি ভবনে ঢোকে। AWS এমনভাবে সাজানো যে প্রতিটা বিপদ একটা নির্দিষ্ট মাপের বাক্সের ভেতরেই আটকে থাকে। বাক্সগুলো চিনলে তুমি জানবে application-এর কপিগুলো কোথায় রাখতে হবে।
- গতি। fibre-এর ভেতর দিয়ে আলোর ১,০০০ km যেতে লাগে প্রায় 5 ms। পৃথিবীর অন্য প্রান্তের server হলে প্রতিটা round trip-এ যোগ হয় একশো-দুশো millisecond, আর CPU যত বাড়াও, এটা কমবে না। তুমি কোথায় চালাচ্ছ, তার ওপরই নির্ভর করে user-এর কাছে site কতটা দ্রুত লাগবে।
- আইন আর টাকা। অনেক দেশ আর অনেক ব্যবসার নিয়মে বলা থাকে মানুষের ব্যক্তিগত বা আর্থিক data কোথায় রাখা যাবে। আবার একই server-এর দাম জায়গাভেদে আলাদা।
AWS-এর উত্তর হলো চার স্তরের একটা সাজানো কাঠামো:
| স্তর | এটা কী | কোন বিপদ থেকে বাঁচায় |
|---|---|---|
| Data centre | rack-এ ভরা একটা ভবন, যার বিদ্যুৎ আর ঠান্ডা রাখার ব্যবস্থা নিজের | একটা server, rack বা বিদ্যুতের লাইন নষ্ট হওয়া (এটা AWS নিজেই সামলায়; কোন data centre, তা তুমি কখনো বাছো না) |
| Availability Zone (AZ) | কাছাকাছি থাকা এক বা একাধিক data centre, যাদের বিদ্যুৎ, network আর সংযোগের একাধিক ব্যবস্থা আছে, আর যারা অন্য AZ থেকে আলাদা | আগুন, বন্যা, বিদ্যুৎ বা network বিকল হয়ে পুরো একটা জায়গা বসে যাওয়া |
| Region | একটা ভৌগোলিক এলাকা (Mumbai, Frankfurt, N. Virginia…), যেখানে কমপক্ষে তিনটা AZ | নিজে থেকে কিছু না: Region হলো সেই একক, যেটা তুমি latency, আইন আর দাম দেখে বেছে নাও। পুরো Region হারালে টিকে থাকতে দ্বিতীয় একটা Region লাগে |
| Edge location | বড় শহরে ছোট একটা জায়গা, যেটা user-এর কাছে content cache করে রাখে আর DNS-এর উত্তর দেয় | দূরত্ব: উত্তর user-এর কাছে নিয়ে আসে, আর আক্রমণ তোমার Region-এ পৌঁছানোর আগেই শুষে নেয় |
একটা ভবন থেকে পুরো Region: AWS-এর বিপদ আটকে রাখার বাক্সগুলো
ধাপে ধাপে একটা Region সাজাও, তারপর একে একে ভাঙো: প্রথমে একটা ভবন, তারপর পুরো একটা Availability Zone, শেষে গোটা Region।
পরিস্থিতি
Region → Availability Zone → data centre → তোমার server।
Region মানে ম্যাপের একটা জায়গা, এখানে Mumbai, যার code ap-south-1। তুমি আসলে এটাই বেছে নাও। নিজে নিজে এটা শুধু একটা সীমানা; ভেতরের সব কিছু আরও ছোট ছোট অংশ দিয়ে বানানো।
#Region
Region হলো পৃথিবীর একটা জায়গা, যেখানে AWS এক গুচ্ছ Availability Zone চালায়। অক্টোবর ২০২৬-এ AWS-এর হিসাবে আছে ৩৯টা Region আর ১২৪টা Availability Zone, আরও কয়েকটা ঘোষণা করা আছে (সৌদি আরব আর চিলি তার মধ্যে)। সংখ্যাটা প্রতি বছর বাড়ে, তাই মুখস্থ না করে দরকার হলে global infrastructure page দেখে নিয়ো; পরীক্ষায় কখনো সংখ্যা জিজ্ঞেস করে না।
৩৯টার সবগুলো কিন্তু সাধারণ account-এর জন্য খোলা না:
- সাধারণ একটা AWS account দিয়ে ব্যবহার করা যায় ৩৪টা commercial Region।
- AWS GovCloud (US)-এ আছে আমেরিকার সরকারি কাজের জন্য দুটো Region, যেখানে ঢুকতে আলাদা GovCloud account লাগে।
- চীনের দুটো Region (Beijing আর Ningxia) চালায় সেখানকার স্থানীয় অংশীদার, এর জন্যও আলাদা account লাগে।
- AWS European Sovereign Cloud (প্রথম Region জার্মানির Brandenburg-এ, জানুয়ারি ২০২৬ থেকে) বাকি সব Region থেকে বাস্তবেও আলাদা, পরিচালনাতেও আলাদা। এটা বানানো হয়েছে এমন ইউরোপীয় গ্রাহকদের জন্য, যাদের data-র ওপর নিজের দেশের নিয়ন্ত্রণ নিয়ে খুব কড়া নিয়ম।
এই আলাদা আলাদা দলগুলোকে বলে partition। resource, account বা login এক partition থেকে আরেক partition-এ যায় না।
#Region code
প্রতিটা Region-এর একটা পুরো নাম আছে, আর একটা code। code-টাই তুমি সারাক্ষণ লিখবে:
| Code | নাম | কোথায় |
|---|---|---|
us-east-1 | US East (N. Virginia) | আমেরিকা, সবচেয়ে পুরনো আর সবচেয়ে বড় Region (৬টা AZ) |
us-west-2 | US West (Oregon) | আমেরিকা |
eu-central-1 | Europe (Frankfurt) | জার্মানি |
eu-west-1 | Europe (Ireland) | আয়ারল্যান্ড |
ap-south-1 | Asia Pacific (Mumbai) | ভারত |
ap-south-2 | Asia Pacific (Hyderabad) | ভারত |
ap-southeast-1 | Asia Pacific (Singapore) | সিঙ্গাপুর |
ap-southeast-2 | Asia Pacific (Sydney) | অস্ট্রেলিয়া |
sa-east-1 | South America (São Paulo) | ব্রাজিল |
ধাঁচটা হলো এলাকা – দিক – সংখ্যা: ap (Asia Pacific), south, 1। সংখ্যাটা শুধু গোনে ওই এলাকায় কয়টা Region খোলা হলো; ap-south-2 মানে স্রেফ “দক্ষিণ Asia Pacific”-এ AWS-এর খোলা দ্বিতীয় Region, ap-south-1-এর backup না।
#আগে থেকে চালু Region আর opt-in Region
২০ মার্চ ২০১৯-এর পরে খোলা Region নতুন account-এ শুরুতে বন্ধ থাকে। সেখানে কিছু বানানোর আগে Region-টা চালু (enable) করে নিতে হয়, account setting থেকে বা Global View console থেকে। Hong Kong, Hyderabad, Jakarta, Melbourne, Milan, Bahrain, সংযুক্ত আরব আমিরাত, Tel Aviv, Cape Town আর একেবারে নতুনগুলো, সবই opt-in। আর পুরনো ১৭টা Region, যেমন us-east-1, ap-south-1, ap-southeast-1, প্রথম দিন থেকেই চালু।
এ কারণেই “সব Region”-এর ওপর loop চালানো কোনো script মাঝে মাঝে authorisation error দেয়: Region-টা আছে ঠিকই, কিন্তু ওই account-এ চালু করা হয়নি।
#তুমি যে Region বাছো, data সেখানেই থাকে
Region একটা data-র সীমানাও। তুমি যখন eu-central-1-এর একটা S3 bucket-এ কোনো object রাখো, AWS সেটা ওই Region-এই রাখে। হারিয়ে না যাওয়ার জন্য Region-এর ভেতরের Availability Zone-গুলোতে কপি হয় ঠিকই, কিন্তু Region-এর বাইরে যায় কেবল তখনই, যখন তুমি (বা তোমার সেট করা কোনো service) সেটা পাঠাও: অন্য Region-এ replication, একটা backup কপি, বা কোনো user যখন সেটা download করে।
এই নিশ্চয়তার জন্যই data residency-র নিয়ম মানতে Region-ই ঠিক হাতিয়ার, যেমন ইউরোপীয় ইউনিয়নের GDPR, বা কোনো কেন্দ্রীয় ব্যাংকের নিয়ম যে গ্রাহকের data দেশের ভেতরেই রাখতে হবে।
#Availability Zone
Availability Zone হলো এক বা একাধিক আলাদা data centre, যাদের বিদ্যুৎ, network আর সংযোগের একাধিক ব্যবস্থা আছে। একটা Region-এর AZ-গুলো:
- বাস্তবে আলাদা: একটা থেকে আরেকটা অনেক কিলোমিটার দূরে, যাতে একটা বন্যা, আগুন, ঝড় বা grid বিকল হওয়া দুটো AZ-কে একসঙ্গে না ছোঁয়; তবু সবগুলো একে অপরের ১০০ km (৬০ মাইল)-এর মধ্যে;
- স্বাধীন: বিদ্যুতের উৎস, ঠান্ডা রাখার ব্যবস্থা আর network-এর পথ, সব আলাদা;
- জোড়া উচ্চ গতির, কম latency-র, পুরোপুরি redundant private fibre দিয়ে। এতটাই দ্রুত যে synchronous replication করা যায় (user-কে “সেভ হয়েছে” বলার আগেই দুটো AZ-এ লেখা হয়ে যায়), সাধারণত round trip লাগে এক অঙ্কের millisecond।
একটা Region-এ AZ থাকে কমপক্ষে তিনটা (us-east-1-এ ছয়টা)। প্রতিটা AZ-এর নাম হয় Region-এর code-এর সঙ্গে একটা অক্ষর জুড়ে: ap-southeast-2a, ap-southeast-2b, ap-southeast-2c।
#AZ-এর নাম আর AZ ID
এবার এমন একটা খুঁটিনাটি, যেটায় সত্যিকারের অনেক দল ধরা খায়। সবচেয়ে পুরনো Region-গুলোতে AWS প্রতিটা account-এর জন্য অক্ষরগুলো এলোমেলো করে দিয়েছিল: তোমার us-east-1a আর আমার us-east-1a হতে পারে দুটো আলাদা আসল AZ। কারণটা সহজ: সবাই তালিকার প্রথমটা, মানে “a” বেছে নেয়; এলোমেলো না করলে সবাই একই ভবনে গিয়ে ভিড় করত।
আলাদা account-এ একই আসল জায়গার কথা বলতে হলে ব্যবহার করো AZ ID, যেমন use1-az1 বা aps1-az2। একটা AZ ID সব account-এ একই আসল AZ-কেই বোঝায়।
- এলোমেলো নামের ঝামেলা শুধু নভেম্বর ২০২৫-এর আগে খোলা account-এ, নয়টা পুরনো Region-এ: N. Virginia, N. California, Oregon, Singapore, Sydney, Tokyo, Ireland, São Paulo আর GovCloud (US-West)। নভেম্বর ২০১২-র পরে চালু হওয়া সব Region-এ সবার জন্য তালিকা একই, আর নভেম্বর ২০২৫ থেকে খোলা account-এও তাই।
- কোন নাম কোন ID, দেখতে পারো
aws ec2 describe-availability-zonesদিয়ে (এটাZoneNameআরZoneIdদুটোই দেখায়), EC2 dashboard-এ, অথবা instance-এর ভেতর থেকে metadata service-এরplacement/availability-zone-idপথে (লেসন ৪.৩)।
এটা কখন দরকার পড়ে? যখনই দুটো account-কে মিলিয়ে চলতে হয়: অন্য account-এর সঙ্গে subnet share করা, cross-AZ খরচ এড়াতে কোনো partner-এর database-এর পাশেই নিজের application বসানো, এক account-এ রিজার্ভ করা capacity অন্য account-এর server-এর সঙ্গে মেলানো। সবসময় মেলাবে AZ ID, নাম কখনো না।
নাম এক, জায়গা আলাদা: AZ নাম আর AZ ID
দুটো account দুজনেই বেছে নিল “us-east-1a”। দেখো তাদের server আসলে কোথায় গিয়ে বসে, আর AZ ID দিয়ে কীভাবে সমস্যাটা মেটে।
পরিস্থিতি
দুই দলই ঠিক করল “us-east-1a” ব্যবহার করবে, বেশির ভাগ মানুষ যেমনটা করে।
কোন account-এ “us-east-1a” মানে কোনটা
| Account | AZ নাম | AZ ID |
|---|---|---|
| A | us-east-1a | use1-az1 |
| A | us-east-1c | use1-az4 |
| B | us-east-1a | use1-az4 |
| B | us-east-1c | use1-az1 |
অক্ষরগুলোর পেছনে আছে আসল AZ, যাদের ID স্থির: use1-az1, use1-az2, use1-az4 ইত্যাদি। এই Region-এ নভেম্বর ২০২৫-এর আগে খোলা প্রতিটা account-কে অক্ষরগুলো আলাদা আলাদা করে এলোমেলোভাবে দেওয়া হয়েছিল।
#Region কীভাবে বাছবে
প্রতিটা নতুন application-এর জন্যই তোমাকে একটা Region বাছতে হবে। চারটা প্রশ্ন করো, ঠিক এই ক্রমে, কারণ প্রথম প্রশ্নটাই বাকি সব উত্তর বাতিল করে দিতে পারে:
১. নিয়মকানুন: data কোথায় রাখার অনুমতি আছে?
আইন, নিয়ন্ত্রক সংস্থা, চুক্তি বা গ্রাহকের নিজের নীতিতে বলা থাকতে পারে, data থাকতে হবে একটা নির্দিষ্ট দেশে বা কয়েকটা দেশের মধ্যে। তাহলে শুধু সেখানকার Region-ই বিবেচনায় আসবে, অন্য কোনো Region বেশি দ্রুত বা সস্তা হলেও। এটা পছন্দ-অপছন্দের ব্যাপার না, এটা একটা কড়া ছাঁকনি।
২. Latency: user-রা কোথায়?
যেগুলো টিকে গেল, তার মধ্যে বেশির ভাগ user-এর সবচেয়ে কাছেরটা বাছো (ম্যাপের দূরত্ব না, network-এর দূরত্ব)। Dhaka থেকে Mumbai, Hyderabad বা Singapore-এ round trip সাধারণত মোটামুটি 30–70 ms, কিন্তু N. Virginia-তে 200 ms-এরও অনেক বেশি। যে web page একবারে কয়েক ডজন request পাঠায়, তার জন্য এই পার্থক্য কয়েক সেকেন্ডের।
৩. Service: যা যা লাগবে, সব কি সেখানে আছে?
নতুন service আর নতুন feature একসঙ্গে সব Region-এ আসে না; অনেকগুলো শুরু হয়
us-east-1-এ, তারপর কয়েক মাস ধরে বাকিগুলোতে ছড়ায়। তুমি যে service আর feature-এর ওপর নির্ভর করছ, তার প্রতিটা AWS services by Region তালিকায় মিলিয়ে নাও, instance type-ও (কোনো GPU type হয়তো হাতে গোনা কয়েকটা Region-এই আছে)।৪. দাম: সেখানে খরচ কত?
Region ভেদে দাম আলাদা, একই instance-এর দাম কখনো কখনো 20–50 % পর্যন্ত বেশি-কম। N. Virginia আর Ohio সবচেয়ে সস্তাগুলোর মধ্যে; São Paulo আর কিছু নতুন Region সবচেয়ে দামিগুলোর মধ্যে। প্রতিটা service-এর pricing page-এ Region ধরে দাম দেওয়া থাকে।
দুটো ছোট বিষয় মাঝে মাঝে সমান-সমান অবস্থায় সিদ্ধান্ত বদলে দেয়: Region-টা opt-in কি না (একটু বেশি সেটআপ), আর সেখানে কয়টা AZ আছে (কিছু ডিজাইনে তিনটার বেশি লাগে)।
Region বাছাই: নিয়মকানুন, latency, service, দাম
একই দল, চারটা আলাদা পরিস্থিতি। দেখো প্রতিবার কোন প্রশ্নটা সিদ্ধান্ত ঠিক করে দেয়।
পরিস্থিতি
বাংলাদেশের ক্রেতাদের জন্য একটা online দোকান। data কোথায় থাকবে, তা নিয়ে কোনো আইনের বাধা নেই।
প্রশ্ন ১, নিয়মকানুন: কোনো Region বাদ পড়ছে না। চারটাই তালিকায় থাকল।
নিজেকে যাচাই করোপ্রশ্ন
জার্মানির একটা healthcare start-up-কে আইন মেনে রোগীর সব record জার্মানির ভেতরেই রাখতে হবে। বেশির ভাগ user-ও জার্মানিতে। এক পরামর্শক বললেন, তাদের instance type-গুলোর দাম eu-west-1 (Ireland)-এ একটু কম। কোন Region ব্যবহার করা উচিত?
#Edge location আর AWS-এর বিশ্বজোড়া network
Region সংখ্যায় কম, একটা থেকে আরেকটা অনেক দূরে: বেশির ভাগ দেশেই কোনো Region নেই। সব জায়গায় user-এর কাছে পৌঁছাতে AWS শত শত শহরে point of presence (PoP)-ও চালায়: অক্টোবর ২০২৬-এ ৭৫০-এর বেশি PoP আর ১৫টা regional edge cache, ১০০-র বেশি শহরে।
| Edge-এর অংশ | এটা কী |
|---|---|
| Edge location (PoP) | ছোট একটা জায়গা, প্রায়ই internet exchange-এর কাছের কোনো carrier-neutral data centre-এর ভেতরে। এখানে CloudFront-এর content cache থাকে, Route 53 DNS-এর উত্তর দেয়, Global Accelerator-এর traffic ঢোকে, আর Shield ও WAF আক্রমণ ছেঁকে ফেলে। |
| Regional edge cache | PoP আর তোমার Region-এর মাঝখানে বসানো আরও বড় একটা cache। ব্যস্ত PoP-এর cache থেকে যে content মুছে গেছে, সেটা প্রায়ই এখানে থেকে যায়, তাই request-কে তোমার server পর্যন্ত পুরো পথ যেতে হয় না। |
| AWS global network | AWS-এর নিজের private fibre, যেটা PoP আর Region-গুলোকে জুড়ে রেখেছে। কাছের PoP দিয়ে এই network-এ ঢুকে পড়লে traffic public internet-এর বদলে AWS-এর নিজের backbone দিয়ে চলে, সাধারণত যেটা বেশি দ্রুত, বেশি স্থির। |
edge location-এ তুমি নিজে কোনো server চালু করো না। সেখানে যে service-গুলো চলে, তাদের মাধ্যমেই এগুলো ব্যবহার করো। CloudFront নিয়ে বিস্তারিত Chapter 11-এ; এখানে শুধু মূল ধারণাটা দরকার:
edge হয়ে একটা request: PoP, regional edge cache, origin
একজন user CloudFront-এর মাধ্যমে একটা ছবি চাইল। সবচেয়ে ভালো অবস্থায়, তার চেয়ে খারাপ দুই অবস্থায়, আর origin Region বিপদে থাকলে request-টা কোথায় কোথায় যায়, দেখো।
পরিস্থিতি
জনপ্রিয় content-এর বেলায় এটাই সবচেয়ে বেশি হয়।
browser নামটা খোঁজে। উত্তর দেয় Route 53, সেটাও user-এর কাছের একটা edge location থেকে।
#আরও কাছে: Local Zone, Wavelength আর Outposts
কখনো কখনো সবচেয়ে কাছের Region-ও অনেক দূরে, অথবা data একটা নির্দিষ্ট ভবনের বাইরেই নেওয়া যাবে না। এমন অবস্থায় একটা Region-কে বাইরের দিকে টেনে বড় করার তিনটা উপায় আছে AWS-এর। প্রতিটাই একটা parent Region-এর সঙ্গে বাঁধা, আর চালানো হয় সেখান থেকেই।
| Local Zone | Wavelength Zone | Outposts | |
|---|---|---|---|
| কোথায় | এমন বড় শহরে AWS-এর একটা জায়গা যেখানে Region নেই, যেমন Los Angeles, Lagos বা Kolkata | কোনো mobile operator-এর 5G network-এর ভেতরে | তোমার নিজের data centre বা অফিসে |
| কী পাবে | কিছু বাছাই করা service (EC2, EBS, কিছু load balancing আর database), ওই শহরের user থেকে কয়েক millisecond দূরে | EC2 আর EBS, যেখানে 5G device-গুলো operator-এর network থেকে বের না হয়েই পৌঁছায় | AWS-এর rack বা server (নতুন customer-রা এখন আর server কিনতে পারে না), AWS নিজেই পৌঁছে দেয়, বসায় আর দেখভাল করে; চলে EC2, EBS, S3 on Outposts, কিছু database |
| সাধারণ ব্যবহার | video editing, game server, real-time media, এক শহরের জন্য live streaming | connected car, augmented reality, phone-এ live video analytics | যে data ভবনের বাইরে নেওয়া যাবে না, কারখানা বা হাসপাতালের system-এর সঙ্গে খুব কম latency, migration-এর মাঝের ধাপ |
| কীভাবে ব্যবহার করবে | zone group-এ opt in করো, তারপর সেখানে তোমার VPC-র একটা subnet বানাও | opt in করো, একটা subnet বানাও, একটা carrier gateway যোগ করো | order দাও; তোমার VPC-তে এটা একটা জায়গা হিসেবে দেখা দেয় |
| নাম দেখতে যেমন | us-west-2-lax-1a | us-east-1-wl1-bos-wlz-1 | একটা Outpost ID |
তিনটাই parent Region-এর একটা VPC-কে বাড়িয়ে নেয়। Local Zone-এ চালানো তোমার instance-গুলো ব্যবহার করে parent Region-এরই IAM, console আর API।
Region-কে টেনে কাছে আনা: Local Zone, Wavelength আর Outposts
কাছের Region-এর চেয়েও কাছে AWS চালানোর তিনটা উপায়, তিনটাই একটা parent Region থেকে চালানো হয়। তারপর parent-এর সঙ্গে সংযোগটা কেটে দেখো।
পরিস্থিতি
প্রত্যেকটা আলাদা আলাদা “অনেক দূরে” সমস্যার সমাধান।
Local Zone: Kolkata-র খেলোয়াড়রা Mumbai পর্যন্ত না গিয়ে নিজের শহরেই game server পায়, কয়েক millisecond-এ। তুমি opt in করে সেখানে তোমার VPC-র একটা subnet বানাও।
#parent Region-এর সঙ্গে সংযোগ কেটে গেলে কী হয়
Local Zone, Wavelength Zone আর বিশেষ করে Outposts তাদের control plane-এর জন্য (launch করা, বদলানো, নজর রাখা) parent Region-এর সঙ্গে network সংযোগের ওপর নির্ভর করে। সেই সংযোগ বন্ধ হলে:
- যে instance আগে থেকেই চলছে, সেগুলো চলতেই থাকে, স্থানীয় traffic-ও চলতে থাকে;
- কিন্তু resource launch, stop বা বদলানো যায় না, আর যে service-গুলোর Region লাগে (নতুন session-এর জন্য IAM যাচাই, CloudWatch-এ তথ্য পাঠানো), সেগুলো দেরি করে বা কাজ করে না।
তাই Outpost-এর বেলায় service link-কে ধরা হয় অত্যন্ত জরুরি অবকাঠামো হিসেবে, একাধিক সংযোগ দিয়ে বানানো হয়, আর Outpost-এর মাপ এমন রাখা হয় যাতে বাড়তি capacity আগে থেকেই চালু থাকে।
#Global, regional নাকি zonal: প্রতিটা service-এর scope
AWS-এর প্রতিটা service আর প্রতিটা resource তিনটা scope-এর কোনো একটায় থাকে। scope জানলে বোঝা যায় জিনিসটা কোথায় ব্যবহার করা যাবে, কোনো বিপদে সেটা হারাবে কি না, আর অন্য কোথাও একটা কপি রাখতে হবে কি না।
| Scope | উদাহরণ | এর মানে |
|---|---|---|
| Global | IAM (user, role, policy), Route 53 (DNS), CloudFront, CloudFront-এ লাগানো WAF, Global Accelerator, AWS Organizations, billing | পুরো account-এর জন্য একটাই কপি, সব Region থেকে ব্যবহার করা যায়। console-এ Region-এর জায়গায় লেখা থাকে “Global”। |
| Regional | VPC, S3 bucket, AMI, security group, DynamoDB table, Lambda function, load balancer, Auto Scaling group, বেশির ভাগ service | একটা Region-এ বানানো, সেখানেই ব্যবহার। Region-এর AZ-গুলোতে AWS নিজেই এগুলো ছড়িয়ে রাখে (একটা S3 bucket data রাখে কয়েকটা AZ-এ; load balancer-এর node থাকে তুমি যে কয়টা AZ চালু করো, তার প্রতিটায়)। |
| Zonal (একটা AZ) | EC2 instance, EBS volume, subnet, NAT gateway, instance store, S3 One Zone-IA | ঠিক একটা AZ-এ থাকে। সেই AZ বসে গেলে এটাও বসে যায়। |
পরীক্ষা যে খুঁটিনাটিগুলো পছন্দ করে:
- S3-কে console-এ global মনে হয়, আর bucket-এর নাম সারা পৃথিবীতে একটাই হতে হয় (একটাই global namespace), কিন্তু প্রতিটা bucket একটা Region-এ বানানো, data-ও থাকে সেখানেই।
- EBS volume লাগানো যায় শুধু একই AZ-এর instance-এ। সরাতে চাইলে snapshot নাও (snapshot regional), তারপর অন্য AZ-এ সেখান থেকে নতুন volume বানাও (Chapter 5)।
- AMI regional; অন্য Region-এ ব্যবহার করতে হলে কপি করতে হয় (লেসন ৪.৩)। VPC regional; subnet থাকে একটা AZ-এ (লেসন ৩.২)।
- “Global” service-এরও একটা বাড়ি আছে। এদের control plane প্রায়ই চলে
us-east-1-এ। এ কারণেই CloudFront-এর TLS certificate চাইতে হয়us-east-1-এ, আর CloudFront-এর WAF rule-ও বানাতে হয় সেখানে। প্রতিদিনের কাজ (sign in, permission যাচাই, DNS-এর উত্তর) অবশ্য সব জায়গা থেকেই চলে।
Global, regional না zonal: কোন জিনিস কোথায় থাকে
চেনা কয়েকটা resource ম্যাপে বসাও, একটাকে সরানোর চেষ্টা করো, তারপর একটা AZ আর একটা Region বসিয়ে দিয়ে দেখো কী টিকে থাকে।
পরিস্থিতি
তিন রকম scope, তিনটা বাক্স।
global service-গুলো সব Region-এর ওপরে: পুরো account-এর জন্য একটাই IAM, Route 53-এর একটাই zone-এর সেট, একটাই CloudFront network। console-এ এদের পাশে লেখা থাকে “Global”।
নিজেকে যাচাই করোপ্রশ্ন
নিচের কোন দুটো একটা মাত্র Availability Zone-এ বাঁধা?
বেছে নাও ২
#প্রতিটা স্তরে বিপদের জন্য ডিজাইন
এবার টুকরোগুলো জোড়া লাগাও। কাঠামোর প্রতিটা স্তর একটা failure domain: এমন একটা অংশ, যেটা একসঙ্গে পুরোটাই বিকল হতে পারে। ভালো ডিজাইন কপিগুলো রাখে আলাদা আলাদা failure domain-এ।
| কী বিকল হয় | কত ঘনঘন | কী টিকে থাকে |
|---|---|---|
| একটা server, disk বা rack | প্রতিদিনই, কোথাও না কোথাও | যার দ্বিতীয় কপি আছে, সবই: Auto Scaling instance বদলে দেয়, EBS তার data AZ-এর ভেতরেই একাধিক hardware-এ রাখে |
| একটা data centre বা পুরো একটা AZ (বিদ্যুৎ, ঠান্ডা রাখা, network, বন্যা) | বিরল, তবে কয়েকটা Region-এ ঘটেছে | Multi-AZ ডিজাইন: load balancer-এর পেছনে কমপক্ষে দুটো AZ-এ instance, আর এমন database যার standby আছে আরেক AZ-এ |
| পুরো একটা Region, বা Region জুড়ে কোনো একটা service | খুবই বিরল, তবে বড় ঘটনায় একটা Region-এর একটা service ঘণ্টার পর ঘণ্টা বসে থেকেছে | multi-Region ডিজাইন: দ্বিতীয় একটা Region-এ application আর data-র কপি, আর এমন DNS যেটা user-দের সেখানে পাঠাতে পারে |
#Multi-AZ: স্বাভাবিক মান
production-এর যেকোনো জিনিস কমপক্ষে দুটো AZ-এ চালাও (তিনটা হলে আরও ভালো)। পরীক্ষায় একেই বলে high availability:
- load balancer-এর পেছনে দুই বা তার বেশি AZ-এ web আর app server, সামলাবে একটা Auto Scaling group, যেটা ভালো AZ-এ বদলি server চালু করে দেয় (Chapter 6);
- এমন একটা database, যার synchronous standby আছে দ্বিতীয় AZ-এ (Multi-AZ, Chapter 7);
- প্রতিটা AZ-এ একটা করে NAT gateway, যাতে একটা AZ হারালে বাকিরা internet থেকে বিচ্ছিন্ন না হয় (লেসন ৩.৪)।
একটা instance বা একটা AZ-এর ডিজাইন কখনোই highly available না, instance যত বড়ই হোক।
high availability মানে কিন্তু “কখনোই বন্ধ হবে না” না। এর মানে, কোনো একটা বিপদ (একটা server, একটা ভবন, একটা AZ) service থামাতে পারবে না, আর সেরে ওঠা হবে নিজে নিজে, দ্রুত। এক Region-এর ভেতরের কোনো কিছুই সেই Region হারানোর পরে টিকে থাকার কথা দিতে পারে না।
#Static stability: দরকারের আগেই capacity হাতে রাখো
বড় কোনো AZ বিপদের সময় হাজার হাজার গ্রাহক একই মুহূর্তে বাকি AZ-গুলোতে বদলি server চালু করতে চায়। তখন launch করা (এটা control plane-এর কাজ) ধীর হয়ে যেতে পারে বা আটকে যেতে পারে। কিন্তু যে server চলছে আর যে traffic যাচ্ছে (data plane), সেগুলো ঠিকই চলতে থাকে।
তাই মজবুত ডিজাইন হলো statically stable: একটা AZ হারিয়ে গেলেও বাকি AZ-গুলোতে পুরো চাপ সামলানোর মতো capacity আগে থেকেই চালু থাকে। তিনটা AZ থাকলে প্রতিটা চালাও তার capacity-র মোটামুটি দুই-তৃতীয়াংশের বেশি না; দুটো AZ হলে প্রতিটাকেই একা পুরো চাপ নেওয়ার মতো হতে হবে। প্রতিটা AZ-এ capacity রিজার্ভ করে রাখাও (লেসন ৪.৪) এটা নিশ্চিত করার আরেকটা উপায়।
#Multi-Region: যখন একটা Region যথেষ্ট না
দ্বিতীয় Region-এ সত্যিকারের টাকা আর ঝামেলা দুটোই লাগে: দ্বিগুণ infrastructure, data replication, আর কোন Region-টা প্রধান থাকবে তার পরিকল্পনা। এটা নাও যখন:
- ব্যবসাকে পুরো Region জুড়ে কোনো বিপদেও টিকে থাকতে হবে (disaster recovery-র কড়া শর্ত);
- user-রা নানা মহাদেশে ছড়িয়ে, আর সবখানেই কম latency দরকার;
- data রাখতে হবে কয়েকটা দেশে, প্রতিটা দেশের data তার নিজের Region-এ।
এর জন্য যা যা লাগে, সেগুলো কোর্সের পরের দিকে আসবে: Route 53-এর health check আর failover routing (Chapter 8), S3 cross-Region replication (Chapter 10), Aurora Global Database আর DynamoDB global table (Chapter 7 আর 15), আর backup-and-restore থেকে active-active পর্যন্ত disaster recovery-র কৌশল (Chapter 23)।
#এক জায়গা থেকে আরেক জায়গায় data পাঠানো বিনামূল্যে না
একই AZ-এর ভেতরে private address দিয়ে data পাঠানো বিনামূল্যে। একই Region-এর দুই AZ-এর মধ্যে সাধারণত খরচ প্রতি দিকে প্রতি GB-তে $0.01, আর দুই Region-এর মধ্যে তার চেয়েও বেশি (প্রায়ই প্রতি GB-তে $0.02-এর মতো)। internet থেকে ভেতরে আসা data বিনামূল্যে; internet-এ বাইরে যাওয়া data-র জন্য টাকা লাগে। তবুও default হিসেবে Multi-AZ-ই ঠিক, শুধু মনে রেখো, যে ডিজাইনে AZ-এর মধ্যে হাজার হাজার ছোট ছোট call আসা-যাওয়া করে, সেটা bill-এ চমকে দিতে পারে। আগেভাগে এটা কীভাবে ধরবে, দেখাবে লেসন ১.৪।
#নিজে করে দেখো
# 1. Regions your account can use right now, and their opt-in status
aws ec2 describe-regions --all-regions \
--query "Regions[].{Region:RegionName,Status:OptInStatus}" --output table
aws account get-region-opt-status --region-name ap-south-2
# 2. AZ names and AZ IDs in a Region: compare the ZoneId with a colleague’s account
aws ec2 describe-availability-zones --region ap-south-1 \
--query "AvailabilityZones[].{Name:ZoneName,Id:ZoneId,State:State}" --output table
# 3. Local Zones and Wavelength Zones attached to a Region (opt-in status too)
aws ec2 describe-availability-zones --region us-west-2 --all-availability-zones \
--query "AvailabilityZones[?ZoneType!='availability-zone'].{Name:ZoneName,Type:ZoneType,Group:GroupName,OptIn:OptInStatus}" \
--output table
# 4. Is a service offered in a Region? (public parameters published by AWS)
aws ssm get-parameters-by-path --region us-east-1 \
--path /aws/service/global-infrastructure/regions/ap-south-1/services \
--query "Parameters[].Value" --output text | tr '\t' '\n' | sort | head -40
# 5. Rough latency from your machine to a few Regions (TCP connect time in seconds)
for r in ap-south-1 ap-southeast-1 eu-central-1 us-east-1; do
printf "%-16s " $r
curl -o /dev/null -s -w "%{time_connect}\n" https://ec2.$r.amazonaws.com
done
# 6. From inside an EC2 instance: which AZ name and which physical AZ ID am I in?
TOKEN=$(curl -sX PUT http://169.254.169.254/latest/api/token -H "X-aws-ec2-metadata-token-ttl-seconds: 60")
curl -s -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/placement/availability-zone; echo
curl -s -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/placement/availability-zone-id; echo
সব Region, AZ আর edge location একটা ম্যাপে দেখতে খোলো infrastructure.aws। আর কোন Region-এ, কোন service-এ এই মুহূর্তে কী ঘটছে, দেখতে console-এর AWS Health Dashboard খোলো।
#সারকথা
মূল কথাগুলো
- AWS সাজানো কয়েক স্তরে: data centre → Availability Zone (এক বা একাধিক data centre, আলাদা, একে অপরের ১০০ km-এর মধ্যে, কম latency-র fibre-এ জোড়া) → Region (কমপক্ষে তিনটা AZ) → সঙ্গে ৭৫০-এর বেশি PoP আর ১৫টা regional edge cache নিয়ে একটা edge network।
- অক্টোবর ২০২৬-এ: ৩৯টা Region, ১২৪টা AZ। সাধারণ account দেখে ৩৪টা commercial Region; GovCloud (US), চীন আর European Sovereign Cloud আলাদা partition। ২০ মার্চ ২০১৯-এর পরে খোলা Region opt-in।
- Region code দেখতে
ap-south-1-এর মতো; AZ-এর নামে একটা অক্ষর যোগ হয় (ap-south-1a)। নয়টা পুরনো Region-এ, নভেম্বর ২০২৫-এর আগে খোলা account-এ অক্ষরগুলো account ধরে এলোমেলো: এক account-এর সঙ্গে আরেক account মেলাতে AZ ID (aps1-az1) দেখো। - Region বাছো এই ক্রমে: আগে নিয়মকানুন, তারপর latency, তারপর service আছে কি না, শেষে দাম। তুমি যে Region-এ রাখো, data সেখানেই থাকে।
- Global: IAM, Route 53, CloudFront, CloudFront-এ লাগানো WAF, Global Accelerator, Organizations। Regional: VPC, S3 bucket (নাম global), AMI, বেশির ভাগ service। Zonal: EC2 instance, EBS volume, subnet, NAT gateway।
- Local Zone (Region নেই এমন শহর), Wavelength (5G network) আর Outposts (তোমার নিজের ভবন) একটা parent Region-কে বাড়িয়ে নেয়; parent-এর সঙ্গে সংযোগ কাটলে চলতে থাকা কাজ টিকে যায়, কিন্তু পরিচালনা আটকে যায়।
- production চলে Multi-AZ-এ (এটাই “high availability”), সম্ভব হলে statically stable করে; দ্বিতীয় Region লাগে পুরো Region জুড়ে বিপদ, সারা পৃথিবীতে কম latency বা কয়েক দেশের data-র নিয়মের জন্য। AZ পেরোনো আর Region পেরোনো traffic-এ টাকা লাগে।
আগে নিজে উত্তর দাও, তারপর ব্যাখ্যাটা পড়ো। ঠিক হলেও পড়ো, কারণ ভুল Option-গুলো কেন ভুল, সেটাও ওখানে আছে।
নিজেকে যাচাই করোপ্রশ্ন
AWS-এর Availability Zone আসলে কী?
নিজেকে যাচাই করোপ্রশ্ন
এখন একটা AWS Region-এ কমপক্ষে কয়টা Availability Zone থাকে?
নিজেকে যাচাই করোপ্রশ্ন
একটা Region-এর Availability Zone-গুলো একটা থেকে আরেকটা কত দূরে?
নিজেকে যাচাই করোপ্রশ্ন
Region code নিয়ে কোন কথাটা ঠিক?
নিজেকে যাচাই করোপ্রশ্ন
নতুন একটা account-এর administrator ap-south-2 (Hyderabad)-এ একটা VPC বানাতে গিয়ে error পেলেন যে Region-টা চালু করা নেই, অথচ ap-south-1-এ সব ঠিকঠাক চলছে। কেন?
নিজেকে যাচাই করোপ্রশ্ন
AWS partition নিয়ে কোন দুটো কথা সত্যি?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
একটা কোম্পানি গ্রাহকদের file রাখে eu-central-1-এর একটা S3 bucket-এ, আর কিছুই সেট করেনি। file-গুলো বাস্তবে কোথায় কোথায় থাকতে পারে?
নিজেকে যাচাই করোপ্রশ্ন
একটা কোম্পানিকে নতুন application-এর জন্য Region বাছতে হবে। বিষয়গুলো সাধারণত কোন ক্রমে বিবেচনা করা উচিত?
নিজেকে যাচাই করোপ্রশ্ন
একটা application চলছে us-east-1-এ, আর তার প্রায় সব user অস্ট্রেলিয়ায়। server-এর CPU কম, তবু user-রা বলছে প্রতিটা page ধীর। সবচেয়ে কার্যকর সমাধান কী?
নিজেকে যাচাই করোপ্রশ্ন
একটা দল গত সপ্তাহে ঘোষণা হওয়া একটা নতুন AWS service ব্যবহার করতে চায়, কিন্তু তাদের Region ap-south-1-এর console-এ সেটা দেখাই যাচ্ছে না। সবচেয়ে সম্ভাব্য কারণ কী?
নিজেকে যাচাই করোপ্রশ্ন
নতুন একটা workload-এর জন্য এক Region-এর বদলে আরেকটা বাছার সঠিক কারণ কোন দুটো?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
Account A আর account B দুজনেই একই আসল AZ-এ থেকে cross-AZ খরচ এড়াতে us-east-1a-তে server চালু করল। তবু bill-এ cross-AZ data transfer দেখা যাচ্ছে। দুটো account-ই খোলা হয়েছিল ২০১৯-এ। সবচেয়ে সম্ভাব্য কারণ কী?
নিজেকে যাচাই করোপ্রশ্ন
একটা EC2 instance যে Availability Zone-এ চলছে, তার AZ ID কীভাবে বের করবে?
নিজেকে যাচাই করোপ্রশ্ন
AZ নাম আর AZ ID নিয়ে কোন কথাটা সত্যি না?
নিজেকে যাচাই করোপ্রশ্ন
AWS-এর edge location (point of presence) কী?
নিজেকে যাচাই করোপ্রশ্ন
Dhaka-র একজন user CloudFront-এর মাধ্যমে একটা ছবি চাইল। কাছের edge location-এ ছবিটা cache করা নেই, কিন্তু regional edge cache-এ আছে। কী হবে?
নিজেকে যাচাই করোপ্রশ্ন
কোন দুটো service AWS-এর edge location-এ চলে?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
একটা media কোম্পানির video editor-রা এমন এক বড় শহরে থাকে যেখানে AWS Region নেই, আর তাদের এক অঙ্কের millisecond latency দরকার। তারা EC2 আর নিজেদের VPC-ই ব্যবহার করতে চায়। কী নেওয়া উচিত?
নিজেকে যাচাই করোপ্রশ্ন
একটা হাসপাতালকে রোগীর data নিজেদের ভবনের ভেতরেই রাখতে হবে, ভবনের system-গুলোর সঙ্গে খুব কম latency-ও দরকার, অথচ তারা cloud-এর মতোই একই AWS API, tool আর EC2 ব্যবহার করতে চায়। কোনটা সবচেয়ে মানানসই?
নিজেকে যাচাই করোপ্রশ্ন
একটা augmented reality game-কে 5G phone-এ খেলা খেলোয়াড়দের কাছে কয়েক millisecond-এর মধ্যে সাড়া দিতে হবে। কোনটা traffic-কে mobile operator-এর network-এর ভেতরেই রাখে?
নিজেকে যাচাই করোপ্রশ্ন
একটা Outpost আর তার parent Region-এর মধ্যে network সংযোগ এক ঘণ্টার জন্য বন্ধ হয়ে গেল। Outpost-এ আগে থেকে চলা EC2 instance-গুলোর কী হবে?
নিজেকে যাচাই করোপ্রশ্ন
কোন service-টা regional না, global?
নিজেকে যাচাই করোপ্রশ্ন
reports-2026 নামে একটা S3 bucket আগে থেকেই আছে অন্য কারও account-এ, us-west-2-তে। একজন developer নিজের account-এ ap-south-1-এ একই নামে bucket বানাতে চাইলেন। কী হবে?
নিজেকে যাচাই করোপ্রশ্ন
eu-west-1a-র একটা EBS volume eu-west-1b-র একটা instance-এ লাগাতে হবে। কী করবে?
নিজেকে যাচাই করোপ্রশ্ন
একটা দল তাদের website-এর জন্য CloudFront সেট করছে, server চলছে ap-south-1-এ। CloudFront console-এ ap-south-1-এ বানানো TLS certificate-টা দেখা যাচ্ছে না। কেন?
নিজেকে যাচাই করোপ্রশ্ন
কোন দুটো ডিজাইন একটা Availability Zone হারানোর বিরুদ্ধে high availability দেয়?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
একটা application চলছে তিনটা AZ-এ, প্রতিটা তার capacity-র 90 %-এ। একটা AZ বসে যাওয়ার সময় দলটা বাকি দুটো AZ-এ যথেষ্ট দ্রুত নতুন instance চালু করতে পারল না, কারণ আরও অনেক গ্রাহক একই কাজ করছিল। ডিজাইনে কোন নীতিটা বাদ পড়েছিল?
নিজেকে যাচাই করোপ্রশ্ন
একটা ব্যাংকের নিয়ন্ত্রক সংস্থা চায়, পুরো একটা AWS Region অচল হয়ে গেলেও মূল application চলতে থাকবে। ন্যূনতম কোন ডিজাইনে এটা মেটে?
নিজেকে যাচাই করোপ্রশ্ন
একই Region-এর আলাদা দুই AZ-এর দুটো application server প্রতি মাসে private IP address দিয়ে 10 TB data আদান-প্রদান করে। খরচ নিয়ে কোন কথাটা ঠিক?
নিজেকে যাচাই করোপ্রশ্ন
একটা study note-এ লেখা: “Region হলো কয়েকটা data centre-এর গুচ্ছ; একটা data centre (AZ) ধ্বংস হলে system অন্যটায় চলতে থাকে।” কোন সংশোধনটা সবচেয়ে নির্ভুল?