পাঠ্যক্রম খুলুন
অগ্রসর পর্যায়

Cloud Networking: region, zone, VPC ও subnet

Regions, Zones, VPCs, Subnets, and Firewalls

এই পাঠের কুইজ ↓৫ মিনিট পড়াPHP 8.3+ · Laravel 12
এই পাঠের সূচিপত্র

এই পাঠে যা শিখবেন

  • Region ও zone-এর failure boundary বোঝা
  • Public এবং private subnet-এর route আলাদা করা
  • Laravel database access সীমিত করা

সমস্যা দিয়ে শুরু

Laravel database internet থেকে connect করা যাচ্ছে বলে setup সহজ হয়েছে। কয়েক দিন পরে অজানা login attempt বাড়ল। Password থাকলেও database সরাসরি public রাখার প্রয়োজন ছিল না। Team আবার দুটি replica একই zone-এ রেখে region-level availability দাবি করছে। Network diagram-এ traffic path ও failure boundary স্পষ্ট না থাকলে এই দুই ভুল একই সঙ্গে ঘটে।

সহজ করে বুঝি

Region একটি ভৌগোলিক cloud location; zone সাধারণত তার ভেতরের আলাদা infrastructure fault boundary। VPC হলো logically isolated virtual network। Subnet address range ও routing-এর অংশ। Public route থাকলেই প্রতিটি resource public নয়; public address, gateway এবং security rule-ও গুরুত্বপূর্ণ। Private database-এ application network থেকে নির্দিষ্ট port অনুমোদন করুন। Firewall rules packet অনুমোদন করে, business authorization নয়।

পরিচিত একটি উপমা

অফিসের reception public entrance, কর্মীদের কক্ষ private subnet-এর মতো। Reception থেকে নির্দিষ্ট দরজা খুলে ভেতরে যাওয়া যায়। বাইরে থেকে সরাসরি হিসাবরক্ষকের locker খোলা রাখার দরকার নেই; login card থাকলেও physical boundary উপকারী।

নকশাটি দেখুন

Diagram লোড হচ্ছে…

Cloud network design-এ address, route, firewall ও independent failure domain একসঙ্গে যাচাই করতে হয়।
Diagram-এর text flow দেখুন
flowchart LR
 U[Internet user] --> L[Public load balancer]
 L --> A[Private Laravel app]
 A --> D[(Private database)]
 A --> N[Controlled outbound gateway]
 N --> P[Payment API]

User load balancer-এ HTTPS request পাঠায়। Balancer application-এর অনুমোদিত port-এ যায়। App database port-এ যায়; user database-এ সরাসরি যায় না। Payment API outbound পথ ব্যবহার করে। আলাদা zone-এর subnet ও instance replication যোগ করলে zone outage সামলানো যায়; শুধু subnet নাম private রাখলে security হয় না।

PHP ও Laravel-এ প্রয়োগ

config/database.php-এর mysql connection-এ যোগ করার fragment। DB_HOST private DNS address, trusted CA path mounted এবং PHP pdo_mysql/OpenSSL আছে ধরে নেওয়া হয়েছে। TLS certificate যাচাই network isolation-এর পাশাপাশি দরকার; driver/version অনুযায়ী options পরীক্ষা করুন।

php
$options = [];
if (extension_loaded('pdo_mysql')) {
    $options[PDO::MYSQL_ATTR_SSL_CA] = env('MYSQL_ATTR_SSL_CA');
}
return [
    'host' => env('DB_HOST'),
    'options' => $options,
];

সুবিধা, সীমাবদ্ধতা ও trade-off

Private networking exposure কমায় কিন্তু NAT, routing ও debugging cost যোগ করে। Multi-zone database deployment availability বাড়াতে পারে; cross-zone traffic ও failover latency মাপতে হয়। Public subnet-এ non-public instance রাখা সম্ভব, আবার private subnet থেকে outbound internet সম্ভব। Terms মুখস্থ না করে বাস্তব route table, address এবং firewall একসঙ্গে পড়ুন।

সাধারণ ভুল

  • Database port পুরো internet-এর জন্য খোলা রাখা।
  • একই zone-এর replica দিয়ে zone redundancy দাবি করা।
  • Private network হলে TLS ও authorization বাদ দেওয়া।

আরও একটু গভীরে

Security group-এর stateful behavior ও network ACL-এর behavior provider অনুযায়ী বুঝুন। DNS resolution, outbound deny policy এবং cloud service private endpoints connection path বদলায়। Least privilege নিয়ম শুধু ingress নয়, egress-এও প্রযোজ্য। Application secret দিয়ে admin database user connect করলে network perimeter ভাঙার পর blast radius অনেক বড় হয়।

মনে রাখুন

Cloud network design-এ address, route, firewall ও independent failure domain একসঙ্গে যাচাই করতে হয়।

নিজে চেষ্টা করুন

নিজের Laravel deployment-এর ingress ও egress matrix আঁকুন: source, destination, port, purpose। Database-এর public address সরিয়ে app connectivity পরীক্ষা করুন। ভুল firewall rule হলে কী error এবং কোথায় evidence পাবেন লিখুন।

নিজের বোঝা যাচাই করুন

1. Subnet public হয় কীভাবে?

সংশ্লিষ্ট route ও gateway দিয়ে public connectivity-এর পথ থাকে। Resource-এর address এবং firewall না দেখে reachable বলা যায় না।

2. Private মানেই encrypted?

না। Network boundary ও transport encryption আলাদা সুরক্ষা। Untrusted network path বা policy অনুযায়ী TLS দরকার।

3. Zone কেন গুরুত্বপূর্ণ?

একই infrastructure failure একাধিক instance থামাতে পারে। Independent zone placement সেই common dependency কমায়।

4. NAT কি inbound load balancer?

না। NAT সাধারণত private resource-এর initiated outbound traffic-এর পথ; public application ingress আলাদা ব্যবস্থা।

5. Firewall কি tenant check করে?

না। Packet-level অনুমতি application-এর resource-level authorization-এর বিকল্প নয়। দুই স্তরেই সঠিক নিয়ন্ত্রণ দরকার।

আরও পড়ুন

এই পাঠের কুইজ

এই পাঠ থেকে ২টি প্রশ্ন। উত্তর দিয়ে ব্যাখ্যা দেখুন; অধ্যায়ের কুইজ আলাদাভাবে দিতে হবে।

এই পাঠের ২টি প্রশ্নের উত্তর দিন। পাস করতে দুটিই সঠিক হতে হবে।

জমা দেওয়ার পর সঠিক উত্তর ও ব্যাখ্যা দেখবেন। ফলাফল এই ব্রাউজারে সংরক্ষিত থাকবে। অনুশীলনের ফল অধ্যায় সম্পন্নের হিসাবে যোগ হয় না।

সব বিষয় মিলিয়ে অনুশীলন করুন →

অগ্রগতি এই ব্রাউজারে সংরক্ষিত থাকে। শুধু পাঠ খুললে সম্পন্ন হয় না।