কনটেইনার নিয়ে কাজ করলে হোস্টের নিরাপত্তা আর গুরুত্বপূর্ণ থাকে না — এমন ভাবা সহজ। বাস্তবে ঠিক উল্টো: প্রতিটি Kubernetes নোড এমন একটি মেশিন যা একটি ইমেজ থেকে বুট করে, আর হোস্টে একবার সেঁধ হলে তার উপর চলা সব পড ঝুঁকিতে পড়ে। তাই নোডের AMI নিরাপত্তার একটি গুরুত্বপূর্ণ অংশ।
আপনার সামনে তিনটি পথ: অফিসিয়াল অপ্টিমাইজড AMI যেমন আছে তেমন ব্যবহার করা, সেটিকে ভিত্তি ধরে কাস্টমাইজ করা, কিংবা নিজেরটা বানানো। গুরুতর প্রোডাকশনের জন্য হার্ডেন্ড ভিত্তির উপর কাস্টমাইজ করা বা নিজে বানানোই সুপারিশ করা হয়।
ভালো নোড AMI-তে কী কী থাকা উচিত
- কনটেইনার রানটাইমের জন্য অপ্টিমাইজড বেস, containerd ও kubelet সঠিকভাবে কনফিগার করা।
- অপারেটিং সিস্টেমের CIS হার্ডেনিং, আর প্রযোজ্য ক্ষেত্রে CIS Benchmark for Kubernetes-এরও।
- কার্নেল ও কম্পোনেন্টের হালনাগাদ প্যাচিং, নিয়মিত পুনর্নির্মাণসহ।
- প্রয়োজনীয় এজেন্ট —লগ, মেট্রিক, নিরাপত্তা— দ্রুত বুটের জন্য আগেই ইনস্টল করা।
- কোনো বেক করা সিক্রেট বা ক্রেডেনশিয়াল নয়; পরিচয় আসবে IAM Roles for Service Accounts (IRSA) বা সমতুল্য ব্যবস্থা থেকে।
- ন্যূনতম কনফিগারেশন: নোডের অপ্রয়োজনীয় প্যাকেজ ও সার্ভিস সরিয়ে দিন।
EKS-এর জন্য ইমেজ বিকল্প
| বিকল্প | সুবিধা | কখন বেছে নেবেন |
|---|---|---|
| EKS অপ্টিমাইজড AMI (AL2023) | অফিসিয়াল, AWS রক্ষণাবেক্ষণ করে | সাধারণ শুরুর বিন্দু |
| Bottlerocket | কনটেইনারমুখী ন্যূনতম OS, অপরিবর্তনীয় | সর্বোচ্চ নিরাপত্তা, ক্ষুদ্রতম সারফেস |
| কাস্টম AMI | হার্ডেনিং ও এজেন্টের উপর পূর্ণ নিয়ন্ত্রণ | কঠোর কমপ্লায়েন্স প্রয়োজন |
নিয়ন্ত্রণ ও স্বাচ্ছন্দ্যের মধ্যে আপনার ভারসাম্য অনুযায়ী নোড বেস বেছে নিন।
Bottlerocket: আগে কনটেইনার
Bottlerocket হলো AWS-এর একটি ন্যূনতমবাদী অপারেটিং সিস্টেম, যা কেবল কনটেইনার চালানোর জন্যই তৈরি। এর অ্যাটাক সারফেস অত্যন্ত ছোট, এটি অপরিবর্তনীয় এবং ইমেজের মাধ্যমে আপডেট হয় —হট প্যাচিংয়ে নয়—, যা অপরিবর্তনীয় অবকাঠামোর দর্শনের সঙ্গে দারুণভাবে মেলে। ন্যূনতম রক্ষণাবেক্ষণে নোড নিরাপত্তা যদি আপনার অগ্রাধিকার হয়, এটি গুরুত্বসহকারে বিবেচনার যোগ্য।
যন্ত্রণাহীনভাবে নোড আপডেট
হার্ডেন্ড নোড AMI তখনই কাজে লাগে যখন আপনি নোডগুলো হালনাগাদ রাখেন। এখানেই অপরিবর্তনীয় প্যাটার্ন উজ্জ্বল:
- প্যাচ নয়, প্রতিস্থাপন করুন: নতুন AMI সংস্করণ প্রকাশ করে নোড ঘোরান।
- নোড গ্রুপের রোলিং আপডেট: cordon ও drain দিয়ে খালি করে এক এক করে নোড বদলান।
- নতুন AMI দিয়ে প্রতিস্থাপন স্বয়ংক্রিয় করতে Managed Node Groups বা Karpenter।
- PodDisruptionBudgets, যাতে রোটেশন আপনার সার্ভিসের উপলভ্যতায় আঘাত না করে।
সাধারণ ভুল
- ডিফল্ট অপ্টিমাইজড AMI মাসের পর মাস আপডেট না করে ব্যবহার করা।
- ফেডারেটেড আইডেন্টিটির বদলে ক্লাস্টার ক্রেডেনশিয়াল ইমেজে বেক করে দেওয়া।
- kubelet নিজে এবং ফাইল সিস্টেম অনুমতির হার্ডেনিং ভুলে যাওয়া।
- নোডে SSH প্রবেশ সীমিত না করা: আদর্শ হলো শূন্য SSH, শুধু SSM দিয়ে প্রবেশ।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
আমার কি কাস্টম AMI দরকার, নাকি EKS-এর অপ্টিমাইজড যথেষ্ট?
শুরুর জন্য অফিসিয়াল অপ্টিমাইজড AMI ভালো সূচনাবিন্দু। কঠোর কমপ্লায়েন্স বা নিরাপত্তা প্রয়োজন থাকলে সেটিকে কাস্টমাইজ করুন বা নিজের হার্ডেনিং ও এজেন্ট দিয়ে নিজেরটা বানান।
Bottlerocket কি সাধারণ Linux AMI-এর বিকল্প?
যেসব নোড কেবল কনটেইনার চালায়, তাদের জন্য হ্যাঁ: ছোট অ্যাটাক সারফেস আর অপরিবর্তনীয় আপডেট। তবে সাধারণ-উদ্দেশ্য OS দরকার এমন ওয়ার্কলোডের জন্য এটি উপযুক্ত নয়।
নতুন AMI প্রকাশ করলে নোড কীভাবে আপডেট করব?
নোড গ্রুপের রোলিং আপডেট দিয়ে: PodDisruptionBudgets মেনে ধাপে ধাপে খালি করে প্রতিস্থাপন করা হয়, যাতে সার্ভিসে প্রভাব না পড়ে।
imaxe.cloud-এ আমরা এমন হার্ডেন্ড বেস ইমেজ ডিজাইন করি, যা আপনার Kubernetes নোডের আদর্শ ভিত্তি হিসেবে কাজ করে।



