VPC নকশা: subnet, routing ও security group
VPC হলো cloud-এ আপনার private network। public ও private subnet-এর পরিষ্কার বিন্যাস database-কে ইন্টারনেটের বাইরে রাখে।

VPC (virtual private cloud) হলো cloud provider-এর ভেতরে আপনার নিজস্ব বিচ্ছিন্ন network। ঠিকানার পরিসর আপনি বাছেন, subnet বানান, routing নিয়ন্ত্রণ করেন এবং ঠিক করেন কে কার সাথে কথা বলবে। ভালো VPC নকশা আপনার নিতে পারা সবচেয়ে শক্তিশালী নিরাপত্তা ধাপগুলোর একটি।
ধাপ ১: ঠিকানার পরিসর বাছুন
একটি private CIDR ব্লক নিন, যেমন 10.0.0.0/16 (প্রায় ৬৫,০০০ ঠিকানা)।
- বাড়ার জন্য যথেষ্ট বড় রাখুন, কারণ পরে বদলানো কষ্টকর।
- অন্য VPC, অফিস network বা VPN-এর সাথে মিলে না যাওয়া নিশ্চিত করুন, নইলে জোড়া যায় না।
ধাপ ২: zone জুড়ে subnet-এ ভাগ
Subnet হলো VPC-র একটি টুকরো যা একটি availability zone-এ থাকে। সাধারণ বিন্যাস, অন্তত দুই zone-এ পুনরাবৃত্ত:
- Public subnet: ইন্টারনেটমুখী জিনিসের জন্য, যেমন load balancer।
- Private (app) subnet: অ্যাপ server। ইন্টারনেট থেকে সরাসরি inbound access নেই।
- Data subnet: database ও cache। শুধু app subnet থেকে পৌঁছানো যায়।
উদাহরণ: zone A-তে public 10.0.0.0/24, zone B-তে public 10.0.1.0/24, private app 10.0.10.0/24 ও 10.0.11.0/24, data 10.0.20.0/24 ও 10.0.21.0/24।
ধাপ ৩: routing
প্রতিটি subnet একটি route table ব্যবহার করে।
- Subnet "public" হয় কারণ তার route table ইন্টারনেট traffic (
0.0.0.0/0) internet gateway-তে পাঠায়। - "Private" subnet-এ এমন route নেই। শুধু বাইরে যাওয়ার জন্য (update, বাইরের API কল), public subnet-এ থাকা NAT gateway-তে
0.0.0.0/0route করুন। এর মধ্য দিয়ে ইন্টারনেট থেকে ভেতরে সংযোগ শুরু হতে পারে না। - Data subnet-এ প্রায়ই ইন্টারনেট route একেবারেই থাকে না।
NAT gateway-তে খরচ হয় এবং প্রক্রিয়া করা data-র দাম লাগে, তাই লক্ষ্য রাখুন। Object storage-এর মতো cloud সেবায় ইন্টারনেট বা NAT ছাড়া পৌঁছাতে VPC endpoint (private link) ব্যবহার করুন।
ধাপ ৪: security group
Security group হলো একটি resource-এ (server, database, load balancer) যুক্ত ভার্চুয়াল firewall।
- Stateful: inbound অনুমোদিত হলে উত্তর স্বয়ংক্রিয়ভাবে অনুমোদিত।
- শুধু allow rule। যা অনুমোদিত নয় সব বন্ধ।
- শুধু IP পরিসর নয়, অন্য security group-ও উল্লেখ করা যায়।
শক্তিশালী কৌশল হলো এগুলো শিকলে বাঁধা:
- Load balancer group: ইন্টারনেট থেকে 443 অনুমতি।
- App group: 3000 শুধু load balancer group থেকে।
- Database group: 5432 শুধু app group থেকে।
এখন database VPC-র ভেতরেও অন্য কোথাও থেকে পৌঁছানো যায় না।
Network ACL
Network ACL হলো subnet স্তরের stateless firewall, allow ও deny rule-সহ। বেশিরভাগ সেটআপ ডিফল্টে রেখে security group-এর ওপর নির্ভর করে। বাড়তি স্তর হিসেবে ব্যবহার করুন, যেমন জানা খারাপ পরিসর আটকাতে।
পরিচালনার জন্য private server-এ পৌঁছানো
- Public subnet-এ কড়াভাবে বাঁধা bastion host।
- ভালো: managed session সেবা বা VPN, যাতে server-এ public IP বা খোলা SSH port লাগে না।
- সাধারণ নকশায় database-এর কখনো public IP থাকা উচিত নয়। ল্যাপটপ থেকে ব্যবহার করতে হলে tunnel নিন।
এড়ানোর ভুল
- Database public subnet-এ রাখা, বা database port-এ
0.0.0.0/0খোলা। data ফাঁসের ক্লাসিক কারণ। - পুরো ইন্টারনেট থেকে SSH (22) বা RDP (3389) অনুমতি।
- সবকিছুর জন্য একটি সমতল subnet।
- সবকিছু একটি availability zone-এ।
- network-গুলোর মধ্যে CIDR পরিসর মিলে যাওয়া।
- সমস্যা খোঁজা ও তদন্তের জন্য VPC flow log চালু করতে ভুলে যাওয়া।
দ্রুত checklist
- Private CIDR, মিল নেই, বাড়ার জায়গা আছে।
- দুই বা বেশি zone-এ public, app ও data subnet।
- শুধু load balancer public।
- রেফারেন্স দিয়ে শিকলে বাঁধা security group, ন্যূনতম access।
- app ও database server-এ public IP নেই।
- Flow log চালু, cloud সেবার জন্য endpoint।
মূল কথা: শুধু সামনের দরজা public subnet-এ রাখুন, অ্যাপ ও data private-এ রাখুন, security group শিকলে বাঁধুন যাতে প্রতিটি স্তর শুধু আগের স্তরের সাথে কথা বলে, এবং ঠিকানার পরিসর এমন পরিকল্পনা করুন যাতে পরে network জোড়া যায়।
Networking ও Cloud সিরিজ, পর্ব ২ (cloud-এর গোড়া): 2 নম্বর (মোট 5)। আগের লেখা: Cloud-এর গোড়া: IaaS, PaaS, SaaS ও shared responsibility.


