5.1
EBS Volume আর Snapshot
একটা AZ-এ বাঁধা network disk, delete-on-termination, snapshot, Snapshot Archive, Recycle Bin আর Fast Snapshot Restore।
24 মিনিট পড়া + Animation
টিপস: ডটেড-আন্ডারলাইন করা যেকোনো শব্দে ট্যাপ বা Hover করলে তার অর্থ দেখবে।
এই লেসন শেষে তুমি যা পারবে
- block storage কী, আর EBS volume কেন একটা network disk যেটা একটাই Availability Zone-এ থাকে, তা বুঝিয়ে বলতে পারবে।
- একটা volume-এর পুরো জীবন ধরে হাঁটতে পারবে: create, attach, detach, stop/start, delete; আর snapshot দিয়ে সেটাকে অন্য AZ বা Region-এ নিতে পারবে।
- বিল কত আসবে আগেই বলতে পারবে: volume attach থাকুক বা না থাকুক, provisioned GiB-এর টাকা দিতে হয়; volume বড় করা যায় (Elastic Volumes), কিন্তু কখনো ছোট করা যায় না।
- delete on termination flag দিয়ে root আর data volume রাখা বা মোছা ঠিক করতে পারবে, আর “terminate করেছি, তবু বিল আসছে” সমস্যার কারণ ধরতে পারবে।
- incremental snapshot block ধরে ধরে কীভাবে কাজ করে, একটা snapshot মুছলে আসলে কী মোছে, আর consistent snapshot কীভাবে নিতে হয়, তা বোঝাতে পারবে।
- lazy loading, নিজে initialise করা, provisioned initialisation rate আর Fast Snapshot Restore (FSR)-এর মধ্যে ঠিকটা বেছে নিতে পারবে।
- Recycle Bin আর Snapshot Archive tier দিয়ে snapshot রক্ষা করতে আর খরচ কমাতে পারবে, আর Data Lifecycle Manager (DLM) বা AWS Backup দিয়ে পুরো কাজটা automate করতে পারবে।
#Instance-এর নিজের একটা disk লাগে কেন
একটা EC2 instance-এর CPU আছে, memory আছে, কিন্তু instance stop হলেই memory পুরো ফাঁকা হয়ে যায়। Operating system, তোমার application আর data রাখার জন্য এমন একটা জায়গা লাগে, যেটা জিনিস ধরে রাখে: একটা disk।
নিজের কম্পিউটারে এটা হলো C: drive, যেখানে Windows থাকে, আর D: drive, যেখানে গেম আর ফাইল থাকে। EC2-তে সাধারণ উত্তর হলো Amazon EBS volume (Elastic Block Store): একটা virtual hard disk, যেটা তুমি বানাও, instance-এ লাগাও, আর instance stop হলেও যার data মোছে না।
#Block, file আর object storage
AWS তিন রকম storage দেয়, আর পরীক্ষায় এগুলো আলাদা করে চিনতে হয়:
| ধরন | তুমি কী দেখো | AWS-এর উদাহরণ | লেসন |
|---|---|---|---|
| Block | নম্বর দেওয়া block-এ ভাগ করা একটা কাঁচা disk। Operating system এটাকে file system (ext4, XFS, NTFS) দিয়ে format করে mount করে। | EBS, instance store | এই লেসন, ৫.২, ৫.৩ |
| File | একটা shared folder; অনেকগুলো machine network দিয়ে একই file system mount করে। | EFS, FSx | ৫.৪ |
| Object | পুরো ফাইল (object) key দিয়ে HTTPS-এ রাখা আর আনা হয়। mount নেই, ফাইলের একটা অংশ বদলানোও নেই। | S3 | অধ্যায় ১০ |
database আর boot disk-এর দরকার block device: operating system যেকোনো একটা block দ্রুত পড়তে পারে, বা সেই জায়গাতেই নতুন করে লিখতে পারে।
#EBS কেন network disk
তোমার instance যে physical host-এ চলে, EBS volume তার ভেতরে থাকে না। এটা থাকে একই Availability Zone-এর একঝাঁক storage server-এ, আর instance তার কাছে পৌঁছায় network দিয়ে। এই একটা সিদ্ধান্ত থেকেই EBS-এর প্রায় সব নিয়ম বেরিয়ে আসে:
- Persistent। instance stop হোক, অন্য host-এ সরুক বা নষ্ট হোক, data থেকে যায়, কারণ data কখনো ওই host-এ ছিলই না।
- খুলে নেওয়া যায়। কয়েক সেকেন্ডে volume detach করে আরেকটা instance-এ attach করা যায়।
- একটা AZ-এ আটকানো। storage server-গুলো একটা AZ-এ, তাই শুধু ওই AZ-এর instance-ই volume-টা ব্যবহার করতে পারে।
- একটু latency। প্রতিটা read আর write network পার হয়, তাই host-এর ভেতরে বসানো disk-এর চেয়ে latency সামান্য বেশি (ওই দ্রুত কিন্তু অস্থায়ী local disk হলো instance store, লেসন ৫.৩)।
- নিজের AZ-এর ভেতরে কপি রাখা। EBS নিজে থেকেই AZ-এর ভেতরে কয়েকটা server-এ তোমার volume-এর কপি রাখে, তাই একটা disk নষ্ট হলে data হারায় না। কিন্তু অন্য AZ-এ কপি রাখে না; সেটা তোমার কাজ, snapshot দিয়ে।
#একটা volume-এর জীবন
#Create, attach, ব্যবহার, detach, delete
| State | মানে |
|---|---|
creating | EBS volume তৈরি করছে (কয়েক সেকেন্ড)। |
available | volume আছে, কিন্তু কোথাও attach করা নেই। data তখনও আছে, বিলও চলছে। |
in-use | একটা instance-এ attach করা। |
deleting / deleted | শেষ। snapshot না থাকলে (বা volume-এর জন্য Recycle Bin rule না থাকলে, নিচে আছে) এর data আর ফেরত আনা যায় না। |
সাধারণ ধাপগুলো:
Create
একটা Availability Zone, GiB-এ size আর একটা volume type বেছে নাও (default gp3; type নিয়ে লেসন ৫.২)। খালি volume বানাতে পারো, অথবা snapshot থেকে restore করে বানাতে পারো।
Attach
একই AZ-এর একটা instance-এ
/dev/sdf-এর মতো একটা device name দিয়ে attach করো। Nitro instance-এ এটা NVMe device হিসেবে দেখা যায় (/dev/nvme1n1)। instance চলা অবস্থাতেই attach করা যায়।Format আর mount (শুধু খালি volume-এ)
খালি volume একটা কাঁচা disk। একবার file system বানাও (
mkfs), mount করো, আর/etc/fstab-এ লিখে রাখো, যাতে reboot-এর পরেও mount হয়। snapshot থেকে বানানো volume-এ file system আগে থেকেই থাকে।Detach
আগে operating system-এর ভেতরে unmount করো, তারপর detach করো। লেখা চলাকালীন detach করলে file system নষ্ট হয়ে যেতে পারে। root volume detach করা যায় শুধু instance stop থাকলে।
Delete
আর না লাগলে মুছে দাও। বিল বন্ধ হয় কেবল তখনই।
#কয়টা volume, কয়টা instance
- একটা instance-এ অনেকগুলো volume থাকতে পারে: একটা root volume আর কয়েকটা data volume, ঠিক C:, D:, E:-এর মতো। সর্বোচ্চ কয়টা, সেটা instance type-এর ওপর নির্ভর করে; অনেক Nitro type-এ network interface, EBS volume আর NVMe instance store মিলিয়ে মোট ২৮টা attachment-এর একটা ভাগাভাগি সীমা থাকে, আর নতুন কিছু type-এ EBS-এর জন্য আলাদা, আরও বড় সীমা আছে।
- একটা volume একবারে একটাই instance-এ attach হয়, এটাই default।
in-usevolume আরেকটা instance-এ লাগাতে গেলে ব্যর্থ হবে, কারণ দুটো operating system একটা সাধারণ file system-এ একসাথে লিখলে সেটা নষ্ট হয়ে যায়। ব্যতিক্রম হলো EBS Multi-Attach (শুধু io1/io2, একই AZ, cluster বোঝে এমন software), যেটা লেসন ৫.২-এ আছে। অনেকগুলো instance-এর যদি একই ফাইল লাগে, উত্তর হলো EFS (লেসন ৫.৪)।
#Stop, start আর reboot-এর পরেও থাকে
| কাজ | Root আর data EBS volume |
|---|---|
| Reboot | থাকে, attach-ও থাকে |
| Stop, তারপর start | থাকে, attach-ও থাকে (instance অন্য host-এ বসতে পারে; volume তার পিছু পিছু যায়) |
| Hibernate | থাকে; RAM-এর image লেখা হয় root volume-এ (লেসন ৪.৫) |
| Terminate | প্রতিটা volume-এর delete on termination flag-এর ওপর নির্ভর করে (নিচে আছে) |
#একটা Availability Zone-এ আটকানো
us-east-1a-তে বানানো volume শুধু us-east-1a-এর instance-এই লাগানো যায়। “AZ বদলাও” বলে কোনো বোতাম নেই। অন্য AZ-এ data লাগলে যেতে হয় snapshot-এর পথ ধরে, কারণ snapshot পুরো Region-এর জন্য জমা থাকে:
- volume-এর একটা snapshot নাও।
- snapshot থেকে যে AZ-এ চাও সেখানে নতুন volume বানাও (চাইলে একই সাথে size বা type বদলাতে পারো)।
- নতুন volume-টা সেখানে attach করো, কাজ শেষ হলে পুরনোটা মুছে দাও।
অন্য Region-এ নিতে হলে একটা ধাপ বেশি: snapshot-টা ওই Region-এ কপি করো, তারপর কপি থেকে volume বানাও।
EBS volume একটা AZ-এ আটকে থাকে
volume হলো একটা network disk, যেটা একটা Availability Zone-এ থাকে। snapshot থাকে পুরো Region জুড়ে, তাই অন্য AZ বা Region-এ যাওয়ার সেতু হলো snapshot।
পরিস্থিতি
তুমি us-east-1a-তে ১০০ GiB-এর একটা volume বানালে। এটা নিজে নিজেই আছে, তাকের ওপর রাখা একটা disk-এর মতো, আর এই মুহূর্ত থেকেই বিল শুরু, attach করো বা না করো।
#Capacity আর বিল
#যতটা provision করো, ততটার টাকা
volume বানানোর সময় তুমি তার size বেছে নাও (type অনুযায়ী ১ GiB থেকে ৬৪ TiB পর্যন্ত), আর কিছু type-এ IOPS আর throughput-ও। বিল হয় provisioned size ধরে, প্রতি GiB-month হিসেবে, যতদিন volume-টা আছে:
- ৫০০ GiB-এর volume-এ মাত্র ২০ GiB ফাইল থাকলেও খরচ ভরা volume-এর সমান।
availableঅবস্থার volume, যেটা কোথাও লাগানো নেই, তারও বিল attach করা volume-এর মতোই।- instance stop করলে compute-এর বিল থামে, storage-এর বিল থামে না।
যেমন us-east-1-এ gp3-এর দাম মোটামুটি প্রতি GiB-month $0.08; ভুলে পড়ে থাকা একটা ৫০০ GiB volume প্রতি মাসে প্রায় $40 খেয়ে যায়, কোনো কাজ ছাড়াই। একই data-র snapshot-এর খরচ প্রতি GiB-month প্রায় $0.05, তাও শুধু আসলে লেখা block-গুলোর। তাই পরে লাগতে পারে এমন data রেখে দেওয়ার চেনা উপায় হলো “আগে snapshot, তারপর delete”।
নিজেকে যাচাই করোপ্রশ্ন
একটা টিম ৩০ GiB data থাকা একটা ২০০ GiB gp3 volume detach করে এক মাস কোথাও না লাগিয়ে ফেলে রাখল। ওই মাসে EBS কত টাকা নেবে?
#Elastic Volumes দিয়ে volume বড় করা
Elastic Volumes দিয়ে তুমি একটা volume attach রেখে, ব্যবহার চলা অবস্থাতেই বদলাতে পারো: size বাড়ানো, type বদলানো (যেমন gp2 → gp3), বা IOPS আর throughput বদলানো।
- শুধু বাড়ানো যায়। volume কখনো ছোট করা যায় না। ছোট করতে চাইলে নতুন একটা ছোট volume বানাও, ফাইল ধরে ধরে data কপি করো, সেটায় চলে যাও, পুরনোটা মুছে দাও। snapshot থেকে ছোট volume-এ restore করলে হবে না: snapshot থেকে বানানো volume-কে snapshot-এর মূল volume-এর সমান বা তার চেয়ে বড় হতেই হবে।
- file system বাড়াও। volume বড় করার পরেও operating system পুরনো partition-ই দেখে। সেটা বাড়াতে হয় (
growpart, তারপর ext4 হলেresize2fs, XFS হলেxfs_growfs; Windows-এ Disk Management)। - State। একটা modification যায়
modifying→optimizing→completedধাপে।optimizingচলাকালীনই নতুন size ব্যবহার করা যায়। - কতবার। জানুয়ারি ২০২৬ থেকে একটা volume যেকোনো ২৪ ঘণ্টায় সর্বোচ্চ ৪ বার modify করা যায়, প্রতিবার আগেরটা শেষ হওয়ার পর। (পুরনো বই-নোটে লেখা থাকে “দুটো modification-এর মাঝে ৬ ঘণ্টা অপেক্ষা”; সেই নিয়ম এখন ঢিলে করা হয়েছে।)
#Root আর বাড়তি volume: delete on termination
instance-এ লাগানো প্রতিটা volume-এর একটা flag আছে, DeleteOnTermination। instance terminate হলে (stop না) ওই volume-এর কী হবে, সেটা এই flag ঠিক করে।
| Volume | Default | terminate করলে কী হয় |
|---|---|---|
| launch-এর সময় বানানো root volume | true | instance-এর সাথে মুছে যায় |
| launch-এর পরে attach করা বাড়তি volume | false | শুধু detach হয়; data সহ available হয়ে তোমার account-এ থেকে যায়, বিলও চলে |
| launch request-এর ভেতরেই দেওয়া বাড়তি volume | Console: “No” (false)। CLI/API: true | যেটা সেট করা আছে; সবসময় মিলিয়ে দেখো |
launch-এর সময় শুরুর মানগুলো আসে AMI-এর block device mapping থেকে, আর তুমি সেগুলো বদলে দিতে পারো। পরে চালু instance-এও aws ec2 modify-instance-attribute দিয়ে flag বদলানো যায়। পরীক্ষার চেনা নিয়ম “root মোছে, বাড়তি volume থাকে” console-এর জন্য আর launch-এর পরে লাগানো volume-এর জন্য ঠিক; কিন্তু CLI-র run-instances দিয়ে যোগ করা data volume default-এ মুছে যায়, তাই launch-এর পর setting-টা একবার দেখে নিও।
এই default-গুলো থেকেই দুটো চেনা পরিস্থিতি আসে:
- “একজন admin EC2 instance terminate করেছে, তবু বিলে EBS-এর খরচ দেখাচ্ছে।” বাড়তি data volume-গুলোতে
DeleteOnTermination = falseছিল, তাই সেগুলোavailablevolume হয়ে টিকে গেছে, আর provisioned size ধরে বিল হচ্ছে।availableঅবস্থার volume খুঁজে বের করো, data লাগতে পারলে snapshot নাও, তারপর মুছে দাও। - “instance terminate হওয়ার পরেও root volume রাখব কীভাবে?” root volume-এ
DeleteOnTermination = falseকরে দাও, launch-এর সময় বা পরেmodify-instance-attributeদিয়ে। terminate-এর পর root একটাavailablevolume হয়ে থেকে যায়, যেটা আরেকটা instance-এ দ্বিতীয় disk হিসেবে লাগিয়ে পড়া যায়।
Instance terminate: কোন volume টিকে থাকে?
attach করা প্রতিটা volume-এর নিজের একটা “delete on termination” flag আছে। root volume আর বাড়তি volume-এর default আলাদা।
পরিস্থিতি
launch-এর সময় বানানো root volume-এ flag-টা default-এ true: এর কাজই এই instance boot করানো।
#Snapshot
#Snapshot কী
EBS snapshot হলো একটা volume-এর নির্দিষ্ট মুহূর্তের backup: snapshot শুরু করার মুহূর্তে প্রতিটা block যেমন ছিল, তার কপি।
- snapshot জমা থাকে Amazon S3-তে, AWS-এর নিজের সামলানো bucket-এ। S3 console-এ এগুলো দেখা যায় না, S3 API দিয়েও ধরা যায় না; কাজ করতে হয় EC2/EBS দিয়ে।
- snapshot-এর data Region-এর সব AZ-এ কপি করা থাকে, তাই এটা থেকে ওই Region-এর যেকোনো AZ-এ volume বানানো যায়।
- volume attach করা আর ব্যবহার চলা অবস্থাতেই snapshot নেওয়া যায়। EBS পেছনে data কপি করার সময় snapshot
pendingথাকে, আর এর মধ্যেও volume ব্যবহার করা যায়। শুধু snapshot শুরুর আগে লেখা data-টুকুই এতে থাকে। - AWS নিজে থেকে কখনো snapshot নেয় না। EBS-এর backup নেওয়া তোমার দায়িত্ব, হাতে বা DLM / AWS Backup দিয়ে।
AMI-ও একই কৌশলে তৈরি: EBS-backed instance থেকে AMI বানালে তার প্রতিটা volume-এর একটা করে snapshot নেওয়া হয় (লেসন ৪.৩)।
#Incremental: শুধু বদলানো block জমা হয়
একটা volume-এর প্রথম snapshot লেখা থাকা সব block কপি করে। ওই volume-এর পরের প্রতিটা snapshot শুধু আগেরটার পর থেকে বদলানো block জমা রাখে, আর বাকিগুলোর জন্য পুরনো snapshot-এর দিকে ইশারা করে। তবু প্রতিটা snapshot একটা সম্পূর্ণ restore point: যেকোনো একটা থেকে restore করলে ওই মুহূর্তের পুরো volume পাওয়া যায়।
১০০ GiB-এর একটা database volume নিয়ে হিসাবটা করে দেখি (সব block-এ লেখা আছে):
| দিন | কী বদলেছে | এই snapshot কতটা জমা রাখল | মোট জমা |
|---|---|---|---|
| রবিবার, snapshot 1 | সবই নতুন | ১০০ GiB (full) | ১০০ GiB |
| সোমবার, snapshot 2 | X1 আর X2 block (২ GiB) | ২ GiB | ১০২ GiB |
| মঙ্গলবার, snapshot 3 | আবার X2 block (১ GiB) | ১ GiB | ১০৩ GiB |
তিনটা পূর্ণ restore point, খরচ ৩০০ GiB না, মাত্র ১০৩ GiB। আরেকটা কথা: প্রথম snapshot শুধু লেখা block-গুলোই রাখে। ১০০ GiB-এর volume-এ ৩০ GiB data থাকলে প্রথম snapshot হবে মোটামুটি ৩০ GiB, ১০০ GiB না।
#একটা snapshot মুছলে আসলে কী হয়
তুমি যেকোনো snapshot, যেকোনো ক্রমে মুছতে পারো, আর বাকি প্রতিটা snapshot থেকে restore ঠিকই হবে। EBS শুধু সেই data মোছে, যেটা আর কোনো snapshot-এর লাগে না:
- snapshot 2 মুছলে (মাঝেরটা): snapshot 3-এর এখনও সোমবারের X1 লাগে, তাই সেই ১ GiB থেকে যায়, আর এখন থেকে তার বিল snapshot 3-এর ঘাড়ে। সোমবারের X2 আর কারও লাগে না (মঙ্গলবার সেটা আবার বদলেছে), তাই সেই ১ GiB মুছে যায়। storage ১০৩ থেকে ১০২ GiB হয়, ১০১ না।
- snapshot 1 মুছলে (সবচেয়ে পুরনোটা): কখনো না বদলানো ৯৮ GiB-এর দিকে এখনও snapshot 2 আর 3 ইশারা করছে, তাই সেটা থাকে। মুছে যায় শুধু রবিবারের X1 আর X2 (২ GiB): ১০৩ → ১০১ GiB।
তাই একটা snapshot মোছা বাকিগুলোর জন্য সবসময় নিরাপদ, তবে যত টাকা বাঁচবে ভাবছ, তার চেয়ে কম বাঁচতে পারে।
Incremental snapshot, block ধরে ধরে
১০০ GiB-এর একটা volume। প্রতিটা snapshot শুধু আগেরটার পর থেকে বদলানো block-গুলো জমা রাখে, বাকিগুলোর দিকে শুধু ইশারা করে।
পরিস্থিতি
কোন snapshot কোন block জমা রাখে
| Block | Snap 1 (Sun) | Snap 2 (Mon) | Snap 3 (Tue) |
|---|---|---|---|
| 98 GiB never changed | v1 stored | ||
| X1 (1 GiB) | v1 stored | ||
| X2 (1 GiB) | v1 stored |
রবিবার: প্রথম snapshot লেখা থাকা সব block কপি করে, ১০০ GiB। একটা volume-এর প্রথম snapshot সবসময় full।
#Consistent snapshot কীভাবে পাবে
ব্যবহার চলা volume-এর snapshot-এ থাকে ঠিক ওই মুহূর্তে disk-এ যা ছিল সেটুকু। যে লেখা তখনও application-এর memory বা operating system-এর cache-এ বসে আছে, সেটা বাদ পড়ে। ফলটা crash-consistent: হঠাৎ server-এর বিদ্যুৎ চলে গেলে যে অবস্থা হতো, সেটাই। এখনকার বেশিরভাগ database আর journaling file system এ থেকে সামলে উঠতে পারে, কিন্তু এটা পরিষ্কার backup না।
application-consistent snapshot চাইলে:
- snapshot শুরুর সময়টায় লেখা থামাও আর flush করো: database-কে backup mode-এ নাও বা তার table flush করো, Linux-এ
fsfreezeচালাও বা Windows-এ VSS ব্যবহার করো, snapshot শুরু করো, তারপর আবার চালু করো। snapshot request ফেরত এলেই freeze তুলে দিতে পারো;completedপর্যন্ত বসে থাকতে হয় না। - অথবা instance stop করো (root volume-এর জন্য এটাই সেরা), বা volume unmount করে detach করো, snapshot নাও, তারপর আবার লাগাও।
- একটা instance-এর কয়েকটা volume হলে (যেমন data আর log আলাদা volume-এ), multi-volume snapshot নাও: একটা request-এই সবগুলোর snapshot একই মুহূর্তে হয়, সব volume জুড়ে crash-consistent।
- DLM প্রতিটা নির্ধারিত snapshot-এর আগে-পরে instance-এ pre আর post script চালাতে পারে (Systems Manager দিয়ে), যেগুলো application freeze করে আবার ছেড়ে দেয়।
snapshot নিলে কি volume ধীর হয়ে যায়? snapshot যতক্ষণ pending থাকে, volume পুরোপুরি ব্যবহার করা যায়। SSD volume-এর একটা snapshot-এ গতি কমে, এমন কিছু AWS বলে না। তবে দুটো ক্ষেত্রে I/O-র ওপর চাপ পড়ে: একই volume-এর কয়েকটা snapshot একসাথে pending থাকলে সেগুলো শেষ না হওয়া পর্যন্ত volume-এর performance কমে যেতে পারে, আর st1 বা sc1 volume-এ snapshot চলার সময় throughput baseline-এ নেমে যেতে পারে। এ কারণেই course-এর slide বলে, application-এ যখন খুব traffic, তখন backup নিও না। DLM-এর snapshot কম ব্যস্ত সময়ে রাখো, আর একটার ঘাড়ে আরেকটা চাপিও না।
#Snapshot কপি আর share করা
copy-snapshotদিয়ে অন্য Region-এ কপি করো: কপিটা ওই Region-এ একটা নতুন, আলাদা snapshot, যেটা থেকে সেখানকার যেকোনো AZ-এ volume বানানো যায়। cross-Region disaster recovery আর এক Region থেকে আরেক Region-এ workload সরানো, দুটোরই মূল এটা। কপি করার সময় encryption setting-ও বদলানো যায় (লেসন ৫.২)।- নির্দিষ্ট AWS account-এর সাথে snapshot share করা যায়, বা public করা যায় (account-এর “block public access for snapshots” setting default-এ এটা আটকে রাখে)। encrypted snapshot-এ KMS key নিয়ে বাড়তি নিয়ম আছে, সেটা লেসন ৫.২-এ।
- Snapshot lock (governance বা compliance mode) একটা নির্দিষ্ট সময় পর্যন্ত snapshot মোছা একদম অসম্ভব করে দিতে পারে, নিয়ন্ত্রক সংস্থার WORM ধাঁচের retention-এর জন্য।
#Restore: lazy loading আর তা এড়ানোর উপায়
#Initialisation penalty
snapshot থেকে volume বানালে কয়েক সেকেন্ডেই সেটা available হয়ে যায়, শত শত GiB কপি হওয়ার অনেক আগেই। EBS এটা করে lazy loading দিয়ে: block-গুলো S3-তেই থাকে, আর প্রতিটা block নামানো হয় যখন সেটা প্রথমবার পড়া হয়। এর পাশাপাশি EBS পেছনে বাকিগুলোও নামাতে থাকে।
ফলে প্রতিটা block-এর প্রথম read ধীর (latency বেশি, IOPS কম), আর একই block দ্বিতীয়বার পড়লে দ্রুত। boot disk-এর জন্য এতে তেমন কিছু যায় আসে না; কিন্তু রাত ৩টায় restore করা production database-এর জন্য এর মানে প্রথম এক ঘণ্টা ধীর আর অনিশ্চিত। একদম নতুন খালি volume-এ এই সমস্যা নেই: শুরু থেকেই পূর্ণ গতি।
তোমার হাতে চারটা পথ:
| উপায় | কীভাবে | খরচ | ফল |
|---|---|---|---|
| কিছুই না করা | lazy loading মেনে নেওয়া | নেই | প্রথম read ধীর, পূর্ণ গতি কখন আসবে ঠিক নেই |
| নিজেই initialise করা | আসল traffic-এর আগে fio (একসাথে অনেক read, দ্রুত) বা dd দিয়ে প্রতিটা block একবার পড়ে নেওয়া | নেই (শুধু তোমার সময়) | size আর instance-এর bandwidth অনুযায়ী কয়েক মিনিট থেকে কয়েক ঘণ্টা পর পূর্ণ গতি |
| Provisioned rate for volume initialisation | volume বানানোর সময় ১০০ থেকে ৩০০ MiB/s-এর একটা rate বলে দেওয়া | snapshot data-র প্রতি GiB হিসেবে | আগে থেকে জানা সময়ের মধ্যে পুরো initialised |
| Fast Snapshot Restore (FSR) | volume বানানোর আগে নির্দিষ্ট AZ-এ snapshot-টার জন্য FSR চালু করা | us-east-1-এ প্রতি snapshot প্রতি AZ ঘণ্টায় প্রায় $0.75 | তৈরির সময়েই পুরো initialised, শুরু থেকেই পূর্ণ গতি |
#Fast Snapshot Restore খুঁটিয়ে
- FSR চালু করতে হয় প্রতি snapshot, প্রতি Availability Zone ধরে। চালু থাকা AZ-এ ওই snapshot থেকে বানানো volume তৈরির সময়েই পুরো initialised; অন্য যেকোনো AZ-এ সেটা আগের মতোই lazy loading।
- চালু করার পর snapshot যায়
enabling→optimizing→enabledধাপে। optimizing-এ মোটামুটি প্রতি TiB-এ ৬০ মিনিট লাগে। - Volume creation credit ঠিক করে একসাথে কতগুলো পুরো initialised volume বানানো যাবে: প্রতি snapshot প্রতি AZ-এ একটা bucket, যেখানে সর্বোচ্চ ১০টা credit থাকে (বড় snapshot-এ আরও কম: ১০২৪ ÷ GiB-এ snapshot-এর size, তবে কমপক্ষে ১)। ১২৮ GiB-এর snapshot পায় ৮টা credit; ৫১২ GiB-এর snapshot মাত্র ২টা। bucket খালি হলে আবার না ভরা পর্যন্ত নতুন volume FSR ছাড়াই তৈরি হয়।
- সীমা: default-এ প্রতি Region-এ সর্বোচ্চ ৫টা snapshot-এ FSR, আর snapshot হতে হবে ১৬ TiB বা তার কম। যত ঘণ্টা চালু থাকে (কমপক্ষে এক ঘণ্টা), তত ঘণ্টার বিল, একটাও volume না বানালেও: ৩০ দিনের জন্য ৩টা AZ-এ ২টা snapshot, $0.75 হারে, মানে $3,240।
- volume আসলেই FSR পেল কি না, তা বোঝা যায় তার
fastRestoredfield দেখে।
Volume restore: lazy loading বনাম FSR
restore করা volume কয়েক সেকেন্ডেই available হয়, কিন্তু কেউ নামিয়ে না আনা পর্যন্ত তার block-গুলো S3-তেই পড়ে থাকে।
পরিস্থিতি
৫০০ GiB-এর snapshot থেকে একটা volume বানালে। কয়েক সেকেন্ডেই এটা available, ৫০০ GiB কপি হওয়ার অনেক আগেই।
#Snapshot রক্ষা করা আর খরচ কমানো
#EBS Snapshot Archive
snapshot সাধারণত থাকে standard tier-এ। archive tier সেই snapshot-গুলোর জন্য, যেগুলো মাসের পর মাস বা বছরের পর বছর রাখতে হয়, কিন্তু restore প্রায় কখনোই লাগে না: project শেষের snapshot, মাসিক বা বাৎসরিক compliance snapshot।
- storage সর্বোচ্চ ৭৫% সস্তা (us-east-1-এ প্রতি GB-month $0.05-এর বদলে প্রায় $0.0125), সাথে restore করলে প্রতি GB-এ একটা retrieval খরচ।
- archive করা snapshot একটা full snapshot-এ (সব block সহ) রূপান্তরিত হয়, তাই যে incremental snapshot থেকে এসেছে, তার চেয়ে বড় হতে পারে। এজন্য একটা volume-এর রোজকার incremental snapshot archive করলে খরচ উল্টো বাড়তে পারে; archive করো মাসিক বা বাৎসরিক snapshot।
- কমপক্ষে ৯০ দিন। তার আগে মুছলে বা স্থায়ীভাবে restore করলে ৯০ দিনের বাকি সময়ের টাকাও দিতে হয়।
- Restore-এ ৭২ ঘণ্টা পর্যন্ত লাগে (অনেকে বলে ২৪ থেকে ৭২ ঘণ্টা), standard tier-এ, কয়েক দিনের জন্য temporary বা স্থায়ীভাবে।
- archived থাকা অবস্থায় এটা থেকে volume বানানো, কপি করা, share করা বা FSR চালু করা যায় না। আগে restore করতে হবে।
#Recycle Bin
Recycle Bin মুছে ফেলা EBS snapshot, EBS-backed AMI আর EBS volume ধরে রাখে, যাতে ভুল করে বা খারাপ উদ্দেশ্যে মোছা জিনিস ফেরত আনা যায়।
- প্রতি Region-এ retention rule বানাতে হয়: tag-level (নির্দিষ্ট tag থাকা resource রক্ষা করে) বা Region-level (ওই Region-এ ওই ধরনের সব resource রক্ষা করে, চাইলে exclusion tag দিয়ে কিছু বাদ দিয়ে)।
- কতদিন রাখা যায়: snapshot আর AMI ১ থেকে ৩৬৫ দিন, volume ১ থেকে ৭ দিন।
- rule-এর সাথে মেলে এমন resource মুছলে সেটা হারিয়ে না গিয়ে Recycle Bin-এ যায়। retention-এর মধ্যে যেকোনো সময় একই ID সহ restore করা যায়। সময় পেরোলে চিরতরে মুছে যায়।
- feature-টার নিজের কোনো খরচ নেই; bin-এ থাকা snapshot-এর বিল হয় তার সাধারণ snapshot (বা archive) হারে।
- Rule lock: একটা Region-level rule (exclusion tag ছাড়া) lock করা যায়, সাথে ৭ থেকে ৩০ দিনের unlock delay। lock করা rule বদলানো বা মোছা যায় না, admin-ও পারে না; unlock করার পরেও delay শেষ না হওয়া পর্যন্ত rule চালু থাকে। চুরি যাওয়া credential বা ransomware যদি আগে নিরাপত্তার জালটাই সরাতে চায়, এটা তাদের আটকায়।
#Backup automate করা
#Amazon Data Lifecycle Manager
Amazon Data Lifecycle Manager (DLM) নির্দিষ্ট সময় পরপর EBS snapshot (আর EBS-backed AMI) বানায়, রাখে, কপি করে আর মোছে, কোনো বাড়তি খরচ ছাড়াই:
- একটা policy tag দেখে volume বা instance বেছে নেয় (যেমন
backup=daily)। instance বেছে নিলে পাওয়া যায় multi-volume, crash-consistent snapshot set। - একটা policy-তে সর্বোচ্চ ৪টা schedule (দৈনিক, সাপ্তাহিক, মাসিক, বাৎসরিক বা cron expression)।
- Retention সংখ্যা দিয়ে (শেষ ১ থেকে ১,০০০টা রাখো) বা বয়স দিয়ে; সবচেয়ে পুরনোটা আপনা-আপনি মুছে যায়।
- প্রতিটা schedule snapshot সর্বোচ্চ ৩টা অন্য Region-এ কপি করতে পারে, অন্য account-এর সাথে share করতে পারে, FSR চালু করতে পারে, আর snapshot archive করতে পারে (মাসিক বা তার চেয়ে লম্বা schedule-এ)।
- application-consistent snapshot-এর জন্য pre আর post script।
- DLM শুধু নিজের বানানো snapshot-গুলোই সামলায়।
#AWS Backup
AWS Backup হলো অনেক service জুড়ে কাজ করার উপায়: EBS, EC2, RDS, Aurora, DynamoDB, EFS, FSx, S3 আর আরও অনেক কিছুর জন্য একটাই backup plan আর একটাই console, সাথে backup vault, cross-account আর cross-Region কপি, audit report আর Vault Lock।
| DLM | AWS Backup | |
|---|---|---|
| কতদূর | EBS snapshot আর EBS-backed AMI | অনেকগুলো AWS service |
| সাধারণ ব্যবহার | tag দেখে EBS snapshot-এর schedule | পুরো প্রতিষ্ঠানের জন্য কেন্দ্রীয় backup policy আর compliance |
| খরচ | নেই (snapshot-এর টাকা দাও) | backup storage আর feature-এর টাকা দাও |
Recycle Bin, Archive আর automation
snapshot হলো তোমার নিরাপত্তার জাল। এই feature-গুলো এদের ভুল থেকে বাঁচায়, খরচ কমায়, আর সময়মতো নিজে থেকে নেয়।
পরিস্থিতি
আগে একটা Region-level retention rule: এই Region-এ মোছা প্রতিটা snapshot ১৪ দিন রেখে দেওয়া হবে। snapshot ১ থেকে ৩৬৫ দিন রাখা যায়, volume ১ থেকে ৭ দিন।
#কোথায় গোলমাল হয়
| লক্ষণ | কারণ | সমাধান |
|---|---|---|
attach ব্যর্থ: volume আর instance আলাদা AZ-এ (InvalidVolume.ZoneMismatch) | volume শুধু নিজের AZ-এই attach হয় | snapshot → instance-এর AZ-এ volume বানাও |
attach ব্যর্থ: VolumeInUse | volume আরেকটা instance-এ লাগানো | আগে সেখান থেকে detach করো (Multi-Attach শুধু io1/io2-তে, লেসন ৫.২) |
| নতুন volume লাগালাম, কিন্তু drive হিসেবে দেখা যাচ্ছে না | খালি volume-এ file system নেই, mount-ও করা হয়নি | mkfs, mount, /etc/fstab-এ যোগ |
volume বড় করলাম, কিন্তু df পুরনো size দেখাচ্ছে | partition আর file system বাড়ানো হয়নি | growpart + resize2fs / xfs_growfs |
modify-volume rate-exceeded error দিয়ে বাতিল | ২৪ ঘণ্টায় ৪ বার modification শেষ | error message-এ দেওয়া সময় পর্যন্ত অপেক্ষা |
| terminate-এর পরেও বিলে EBS | data volume-এ delete on termination false | available volume খুঁজে snapshot নিয়ে মুছে দাও |
| restore করা database প্রথম এক ঘণ্টা ধীর | S3 থেকে lazy loading | FSR, fio/dd দিয়ে initialise, বা provisioned initialisation rate |
| FSR snapshot থেকে বানানো volume-ও ধীর | FSR ছাড়া AZ-এ বানানো, বা credit শেষ | fastRestored দেখো; চালু থাকা AZ-এ বানাও বা credit-এর জন্য অপেক্ষা করো |
| snapshot থেকে volume বানানো যাচ্ছে না | snapshot-টা archived | standard tier-এ restore করো (৭২ ঘণ্টা পর্যন্ত) |
| restore করা volume-এ শেষ কিছু লেখা নেই | freeze না করে নেওয়া crash-consistent snapshot | snapshot-এর আগে freeze/flush বা stop |
| ভুল করে snapshot মুছে ফেলেছি | কোনো Recycle Bin rule ছিল না | দরকার পড়ার আগেই rule বানিয়ে রাখো |
#System design-এ EBS আর snapshot
- storage আর compute আলাদা রাখো। data EBS-এ রাখলে instance বদলানো যায় (নতুন type, নষ্ট host), আর volume আবার লাগিয়ে দেওয়া যায়। এই কারণেই “stop-এর পরেও data রাখো” আর “instance-এর মধ্যে volume সরাও”-এর উত্তর EBS, instance store না।
- Backup আর RPO। কত ঘন ঘন snapshot নিচ্ছ, সেটাই ঠিক করে recovery point objective (RPO): প্রতি ৪ ঘণ্টায় snapshot মানে সর্বোচ্চ ৪ ঘণ্টার data হারানো। এর চেয়ে কম RPO লাগলে শুধু snapshot-এ হবে না, database-এর নিজের replication লাগবে।
- AZ নষ্ট হলে। volume তার AZ-এর সাথেই মরে। snapshot পুরো Region-এর, তাই অন্য AZ-এ আবার গড়ে তোলা যায়; দ্রুত ফিরতে চাইলে দ্বিতীয় AZ-এ একটা replica চালিয়ে রাখো।
- Region নষ্ট হলে, DR। snapshot দ্বিতীয় একটা Region-এ কপি করে রাখো (DLM নিজেই করে দেয়); সেখানে FSR চালু রেখে restore করলে recovery-র সময় (RTO) কমে।
- দ্রুত scale-out। data একটা snapshot বা AMI-তে ভরে রাখো, তা থেকে অনেকগুলো instance চালু করো; FSR থাকলে নতুন volume প্রথম সেকেন্ড থেকেই দ্রুত।
- Test-এর জন্য clone। গত রাতের production snapshot restore করো (বা একই AZ-এ
copy-volumesব্যবহার করো), production না ছুঁয়েই tester-রা আসল data পাবে। - খরচের পরিচ্ছন্নতা। volume-এ tag দাও,
availablevolume দেখলেই alert, standard tier-এ retention ছোট রাখো আর লম্বা সময়ের snapshot archive করো।
#নিজে করে দেখো
# 1. Create a 10 GiB gp3 volume in the instance's AZ, attach it, check the state
VOL=$(aws ec2 create-volume --availability-zone us-east-1a --size 10 --volume-type gp3 \
--tag-specifications 'ResourceType=volume,Tags=[{Key=backup,Value=daily}]' \
--query VolumeId --output text)
aws ec2 wait volume-available --volume-ids $VOL
aws ec2 attach-volume --volume-id $VOL --instance-id $ID --device /dev/sdf
aws ec2 describe-volumes --volume-ids $VOL --query "Volumes[0].[State,AvailabilityZone,Attachments[0].DeleteOnTermination]"
# 2. On the instance: format and mount the empty volume (Nitro shows it as NVMe)
lsblk
sudo mkfs -t xfs /dev/nvme1n1
sudo mkdir /data && sudo mount /dev/nvme1n1 /data
# 3. Keep the root volume after termination (change the flag on a running instance)
aws ec2 modify-instance-attribute --instance-id $ID \
--block-device-mappings '[{"DeviceName":"/dev/xvda","Ebs":{"DeleteOnTermination":false}}]'
# 4. Grow the volume to 20 GiB while it is in use, then extend the file system
aws ec2 modify-volume --volume-id $VOL --size 20
aws ec2 describe-volumes-modifications --volume-ids $VOL --query "VolumesModifications[0].ModificationState"
sudo xfs_growfs -d /data
# 5. Snapshot (freeze writes for consistency), then move the data to us-east-1b
sudo fsfreeze -f /data
SNAP=$(aws ec2 create-snapshot --volume-id $VOL --description "data before move" \
--query SnapshotId --output text)
sudo fsfreeze -u /data
aws ec2 wait snapshot-completed --snapshot-ids $SNAP
aws ec2 create-volume --snapshot-id $SNAP --availability-zone us-east-1b --volume-type gp3
# 6. Copy the snapshot to another Region for disaster recovery
aws ec2 copy-snapshot --region eu-west-1 --source-region us-east-1 \
--source-snapshot-id $SNAP --description "DR copy"
# 7. Fast Snapshot Restore in one AZ, then check it (and remember to disable it: it bills hourly)
aws ec2 enable-fast-snapshot-restores --availability-zones us-east-1a --source-snapshot-ids $SNAP
aws ec2 describe-fast-snapshot-restores --filters Name=snapshot-id,Values=$SNAP
aws ec2 disable-fast-snapshot-restores --availability-zones us-east-1a --source-snapshot-ids $SNAP
# 8. Or initialise a restored volume yourself by reading every block once
sudo fio --filename=/dev/nvme2n1 --rw=read --bs=1M --iodepth=32 \
--ioengine=libaio --direct=1 --name=volume-initialize
# 9. Archive a snapshot, and later restore it for 7 days
aws ec2 modify-snapshot-tier --snapshot-id $SNAP --storage-tier archive
aws ec2 restore-snapshot-tier --snapshot-id $SNAP --temporary-restore-days 7
# 10. Recycle Bin: keep deleted snapshots for 14 days, delete one, get it back
aws rbin create-rule --resource-type EBS_SNAPSHOT \
--retention-period RetentionPeriodValue=14,RetentionPeriodUnit=DAYS
aws ec2 delete-snapshot --snapshot-id $SNAP
aws ec2 list-snapshots-in-recycle-bin
aws ec2 restore-snapshot-from-recycle-bin --snapshot-id $SNAP
# 11. Find orphaned volumes that are billed but attached to nothing
aws ec2 describe-volumes --filters Name=status,Values=available \
--query "Volumes[].[VolumeId,Size,CreateTime]" --output table
#সারসংক্ষেপ
মূল কথাগুলো
- EBS হলো network দিয়ে লাগানো block storage: একটা virtual disk, যেটা stop, start আর reboot-এর পরেও থাকে, আর খুলে আবার লাগানো যায়। মাথায় রাখো “network-এর পেনড্রাইভ”।
- volume থাকে একটা AZ-এ, আর শুধু সেই AZ-এর instance-এই লাগে। সরাতে হলে: snapshot → নতুন AZ-এ volume বানাও; অন্য Region হলে: snapshot → কপি → volume বানাও।
- default-এ একটা volume ↔ একটা instance, কিন্তু একটা instance ↔ অনেক volume। Multi-Attach (io1/io2) লেসন ৫.২-এ।
- volume যতদিন আছে, attach থাকুক বা না থাকুক, provisioned GiB-এর টাকা দিতে হয়। Elastic Volumes দিয়ে চালু অবস্থাতেই size বাড়ানো আর type/IOPS বদলানো যায়, ২৪ ঘণ্টায় ৪ বার পর্যন্ত; volume কখনো ছোট হয় না, আর file system নিজে বাড়াতে হয়।
- Delete on termination: default-এ root
true, বাড়তি volumefalse; launch-এ বা চালু instance-এ বদলানো যায়। টিকে থাকা volume টাকা খেতেই থাকে। - Snapshot নির্দিষ্ট মুহূর্তের, জমা থাকে চোখের আড়ালের S3-তে, Region-এর যেকোনো AZ-এ কাজে লাগে, incremental, আর প্রতিটা একটা সম্পূর্ণ restore point। যেকোনো snapshot মোছা বাকিগুলোর জন্য নিরাপদ; শুধু কারও কাজে না লাগা block মোছে।
- ব্যবহার চলা volume-এর snapshot crash-consistent; application consistency চাইলে freeze/flush, stop বা detach।
- restore করা volume lazy loading করে: সমাধান FSR (প্রতি snapshot প্রতি AZ, ঘণ্টা ধরে খরচ, credit),
fio/ddদিয়ে initialise, বা provisioned initialisation rate। - Snapshot Archive: সর্বোচ্চ ৭৫% সস্তা, full snapshot, কমপক্ষে ৯০ দিন, restore-এ ৭২ ঘণ্টা পর্যন্ত। Recycle Bin: মোছা snapshot (১–৩৬৫ দিন) আর volume (১–৭ দিন) ফেরত আনো; Region-level rule lock করো (৭–৩০ দিনের unlock delay)।
- automate করো DLM (EBS, tag, schedule, retention, cross-Region কপি, archive) বা AWS Backup (অনেক service, কেন্দ্রীয় policy) দিয়ে।
আগে নিজে উত্তর দাও, তারপর ব্যাখ্যাটা পড়ো। ঠিক হলেও পড়ো, কারণ ভুল Option-গুলো কেন ভুল, সেটাও ওখানে আছে।
নিজেকে যাচাই করোপ্রশ্ন
Amazon EBS volume-এর কোন বর্ণনাটা ঠিক?
নিজেকে যাচাই করোপ্রশ্ন
EBS snapshot কোথায় জমা থাকে?
নিজেকে যাচাই করোপ্রশ্ন
delete on termination flag-এর default মান কী?
নিজেকে যাচাই করোপ্রশ্ন
EBS volume attach করা নিয়ে default অবস্থায় কোন কথাটা সত্যি?
নিজেকে যাচাই করোপ্রশ্ন
একটা application-কে তার ৩০০ GiB EBS data volume সহ us-east-1a থেকে us-east-1b-তে সরাতে হবে। টিমের কী করা উচিত?
নিজেকে যাচাই করোপ্রশ্ন
গত মাসে একজন administrator একটা EC2 instance terminate করেছে, কিন্তু বিলে এখনও তার জন্য EBS storage-এর খরচ দেখাচ্ছে। সবচেয়ে সম্ভাব্য কারণ কী?
নিজেকে যাচাই করোপ্রশ্ন
একটা security টিমের দরকার, instance terminate হলেও তার root volume যেন থেকে যায়, পরে পরীক্ষা করার জন্য। instance আগে থেকেই চলছে। তাদের কী করা উচিত?
নিজেকে যাচাই করোপ্রশ্ন
EBS volume নিয়ে কোন দুটো কথা সত্যি?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
একটা ২০০ GiB volume-এ ১২০ GiB data লেখা আছে। প্রথম snapshot নিলে, তারপর ৫ GiB block বদলালো আর দ্বিতীয় snapshot নিলে, তারপর আলাদা ৩ GiB বদলালো আর তৃতীয় snapshot নিলে। মোটামুটি কত snapshot storage লাগল?
নিজেকে যাচাই করোপ্রশ্ন
একটা volume-এর তিনটা snapshot আছে, রবিবার, সোমবার আর মঙ্গলবারের। তুমি সোমবারেরটা মুছে দিলে। কী হবে?
নিজেকে যাচাই করোপ্রশ্ন
snapshot 1 (full, ১০০ GiB), snapshot 2 (২ GiB বদল: X1 আর X2) আর snapshot 3 (১ GiB: X2 আবার বদলেছে) আছে। তুমি snapshot 1 মুছলে। কতটা storage খালি হবে?
নিজেকে যাচাই করোপ্রশ্ন
একটা টিম ব্যস্ত একটা database-এর data volume-এর snapshot নিচ্ছে, database চলা অবস্থাতেই। কোন দুটো ধাপে application-consistent snapshot পাওয়া যাবে?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
EBS snapshot নিয়ে কোন কথাটা সত্যি না?
নিজেকে যাচাই করোপ্রশ্ন
disaster recovery-র জন্য একটা কোম্পানির us-east-1-এর একটা data volume-এর কপি eu-west-1-এ লাগবে। ঠিক পদ্ধতি কোনটা?
নিজেকে যাচাই করোপ্রশ্ন
snapshot থেকে restore করা একটা database volume প্রথম এক ঘণ্টা ভীষণ ধীর, তারপর দ্রুত হয়ে যায়। পরেরবার এটা এড়াতে কোন দুটো কাজ করা যায়?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
একটা snapshot-এর জন্য us-east-1a-তে FSR চালু আছে। ওই snapshot থেকে us-east-1c-তে বানানো একটা volume শুরুতে ধীর। কেন?
নিজেকে যাচাই করোপ্রশ্ন
একটা ৫১২ GiB snapshot-এর জন্য একটা AZ-এ FSR চালু, আর তার credit bucket ভরা। তুমি ওই AZ-এ একসাথে এটা থেকে ৫টা volume বানালে। কী হবে?
নিজেকে যাচাই করোপ্রশ্ন
১০ দিনের জন্য ৩টা Availability Zone-এ ২টা snapshot-এ FSR চালু রাখা হলো, প্রতি snapshot প্রতি AZ ঘণ্টায় $0.75 হারে। FSR-এর খরচ কত?
নিজেকে যাচাই করোপ্রশ্ন
একটা কোম্পানি চায় backup=daily tag থাকা প্রতিটা volume-এর রোজ snapshot হোক, ৭ দিন রাখা হোক, আর সপ্তাহে একবার কপি অন্য Region-এ যাক, কোনো script না লিখে। কী ব্যবহার করবে?
নিজেকে যাচাই করোপ্রশ্ন
একটা বড় প্রতিষ্ঠানের দরকার অনেকগুলো account জুড়ে EBS, RDS, DynamoDB আর EFS-এর জন্য একটাই কেন্দ্রীয় backup policy, audit report আর বদলানো যায় না এমন vault সহ। কোনটা সবচেয়ে মানানসই?
নিজেকে যাচাই করোপ্রশ্ন
একটা ব্যাংককে একটা volume-এর বছরে একটা করে snapshot ৭ বছর রাখতে হবে। এগুলো প্রায় কখনোই restore হয় না, আর restore-এ দুয়েক দিন লাগলেও চলে। সবচেয়ে সাশ্রয়ী উপায় কোনটা?
নিজেকে যাচাই করোপ্রশ্ন
একটা archived snapshot থেকে volume বানানোর আগে কী করতে হবে?
নিজেকে যাচাই করোপ্রশ্ন
একটা snapshot archive tier-এ পাঠানো হলো, আর ৩০ দিন পর মুছে দেওয়া হলো। archive storage-এর বিল কত দিনের হবে?
নিজেকে যাচাই করোপ্রশ্ন
তিন দিন আগে একজন engineer ভুল করে একটা জরুরি snapshot মুছে ফেলেছে। গত মাসে snapshot-এর জন্য ৭ দিনের retention সহ একটা Region-level Recycle Bin rule বানানো হয়েছিল। কী করা যায়?
নিজেকে যাচাই করোপ্রশ্ন
একটা কোম্পানির ভয়, administrator-এর চুরি যাওয়া credential হাতে পেয়ে কেউ সব EBS snapshot মুছে দিতে পারে। কোন দুটো ব্যবস্থা snapshot-কে সবচেয়ে ভালোভাবে রক্ষা করবে?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
একটা ৫০০ GiB gp3 volume-এ মাত্র ৮০ GiB data আছে। টিম কীভাবে খরচ কমিয়ে ১০০ GiB-এর volume-এ নামতে পারে?
নিজেকে যাচাই করোপ্রশ্ন
একজন administrator Elastic Volumes দিয়ে একটা volume ১০০ GiB থেকে ২০০ GiB করল। modification optimizing দেখাচ্ছে, কিন্তু instance-এ df এখনও ১০০ GiB দেখাচ্ছে। কী বাকি?
নিজেকে যাচাই করোপ্রশ্ন
১০০ GiB root volume আর ৫০০ GiB data volume (দুটোই gp3) থাকা একটা instance পুরো এক মাস stop করে রাখা হলো। কীসের বিল হবে?
নিজেকে যাচাই করোপ্রশ্ন
পড়ার নোটে লেখা: ‘১০০ GB volume-এর প্রথম snapshot ১০০ GB সেভ করে’। একটা ১০০ GiB volume-এ ৩০ GiB data লেখা আছে। এর প্রথম snapshot কতটা জমা রাখবে?
নিজেকে যাচাই করোপ্রশ্ন
যেসব restore point রাখতেই হবে, সেগুলো না হারিয়ে কোন দুটো কাজে snapshot storage-এর খরচ কমে?
বেছে নাও ২