OOAAOWOOAAOW
LinuxNetworkingGitPythonDockerKubernetesHelmAWS
YouTube
কোর্সসমূহ
আমার লাইব্রেরি
LinuxNetworkingGitPythonDockerKubernetesHelmAWS
YouTube
OOAAOW YouTube Channel
Sponsor OOAAOW

DevOps Lab — Bangladeshi learner-দের জন্য তৈরি

সাবস্ক্রিপশনসাবস্ক্রিপশন নীতি

হোম/aws/মডিউল ৫
০৫

EC2 — প্রথম সার্ভারটা চালু করা

ভার্চুয়াল সার্ভার আসলে কী, AMI দিয়ে কোন নকশা বাছো, instance type-এর নামে কী লেখা থাকে, key pair-এর দুটো চাবি কে কী করে, chmod 400 কেন বাধ্যতামূলক, launch-এর পাঁচটা অবস্থা, আর SSH হ্যান্ডশেক ধাপে ধাপে।

ec2amiinstance typekey pairsshchmodstatus checklaunch⏱ ~৩৮ মিনিট
💡 ধারণা

ভার্চুয়াল সার্ভার — আসলে কী ভাড়া নিচ্ছ

আগের চারটে পর্ব ছিল ধারণা। এই পর্বে প্রথমবার তুমি একটা সার্ভার চালু করবে — আর সেটা তোমার হাতে আসবে প্রায় আধ মিনিটে।

EC2 মানে Elastic Compute Cloud। নামের তিনটে শব্দই কাজের:

• Compute — গণনা। অর্থাৎ একটা কম্পিউটার, যার CPU আর RAM আছে, যার উপর অপারেটিং সিস্টেম চলে।

• Elastic — সংখ্যাটা বদলায়। এক থেকে পঞ্চাশ, আবার পঞ্চাশ থেকে এক — মিনিটের মধ্যে।

• Cloud — তোমার ঘরে নেই। AWS-এর কোনো data centre-এ একটা তাকে একটা আসল মেশিনের ভেতরে।

এখন সৎ প্রশ্নটা: "ভার্চুয়াল" সার্ভার মানে কী? এটা কি আসল কম্পিউটার নয়?

AWS-এর data centre-এ যে মেশিনটা আছে সেটা বিরাট — ধরা যাক ৯৬টা CPU কোর আর ৭৬৮ GiB RAM। একজন গ্রাহককে ওই পুরো মেশিনটা দেওয়া হয় না, কারণ কারো ওতটা দরকার নেই। বদলে ওই মেশিনের উপরে একটা স্তর চলে, যার নাম hypervisor। তার কাজ একটাই: আসল যন্ত্রটাকে কেটে অনেকগুলো ছোট ছোট স্বাধীন কম্পিউটারে ভাগ করা।

তোমার instance ওরকম একটা ভাগ। তার ভেতর থেকে দেখলে — htop চালালে, free -h চালালে — ওটা একটা সম্পূর্ণ কম্পিউটার। তোমার নিজের kernel, নিজের ফাইলসিস্টেম, নিজের নেটওয়ার্ক ইন্টারফেস। পাশের ভাগটায় সম্পূর্ণ অন্য একজন গ্রাহকের সার্ভার চলছে, আর তোমরা দুজন একে অন্যকে দেখতে পাও না।

"ভার্চুয়াল" মানে তাই "নকল" নয়। মানে হলো যন্ত্রটা ভাগ করা, আর ভাগটা সফটওয়্যার দিয়ে আঁকা — ফলে সীমানাটা বদলানো যায়। এটাই গোটা ক্লাউডের ভিত: একটা সার্ভার তৈরি করা মানে কোনো যন্ত্র বসানো নয়, একটা বরাদ্দের অনুরোধ করা।

আর তাই চারটে সিদ্ধান্ত তোমার হাতে আসে, যেগুলো অফিসের র‍্যাকে হার্ডওয়্যার কেনার সময় কেনার সাথেই আটকে যেত:

সিদ্ধান্তAWS-এর ভাষায়বদলানো যায়?
কোন অপারেটিং সিস্টেমAMIনা, নতুন instance লাগে
কত CPU আর RAMinstance typeহ্যাঁ, বন্ধ করে বদলে আবার চালু
কে ঢুকতে পারবেkey pairনা, launch-এর সময়েই ঠিক হয়
কোথা থেকে ঢোকা যাবেsecurity groupহ্যাঁ, যেকোনো সময়

পরের চারটে সেকশন এই চারটে সিদ্ধান্ত নিয়ে, একটা একটা করে।

💡 ধারণা

AMI — কোন নকশা থেকে শুরু

একটা খালি ভার্চুয়াল যন্ত্র কোনো কাজের নয় — তার উপরে একটা অপারেটিং সিস্টেম দরকার। AMI (Amazon Machine Image) হলো সেই অপারেটিং সিস্টেমের একটা পূর্ণ ছাপ, যেখান থেকে ডিস্কটা তৈরি হবে।

AMI-তে কী কী থাকে:

• একটা root ডিস্কের পূর্ণ প্রতিচ্ছবি — kernel, সিস্টেম ফাইল, যে প্যাকেজগুলো আগেই বসানো আছে

• কোন আর্কিটেকচারের জন্য — x86_64 নাকি arm64

• কোন virtualization ধরন আর কোন boot পদ্ধতি

Launch-এর সময় AWS ওই ছাপটা নকল করে তোমার নতুন ডিস্কে বসায়। তাই একটা instance চালু হতে আধ মিনিট লাগে, এক ঘণ্টা নয় — কোনো ইনস্টলেশন হচ্ছে না, একটা কপি হচ্ছে।

AMI কোথা থেকে আসে, চার জায়গা থেকে:

১. Quick Start — AWS নিজে যেগুলো রাখে: Amazon Linux, Ubuntu, Debian, Windows Server। শেখার জন্য এগুলোই।

২. My AMIs — তোমার নিজের বানানো। একটা সার্ভার সাজানো শেষে তার ছাপ নিয়ে রাখলে পরের বার সাজানোর দরকার নেই। পর্ব ৮-এ এটা কাজে আসবে।

৩. Marketplace — তৃতীয় পক্ষের, আগে থেকে সাজানো। কিছু ফ্রি, কিছুতে সফটওয়্যারের দাম ঘণ্টার দামে যোগ হয়।

৪. Community — অন্য ব্যবহারকারীরা যেগুলো খুলে দিয়েছে। অজানা উৎস, তাই প্রোডাকশনে নয়।

এই পর্বের সবচেয়ে কাজের তথ্যটা এখানে: AMI-এর id প্রতি region-এ আলাদা। একই Ubuntu 24.04, us-east-1-এ এক id, ap-south-1-এ অন্য id। কারণ ছাপটা ওই region-এর স্টোরেজে রাখা থাকে, আর id ওই নির্দিষ্ট কপিটাকে দেখায়।

এর ফল হলো: কোনো স্ক্রিপ্টে বা টেমপ্লেটে AMI-এর id সরাসরি লিখে দিলে সেই স্ক্রিপ্ট শুধু ওই এক region-এ চলবে, আর অন্য region-এ InvalidAMIID.NotFound দিয়ে থামবে। পর্ব ১৯-এ দেখব এর সমাধানটা কী — id লেখার বদলে id খুঁজে নেওয়া।
🔒

বাকি অংশটা সাবস্ক্রাইবারদের জন্য

১১২টি অংশের ২৩টি দেখানো হয়েছে, ৮৯টি বাকি

←

আগের module

খরচ — মিটার, free tier আর হাত পুড়িয়ে না ফেলা

পরের module

নেটওয়ার্ক নিরাপত্তা — security group আর NACL

→