5.3
Instance Store: দ্রুত কিন্তু অস্থায়ী
সার্ভারের গায়েই লাগানো disk, যার IOPS লাখ লাখ, আর ঠিক কখন এর ডেটা মুছে যায়।
16 মিনিট পড়া + Animation
টিপস: ডটেড-আন্ডারলাইন করা যেকোনো শব্দে ট্যাপ বা Hover করলে তার অর্থ দেখবে।
এই লেসন শেষে তুমি যা পারবে
- instance store জিনিসটা কী, আর EBS-এর চেয়ে এটা কেন এত দ্রুত, সেটা বোঝাতে পারবে: host-এর ভেতরেই local NVMe disk, মাঝে কোনো network নেই, storage optimised type-এ IOPS লাখ লাখ।
- কোন instance type-এ এটা থাকে চিনতে পারবে (m6id বা c6gd-এর
d, I আর D family), আর কেন এর size বাঁধা, কেন এটা কখনো detach, সরানো বা বড় করা যায় না, সেটা বলতে পারবে। - instance store-এর data ঠিক কখন টেকে (যেকোনো reboot) আর কখন হারায় (stop, hibernate, terminate, type বদলানো, host বদলানো, disk নষ্ট), একদম নিখুঁত করে বলতে পারবে।
- এখানে রাখা জিনিস বাঁচানোর উপায় জানবে: S3 বা EBS-এ কপি করে রাখা, ঝুঁকি বুঝে RAID 0 দিয়ে disk জোড়া দেওয়া, আর built-in hardware encryption-এর ওপর ভরসা রাখা।
- cache, buffer, scratch data আর replicated datastore-এর জন্য instance store বেছে নিতে পারবে, আর জরুরি data-র একমাত্র কপি রাখার জায়গা হিসেবে এটাকে বাতিল করতে পারবে।
- পরীক্ষার চেনা প্রশ্নগুলোর উত্তর দিতে পারবে: অস্থায়ী data-র জন্য সবচেয়ে বেশি IOPS, reboot-এর পর data-র কী হয়, stop-এর পরেও টিকে থাকতে হবে এমন দ্রুত database, আর এক instance থেকে আরেক instance-এ storage সরানো।
#host-এর ভেতরে disk রাখার দরকারটা কী
এই course-এ এতক্ষণ যত disk দেখেছ, সবই ছিল EBS volume। EBS volume কিন্তু তোমার instance যে server-এ চলছে, তার ভেতরে থাকে না। সেটা থাকে একই Availability Zone-এর আলাদা storage server-এ, আর প্রতিটা read আর write AWS network পার হয়ে সেখানে পৌঁছায়। EBS এত নমনীয় হওয়ার কারণও এটাই: volume খুলে অন্য instance-এ লাগানো যায়, snapshot নেওয়া যায়, size বাড়ানো যায়, আর instance stop করলেও data থেকে যায়।
তবে network পার হওয়ার একটা দাম আছে। প্রতিটা I/O-কে যাওয়া-আসা করতে হয়, আর প্রতিটা instance কতটা EBS traffic চালাতে পারবে তারও একটা সীমা আছে। বেশিরভাগ কাজে এতে কিছু যায় আসে না। কিন্তু কিছু কাজে খুব যায় আসে: এমন cache যাকে microsecond-এ উত্তর দিতে হয়, এমন big data job যে terabyte-এর পর terabyte অস্থায়ী file নাড়াচাড়া করে, বা এমন NoSQL database যে প্রতি সেকেন্ডে লাখ লাখ ছোট ছোট random read করে।
এদের জন্য EC2 দেয় instance store: এমন disk, যেগুলো তোমার instance যে host computer-এ চলছে, সেটার গায়েই physically লাগানো।
#instance store আসলে কী
instance store একটা instance-কে অস্থায়ী block-level storage দেয়। এতে থাকে এক বা একাধিক instance store volume, যার প্রতিটা host machine-এর একটা আসল disk (বা তার একটা অংশ), আর তোমার operating system এটাকে একটা block device হিসেবে দেখে।
- কোন ধরনের disk: এখনকার instance type-এ এগুলো NVMe SSD। D family আর পুরনো H1 সস্তায় অনেক জায়গা দিতে HDD ব্যবহার করে। খুব পুরনো কয়েকটা type-এ (C3, I2, M3, R3, X1) NVMe ছাড়া সাধারণ SSD।
- কয়টা আর কত বড়: এটা ঠিক করে instance type আর size। একটা
m6id.largeপায় একটা 118 GB NVMe SSD; একটাi8g.48xlargeপায় বারোটা 3,750 GB NVMe SSD (45 TB)। নিজের পছন্দমতো size নেওয়ার উপায় নেই। - দাম: বাড়তি কোনো খরচ নেই। disk-এর দাম instance-এর দামের ভেতরেই ধরা।
- কখন আসে: শুধু launch-এর সময়। NVMe instance store-ওয়ালা type-এ launch-এর সময় সব volume নিজে থেকেই লেগে যায়। পুরনো non-NVMe type-এ block device mapping-এ নিজে লিখে দিতে হতো (
ephemeral0থেকেephemeral23)। যেভাবেই হোক, চলতে থাকা instance-এ নতুন করে instance store volume যোগ করা যায় না। - আসার সময় অবস্থা: একদম কাঁচা আর খালি। root volume ছাড়া কিছুই তোমার হয়ে format বা mount করা থাকে না।
#কেন এত দ্রুত
| EBS volume | Instance store | |
|---|---|---|
| disk কোথায় | AZ-এর অন্য কোথাও, storage server-এ | যে host-এ instance চলছে, তার ভেতরেই |
| প্রতিটা I/O-এর পথ | Instance → AWS network → storage server, তারপর ফেরত | Instance → local NVMe disk, তারপর ফেরত |
| কার সাথে ভাগাভাগি | instance-এর EBS bandwidth-এর সীমা (সব volume মিলিয়ে) | কারো সাথে না; instance চলা পর্যন্ত disk-গুলো তোমার |
| এখনকার সবচেয়ে বড় type-এ সর্বোচ্চ | instance প্রতি 240,000 IOPS (i8g.48xlarge, সব EBS volume মিলিয়ে) | প্রায় ৭২ লাখ random read IOPS আর ৩৯.৬ লাখ write IOPS (i8g.48xlarge, ১২টা NVMe disk) |
EC2-এর instance type specification থেকে এখনকার কয়েকটা storage optimised উদাহরণ:
| Instance | Instance store | Random read / write IOPS |
|---|---|---|
i4i.32xlarge | 8 × 3,750 GB NVMe SSD (30 TB) | ৩২ লাখ / ১৭.৬ লাখ |
i7i.48xlarge, i8g.48xlarge | 12 × 3,750 GB NVMe SSD (45 TB) | ৭২ লাখ / ৩৯.৬ লাখ |
i7ie.48xlarge, i8ge.48xlarge | 16 × 7,500 GB NVMe SSD (120 TB) | ৫২ লাখ / ৪১.৬ লাখ |
d3en.12xlarge | 24 × 13,980 GB NVMe HDD (প্রায় 336 TB) | HDD: বানানো হয়েছে throughput আর জায়গার জন্য, IOPS-এর জন্য না |
এই সংখ্যাগুলো মুখস্থ করার দরকার নেই। মোদ্দা কথাটা মনে রাখো: instance store একটা instance-এই লাখ লাখ IOPS দেয়, যেটা EBS পারে না, কারণ মাঝখানে কোনো network নেই আর অনেকগুলো local disk একসাথে কাজ করে।
EBS যায় network দিয়ে, instance store থাকে host-এর ভেতরেই
একটা read-কে অনুসরণ করো। একটা tab বেছে play চাপো: আসল পার্থক্যটা হলো data-কে কতটা পথ পাড়ি দিতে হয়।
পরিস্থিতি
instance A তার EBS volume-এর কাছে একটা block চাইল। volume-টা কিন্তু এই server-এ নেই; সেটা থাকে AZ-এর অন্য কোথাও, আলাদা storage server-এ।
#কোন instance type-এ এটা থাকে
সব instance type-এ instance store থাকে না। যেগুলোতে থাকে, সেগুলো চেনার উপায় আছে:
- family-র নামে একটা
d(লেসন 4.1):m5d,m6id,m7gd,c6gd,r6id… এইdমানে “local NVMe instance store সহ”।dছাড়া একই type (m6i,c6g) শুধু EBS-নির্ভর। - storage optimised I family:
i3,i3en,i4i,i4g,i7i,i7ie,i8g,i8ge। বড় NVMe SSD আর সবচেয়ে বেশি random IOPS: NoSQL database, local-এ data রাখা in-memory database, search engine, data warehouse। - storage optimised D family (আর পুরনো H1): অনেকগুলো বড় HDD, যাতে প্রতি terabyte local storage-এর খরচ সবচেয়ে কম পড়ে: Hadoop/HDFS-এর data node, distributed file system, log processing।
- কিছু GPU আর accelerated type-এও থাকে (যেমন
g4dn,g5,p4d), যেখানে training data আর checkpoint রাখতে local disk কাজে লাগে।
বাকি বেশিরভাগ type-এ, যেমন t3, m7i বা c7g-তে, কোনো instance store-ই নেই।
#data কখন টেকে আর কখন হারায়
পরীক্ষা এই অংশটা খুব পছন্দ করে। একটা নিয়মেই সব সারি বোঝা যায়: instance যতক্ষণ একই host-এ আছে আর disk ঠিকঠাক চলছে, instance store-এর data ততক্ষণই বাঁচে। reboot-এ instance তার host-এই থাকে। যেকোনো ঘটনা যেটা host ছেড়ে দেয়, সেটাই disk মুছে দেয়।
| ঘটনা | Instance store-এর data |
|---|---|
Reboot (console থেকে, reboot-instances, বা OS-এর ভেতরে sudo reboot) | থাকে |
| AWS-এর scheduled instance reboot বা system reboot | থাকে |
| Power চলে যাওয়া, তারপর reboot | থাকে |
| Stop (পরে আবার start) | হারায় |
| Hibernate | হারায় |
| Terminate | হারায় |
| Instance type বদলানো (এর জন্য stop লাগে) | হারায়; নতুন type-এ instance store থাকলে সেটা নিজের খালি disk নিয়ে আসে |
| AWS-এর scheduled instance stop বা instance retirement | হারায় |
| host নষ্ট হওয়ার পর automatic recovery (simplified automatic recovery বা CloudWatch-এর recover action) | হারায়; instance নতুন hardware-এ খালি disk নিয়ে ফেরে |
OS-এর ভেতর থেকে shutdown (sudo shutdown -h now) | হারায়; EC2 এটাকে stop বা terminate ধরে (shutdown behaviour setting যা বলে), কখনো reboot ধরে না |
| নিচের disk নষ্ট হওয়া | ওই disk-এর data হারায় |
| Spot Instance-এ interruption (stop, hibernate বা terminate) | হারায় |
stop করলে আসলে কী হয়: EC2 disk-এর encryption key নষ্ট করে দিয়ে instance store-এর প্রতিটা block cryptographically মুছে ফেলে, তারপর host-টা আবার pool-এ ফেরত দেয়। পরে instance start করলে সেটা সাধারণত অন্য একটা host-এ গিয়ে ওঠে, একদম নতুন, খালি, format-ছাড়া disk নিয়ে।
instance store-এর data-র কী হয়
একটা instance, তার instance store-এ কিছু file আছে। একটা ঘটনা বেছে নাও আর দেখো file-গুলো টেকে কিনা।
পরিস্থিতি
instance-টা Host A-তে চলছে, আর তার instance store-এ 800 GB cache file রাখা আছে।
নিজেকে যাচাই করোপ্রশ্ন
একজন user একটা EC2 instance reboot করল, যার instance store-এ কিছু অস্থায়ী file আছে। সেদিনই পরে আরেকজন user instance-টা stop করে আবার start করল। file-গুলোর কী হলো?
#root volume যখন instance store-এ
root volume হলো সেই disk, যেখান থেকে operating system boot হয়। এখন প্রায় সব instance boot হয় EBS-backed AMI থেকে, তাই তাদের root একটা EBS volume। অনেক আগে AMI instance store-backed-ও হতে পারত (AWS এখন এদের বলে Amazon S3-backed AMI): root volume হতো একটা instance store volume, যেটা launch-এর সময় S3-তে রাখা একটা image template থেকে ভরা হতো।
| EBS-backed AMI | Instance store-backed (S3-backed) AMI | |
|---|---|---|
| Root volume | EBS volume | Instance store volume (শুধু Linux, সর্বোচ্চ 10 GB) |
| instance কি stop করা যায়? | যায়, root EBS-এ থেকে যায় | যায় না: হয় running, নয় terminated |
| পরে instance type বদলানো | যায়, stopped অবস্থায় | যায় না, সারাজীবন একই attribute |
| Boot হতে সময় | সাধারণত ১ মিনিটের কম | সাধারণত ৫ মিনিটের কম |
| আজকের অবস্থা | এটাই স্বাভাবিক পছন্দ | End of life; শুধু পুরনো type-এ (C1, C3, D2, I2, M1, M2, M3, R3, X1) |
পরীক্ষার জন্য একটা লাইন মনে রাখো: যে instance-এর root instance store-এ, সেটা stop করা যায় না, শুধু reboot বা terminate করা যায়। (hibernate-ও করা যায় না, লেসন 4.5-এ দেখেছ: hibernation-এর জন্য encrypted EBS root লাগে।) Windows কখনোই instance store root সমর্থন করেনি।
#এখানে রাখা জিনিস কীভাবে বাঁচাবে
#snapshot নেই: backup তোমার কাজ
EBS-এর আছে snapshot, Data Lifecycle Manager আর AWS Backup (লেসন 5.1)। instance store-এর এর একটাও নেই। এর জন্য কোনো snapshot API নেই, আর instance থেকে EBS-backed AMI বানালেও instance store-এর data তাতে ঢোকে না।
এখানে যদি দরকারি কিছু থাকে, টেকসই কোথাও কপি করার কাজটা তোমার:
- S3-তে (
aws s3 cp,aws s3 sync): ফলাফল, checkpoint আর backup-এর জন্য। - একই instance-এ লাগানো একটা EBS volume-এ, যদি block storage হিসেবেই রাখতে হয়।
- অন্য একটা node-এ, যখন application নিজেই replicate করে (নিচের database pattern)।
#instance store volume জুড়ে RAID 0
যে instance-এ কয়েকটা instance store disk আছে, সেখানে সেগুলো আলাদা আলাদা device হিসেবে দেখা যায় (nvme1n1, nvme2n1…)। সবগুলোকে একটা বড় আর দ্রুত volume হিসেবে পেতে চাইলে RAID 0 দিয়ে stripe করো (Linux-এ mdadm)। জায়গা আর throughput মোটামুটি যোগ হয়ে যায়।
RAID 0-তে কোনো redundancy নেই: একটা disk নষ্ট হলে শুধু ওই disk-এর ভাগ না, পুরো array-টাই শেষ। instance store-এ এটা সাধারণত মেনে নেওয়া যায়, কারণ data তো এমনিতেই অস্থায়ী। redundancy চাইলে RAID 1 বা RAID 10 নিতে পারো, তাতে ব্যবহারযোগ্য জায়গা অর্ধেক হয়ে যায়, আর তবুও stop-এ টেকে না।
#encryption আগে থেকেই চালু
NVMe instance store-এর data একটা hardware module-এ XTS-AES-256 block cipher দিয়ে at rest encrypted থাকে। key তৈরি করে ওই hardware নিজেই, প্রতিটা disk-এর key আলাদা, আর instance stop বা terminate হলেই key নষ্ট করে দেওয়া হয়। এই encryption বন্ধ করা যায় না, নিজের key-ও দেওয়া যায় না; এতে কোনো KMS key লাগে না, কোনো setting-ও লাগে না। (KMS key দিয়ে EBS encryption আছে লেসন 5.2-এ।)
#performance-এর দুটো টিপস
- SSD instance store-এ controller-এর ঘর গোছানোর কাজের জন্য আলাদা কোনো জায়গা রাখা থাকে না। তাই যেখানে প্রচুর write হয়, AWS প্রায় ১০% জায়গা partition না করে ফাঁকা রাখতে বলে, যাতে disk ভরতে থাকলেও write-এর গতি না কমে।
- যেসব type-এ সমর্থন আছে, সেখানে মাঝে মাঝে
fstrimচালাও, যাতে SSD জানতে পারে কোন block-গুলো এখন ফাঁকা।
নিরাপদে instance store ব্যবহার
instance store আসে কাঁচা disk হিসেবে। format তুমি করবে, কীভাবে জোড়া দেবে তুমি ঠিক করবে, আর কোনটা নিরাপদ জায়গায় কপি রাখবে সেটাও তোমার সিদ্ধান্ত।
পরিস্থিতি
NVMe instance store-ওয়ালা Nitro instance-এ launch-এর সময়ই disk-গুলো নিজে থেকে লেগে যায়। lsblk চালালে EBS root-এর পাশে nvme1n1, nvme2n1… নামে দেখা যায়।
#system design-এ এটা কীভাবে কাজে লাগে
#যেখানে মানায়
- Cache: object, ছবি, query-র ফল বা compile করা asset-এর local cache। মুছে গেলে application উৎস থেকে আবার ভরে নেয়।
- Buffer আর কাজের মাঝপথের data: যে data একটু পরেই process হবে বা অন্য কোথাও পাঠানো হবে।
- Scratch আর অস্থায়ী data: video rendering-এর frame, big data job-এর মাঝখানের file (Spark-এর shuffle file, Hadoop job-এর অস্থায়ী output), sort-এর সময় উপচে পড়া file, build directory। input আর শেষ ফল থাকে S3-তে; instance store-এ থাকে শুধু মাঝের ধাপগুলো।
- Replicated datastore: Cassandra, MongoDB replica set, Kafka, Elasticsearch, HDFS। এখানে application নিজেই প্রতিটা data-র কয়েকটা কপি আলাদা আলাদা instance-এ রাখে (সম্ভব হলে আলাদা rack বা আলাদা AZ-এ, লেসন 4.5)। একটা node-এর instance store হারালে cluster বাকি কপি থেকে কাজ চালিয়ে যায়, আর নতুন node-এ হারানো কপিটা আবার বানিয়ে নেয়। গতি পাও instance store-এর, টিকে থাকার নিশ্চয়তা আসে cluster থেকে।
- একই রকম server-এর বহর: যেমন load balancer-এর পেছনে কিছু web server, যাদের প্রত্যেকে boot-এর সময় S3 থেকে একই static content নামিয়ে নিজের কাছে রাখে।
#যেটা কখনো করবে না
জরুরি কোনো কিছুর একমাত্র কপি instance store-এ রাখা: একা একটা database server, user-দের upload করা file, আর্থিক লেনদেনের একমাত্র log। আজ হোক কাল হোক, একটা stop, type বদলানো, host নষ্ট হওয়া বা Spot interruption সেটা মুছে দেবে, আর ফেরত আনার মতো কোনো snapshot থাকবে না।
কপি রাখা cluster বনাম একা একটা database
দুটো ডিজাইনই গতির জন্য instance store ব্যবহার করে। কিন্তু একটা node হারালে টিকে থাকে শুধু একটা।
পরিস্থিতি
৩টা node-এর একটা Cassandra cluster, প্রতি AZ-এ একটা করে, আর প্রতিটা node নিজের data রাখে local NVMe instance store-এ। replication factor 3: প্রতিটা row তিনটা node-এই থাকে।
#দ্রুত database-এর জন্য instance store, নাকি EBS?
| Instance store | EBS (সর্বোচ্চ performance-এর জন্য io2 Block Express) | |
|---|---|---|
| stop আর start-এর পর টেকে | না | হ্যাঁ |
| host বা disk নষ্ট হলে টেকে | না (application নিজে replicate না করলে) | হ্যাঁ; EBS AZ-এর ভেতরেই replicate করে |
| Snapshot আর backup | নেই; তোমার দায়িত্ব | Snapshot, Data Lifecycle Manager, AWS Backup |
| খুলে অন্য instance-এ লাগানো | কখনো না | যায়, একই AZ-এর ভেতরে |
| Size | instance type-এ বাঁধা | নিজে বেছে নাও, পরে বদলাও (64 TiB পর্যন্ত) |
| Performance | সবচেয়ে বেশি: instance প্রতি লাখ লাখ IOPS, সবচেয়ে কম latency | অনেক বেশি: io2 Block Express volume প্রতি 256,000 IOPS পর্যন্ত, এক millisecond-এর কম latency, তবে instance প্রতি সীমা আছে |
| খরচ | instance-এর দামের ভেতরেই | GB প্রতি বিল (আর provisioned IOPS প্রতি) |
তাই সিদ্ধান্তটা সোজা:
- একটা মাত্র high-performance database, যার data stop আর start-এর পরেও থাকতেই হবে → EBS Provisioned IOPS (io2 Block Express; পুরনো ডিজাইনে io1), প্রশ্ন performance-এর ওপর যতই জোর দিক।
- এমন distributed database যে node-গুলোর মধ্যে নিজেই replicate করে, আর যার একদম সর্বোচ্চ IOPS দরকার → instance store বৈধ, আর বেশ চালু একটা পছন্দ।
- অস্থায়ী data, যার চরম গতি দরকার (cache, scratch) → instance store। log বা data warehouse-এর মতো সস্তা, বড়, পরপর পড়া data-র জন্য EBS-এর উত্তর st1 (লেসন 5.2)।
EBS, EFS আর instance store, এই তিনটার মধ্যে পুরো সিদ্ধান্তের ছক আছে লেসন 5.4-এ।
#নিজে করে দেখো
# 1. কোন instance type-এ instance store আছে, কত বড়, SSD না HDD?
aws ec2 describe-instance-types \
--filters Name=instance-storage-supported,Values=true \
--query "InstanceTypes[].[InstanceType,InstanceStorageInfo.TotalSizeInGB,InstanceStorageInfo.Disks[0].Count,InstanceStorageInfo.Disks[0].Type]" \
--output table
# শুধু NVMe SSD-ওয়ালাগুলো, একটা family-র জন্য
aws ec2 describe-instance-types \
--filters Name=instance-storage-supported,Values=true Name=instance-storage-info.disk.type,Values=ssd \
Name=instance-type,Values="i8g.*" \
--query "InstanceTypes[].[InstanceType,InstanceStorageInfo.TotalSizeInGB,InstanceStorageInfo.EncryptionSupport]" \
--output table
# 2. ছোট instance store সহ একটা launch করো (m6id.large: 1 x 118 GB NVMe SSD)
aws ec2 run-instances --image-id $AL2023_AMI --instance-type m6id.large --subnet-id $SUBNET_A
# 3. instance-এ ঢুকে disk খোঁজো। instance store-এর model দেখাবে
# "Amazon EC2 NVMe Instance Storage"; root দেখাবে "Amazon Elastic Block Store"।
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,MODEL
# 4. Format আর mount (disk একদম কাঁচা অবস্থায় আসে)
sudo mkfs.xfs -K /dev/nvme1n1 # -K: নতুন disk-এ ধীর discard বাদ দেয়
sudo mkdir -p /scratch
sudo mount /dev/nvme1n1 /scratch
df -h /scratch
# /etc/fstab-এ "nofail" দাও, অথবা boot script থেকে mount করো: stop আর start-এর পর disk আবার ফাঁকা।
# 5. lifecycle নিজের চোখে দেখো
echo "hello" | sudo tee /scratch/test.txt
sudo reboot # আবার ঢুকে mount করো: test.txt এখনো আছে
# aws ec2 stop-instances / start-instances → /dev/nvme1n1 আবার খালি, format-ছাড়া
# 6. কয়েকটা instance store disk জুড়ে RAID 0 (i4i.8xlarge-এ: 2 x 3,750 GB)
sudo mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/nvme1n1 /dev/nvme2n1
sudo mkfs.xfs -K /dev/md0
sudo mkdir -p /data && sudo mount /dev/md0 /data
cat /proc/mdstat # একটা disk নষ্ট = পুরো array শেষ
# 7. দরকারি জিনিসের backup নাও: instance store-এর snapshot হয় না
aws s3 sync /data/results s3://my-results-bucket/run-42/
sudo fstrim -v /data # SSD-কে জানাও কোন block ফাঁকা
#সারসংক্ষেপ
মূল কথা
- instance store হলো block storage, যার disk তোমার instance যে host-এ চলছে তার গায়েই physically লাগানো: এখনকার type-এ NVMe SSD, D family আর H1-এ HDD। দাম instance-এর দামের ভেতরেই।
- এটা EC2-এর সবচেয়ে দ্রুত storage: মাঝে network নেই, অনেকগুলো local disk একসাথে কাজ করে, storage optimised type-এ লাখ লাখ IOPS (একটা i8g.48xlarge-এ প্রায় ৭২ লাখ random read IOPS, যেখানে একই instance EBS থেকে পায় 240,000 IOPS)।
- এটা আসে শুধু নির্দিষ্ট type-এর সাথে: নামে
d(m6id, c6gd, r6id), আর I ও D family। disk কয়টা আর কত বড়, সেটা type-এ বাঁধা; পাওয়া যায় শুধু launch-এ, আর কখনো detach, সরানো বা বড় করা যায় না। - data যেকোনো reboot-এ টেকে (তোমার করা, AWS-এর scheduled, power চলে যাওয়ার পরের)। হারায় stop, hibernate, terminate, instance type বদলানো, retirement, নতুন host-এ automatic recovery, OS shutdown আর disk নষ্ট হলে।
- যে instance-এর root instance store-এ (S3-backed AMI, end of life), সেটা stop করা যায় না।
- snapshot নেই: দামি কিছু থাকলে নিজে S3 বা EBS-এ কপি করো। RAID 0 গতির জন্য disk জোড়া দেয়, কিন্তু একটা disk গেলে সব যায়। data hardware দিয়ে at rest encrypted (XTS-AES-256), সবসময় চালু, stop-এ key নষ্ট।
- এটা কাজে লাগাও cache, buffer, scratch আর অস্থায়ী data, আর replicated datastore-এর জন্য (Cassandra, MongoDB, Kafka, HDFS)। জরুরি data-র একমাত্র কপি কখনো এখানে না।
- stop-এর পরেও টিকে থাকতে হবে এমন high-performance database → EBS io2। এক instance থেকে আরেক instance-এ storage সরানো → EBS।
আগে নিজে উত্তর দাও, তারপর ব্যাখ্যাটা পড়ো। ঠিক হলেও পড়ো, কারণ ভুল Option-গুলো কেন ভুল, সেটাও ওখানে আছে।
নিজেকে যাচাই করোপ্রশ্ন
EC2 instance store-এর disk-গুলো কোথায় থাকে?
নিজেকে যাচাই করোপ্রশ্ন
instance store-ওয়ালা একটা instance reboot-instances command দিয়ে reboot করা হলো। instance store-এর data-র কী হবে?
নিজেকে যাচাই করোপ্রশ্ন
নিচের কোন ঘটনায় instance store volume-এর data থেকে যায়?
নিজেকে যাচাই করোপ্রশ্ন
একটা টিম এমন general purpose instance চায়, যাতে local NVMe instance store আছে। কোন instance type বেছে নেবে?
নিজেকে যাচাই করোপ্রশ্ন
কোন দুটো ঘটনায় instance store volume-এর data হারিয়ে যায়?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
একটা gaming কোম্পানির অস্থায়ী session cache দরকার, যেখানে IOPS সবচেয়ে বেশি আর latency সবচেয়ে কম হতে হবে। cache হারালে database থেকে আবার বানানো যায়। cache কোন storage-এ রাখবে?
নিজেকে যাচাই করোপ্রশ্ন
EC2-তে একটা মাত্র high-performance relational database চলে। maintenance-এর জন্য instance stop আর start করলেও এর data থাকতেই হবে। database file কোন storage-এ রাখবে?
নিজেকে যাচাই করোপ্রশ্ন
একটা কোম্পানি storage আর compute আলাদা করতে চায়, যাতে নষ্ট হতে থাকা instance থেকে data volume খুলে নতুন instance-এ লাগানো যায়। কী ব্যবহার করবে?
নিজেকে যাচাই করোপ্রশ্ন
একটা i4i.large-এ চলা application-এর instance store-এ জায়গা ফুরিয়ে আসছে। টিম কী করতে পারে?
নিজেকে যাচাই করোপ্রশ্ন
একজন engineer instance store-এর file বাঁচাতে তার একটা EBS snapshot নিতে চাইল। কী হবে?
নিজেকে যাচাই করোপ্রশ্ন
NVMe instance store volume-এর data at rest কীভাবে সুরক্ষিত থাকে?
নিজেকে যাচাই করোপ্রশ্ন
instance store নিয়ে কোন দুটো কথা সত্যি?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
তিনটা i4i node-এর একটা Cassandra cluster, প্রতি AZ-এ একটা করে, replication factor 3 দিয়ে instance store-এ data রাখে। একটা node-এর নিচের host নষ্ট হয়ে গেল। কী হবে?
নিজেকে যাচাই করোপ্রশ্ন
একটা startup তাদের একমাত্র PostgreSQL server একটা i4i instance-এ চালায়, আর benchmark দারুণ দেখে database file রেখেছে instance store-এ। সবচেয়ে বড় ঝুঁকি কোনটা?
নিজেকে যাচাই করোপ্রশ্ন
একটা instance m6id.large-এ চলে আর তার instance store-এ কিছু file রাখে। টিম instance type বদলে m6id.xlarge করল। file-গুলোর কী হবে?
নিজেকে যাচাই করোপ্রশ্ন
একটা instance-এর host নষ্ট হলো, আর EC2 automatic recovery instance-টাকে নতুন hardware-এ ফিরিয়ে আনল। কোন কথাটা সত্যি?
নিজেকে যাচাই করোপ্রশ্ন
একটা i4i.8xlarge-এর দুটো NVMe instance store disk একটা RAID 0 array-তে জোড়া দেওয়া। একটা disk নষ্ট হলো। ফল কী?
নিজেকে যাচাই করোপ্রশ্ন
কোন দুটো কাজে instance store ভালোভাবে খাটে?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
একটা পুরনো Linux instance Amazon S3-backed (instance store-backed) AMI থেকে launch করা, তাই তার root volume instance store-এ। admin টাকা বাঁচাতে weekend-এ এটা stop করে রাখতে চায়। কী সম্ভব?
নিজেকে যাচাই করোপ্রশ্ন
Spot Instance-এ চলা একটা batch job ছয় ঘণ্টার মাঝপথের ফল শুধু instance store-এ রাখে। Spot Instance-এ interruption হলো। টিমের কী বদলানো উচিত?
নিজেকে যাচাই করোপ্রশ্ন
AWS কোন দুটো ঘটনাকে instance store-এর data টেকে না বলে তালিকায় রেখেছে?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
EC2 instance-এর একটা বহরে চলা big data job বিশাল মাঝপথের file লেখে, যেগুলোর চরম গতি দরকার আর job শেষ হলেই যেগুলোর আর কোনো কাজ নেই। এই file-গুলোর জন্য কোন storage সবচেয়ে মানানসই?
নিজেকে যাচাই করোপ্রশ্ন
instance store নিয়ে কোন কথাটা সত্যি NOT?
নিজেকে যাচাই করোপ্রশ্ন
পড়ার নোটে লেখা: ‘OS reboot করলে instance store-এর data থাকে, কিন্তু maintenance-এর জন্য AWS instance reboot করলে data হারায়।’ সঠিক কথাটা কী?
নিজেকে যাচাই করোপ্রশ্ন
একটা i8g.48xlarge তার instance store থেকে প্রায় ৭২ লাখ random read IOPS পায়, অথচ একই instance সব EBS volume মিলিয়ে সর্বোচ্চ 240,000 IOPS চালাতে পারে। instance store মোটামুটি কত গুণ বেশি read IOPS দেয়?
নিজেকে যাচাই করোপ্রশ্ন
instance store কেন EBS-এর চেয়ে দ্রুত, তার দুটো কারণ কোনগুলো?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
একজন admin একটা instance-এর ভেতরে sudo shutdown -h now চালাল, যার instance store-এ data আছে। instance-এর shutdown behaviour দেওয়া আছে stop। instance store-এর data-র কী হবে?
নিজেকে যাচাই করোপ্রশ্ন
একটা টিম এমন একটা instance থেকে EBS-backed AMI বানাল, যার instance store-এ একটা তৈরি করা data set আছে, তারপর ওই AMI থেকে নতুন instance চালু করল। নতুন instance-গুলো তাদের instance store-এ কী পাবে?
নিজেকে যাচাই করোপ্রশ্ন
একটা Hadoop cluster-এর প্রতিটা node-এ শত শত terabyte local storage দরকার, প্রতি terabyte-এ সবচেয়ে কম খরচে, আর বেশিরভাগই বড় পরপর read। কোন instance family ঠিক এর জন্য বানানো?
নিজেকে যাচাই করোপ্রশ্ন
load balancer-এর পেছনে বিশটা web server, প্রত্যেকে boot-এর সময় S3 থেকে একই static asset নামিয়ে instance store থেকে serve করে। একটা server-এর নিচের host নষ্ট হলো। প্রভাব কী?