5.4
EFS, আর EBS, EFS ও Instance Store-এর মধ্যে কোনটা নেবে
এমন file system যেটা অনেক Instance মিলে, বিভিন্ন AZ থেকে শেয়ার করে: mode, storage class, lifecycle, আর কোনটা নেবে তা ঠিক করার একটা টেবিল।
26 মিনিট পড়া + Animation
টিপস: ডটেড-আন্ডারলাইন করা যেকোনো শব্দে ট্যাপ বা Hover করলে তার অর্থ দেখবে।
এই লেসন শেষে তুমি যা পারবে
- block, file আর object storage-এর পার্থক্য বুঝিয়ে বলতে পারবে, আর কোনটা AWS-এর কোন service দেয় তা বলতে পারবে।
- Amazon EFS আসলে কী, তা বোঝাতে পারবে: একটা managed NFS file system, যেটা কয়েকটা Availability Zone-এর অনেক Linux instance একসাথে mount করে।
- mount target আর security group দিয়ে instance-কে EFS-এর সাথে জুড়তে পারবে, আর mount আটকে গেলে কারণ খুঁজে ঠিক করতে পারবে।
- AWS-এর এখনকার default মাথায় রেখে Regional না One Zone, General Purpose না Max I/O, আর Elastic, Provisioned না Bursting throughput, ঠিকটা বেছে নিতে পারবে।
- Standard, Infrequent Access আর Archive storage class-কে lifecycle management দিয়ে কাজে লাগাতে পারবে, আর আসলে কত টাকা বাঁচে তা হিসাব করে দেখাতে পারবে।
- encryption, access point আর IAM দিয়ে EFS সুরক্ষিত করতে পারবে, AWS Backup আর replication দিয়ে data বাঁচাতে পারবে, আর কখন EFS না, FSx-ই উত্তর তা চিনতে পারবে।
- পরীক্ষার যেকোনো scenario পড়ে EBS, EFS না instance store (না FSx), ঠিকটা বেছে নিতে পারবে।
#data রাখার তিনটা ধরন
লেসন ৫.১ থেকে ৫.৩-এ তুমি EC2 instance-এর দুই ধরনের disk দেখেছ: EBS volume আর instance store। দুটোই block storage। EFS-এ ঢোকার আগে storage কত রকমভাবে দেওয়া যায়, তার একটা পরিষ্কার ছবি মাথায় রাখা দরকার।
| Block storage | File storage | Object storage | |
|---|---|---|---|
| কী পাও | numbered block দিয়ে তৈরি একটা কাঁচা disk। operating system নিজের file system দিয়ে এটা format করে নেয় (Linux-এ ext4, Windows-এ Windows-এর file system)। | একদম তৈরি একটা file system: folder, ফাইলের নাম, permission, lock সব আছে, network দিয়ে পৌঁছাতে হয়। | একটা সমতল bucket, ভেতরে object; প্রতিটার একটা key, data আর metadata থাকে, HTTP API দিয়ে কাজ চলে। |
| কে ব্যবহার করে | সাধারণত একবারে একটা instance | একসাথে অনেকগুলো instance | যত client চাও, যেখান থেকে তুমি অনুমতি দাও |
| data কীভাবে বদলায় | যেকোনো block জায়গামতো আবার লেখা যায় | ফাইল খোলা, edit, শেষে যোগ, lock, নাম বদল | পুরো object বদলে নতুনটা রাখতে হয় |
| AWS-এ উদাহরণ | EBS, instance store | EFS, FSx | S3 (S3-র chapter-এ) |
| সাধারণ ব্যবহার | boot volume, database | shared folder, website-এর content, home directory | backup, media, data lake, static website |
#Amazon EFS আসলে কী
Amazon Elastic File System (EFS) একটা managed network file system। তুমি একটা file system বানাও, আর EC2 instance-গুলো Linux-এর সাধারণ NFS client দিয়ে সেটা mount করে, ঠিক অফিসের network-এ একটা shared drive যেভাবে লাগানো হয়। server, disk, replication, scaling, সব সামলায় AWS।
- Protocol: NFS version 4.0 আর NFSv4.1, TCP port 2049-এ।
- শেয়ার করা: শত শত, এমনকি হাজার হাজার instance একই file system একসাথে mount করে একই ফাইল পড়তে-লিখতে পারে। container আর Lambda function-ও এটা mount করতে পারে, আর on-premises server Site-to-Site VPN বা Direct Connect দিয়ে এতে পৌঁছাতে পারে।
- AZ জুড়ে: Regional file system তার data অন্তত তিনটা Availability Zone-এ একাধিক কপিতে রাখে, আর Region-এর প্রতিটা AZ-এর instance একসাথে এটা ব্যবহার করতে পারে।
- শুধু Linux: EFS চলে Linux instance-এ (আর EC2 Mac instance-এ)। Windows-এ এটা সমর্থিত না। এটা একদম Linux file system-এর মতো আচরণ করে: POSIX permission (owner, group, read/write/execute), directory, আর NFSv4 file locking।
- নিজে থেকে বাড়ে-কমে: আগে থেকে কোনো size বলতে হয় না। ফাইল রাখলে file system বড় হয়, মুছলে ছোট হয়, petabyte পর্যন্ত। জায়গা কখনো ফুরায় না, খালি জায়গার টাকাও দিতে হয় না।
- যতটুকু ব্যবহার, ততটুকু টাকা: প্রতি মাসে যত GB আসলে রেখেছ তার টাকা দাও (আর throughput mode অনুযায়ী throughput-এর)। আগে থেকে কিছু provision করতে হয় না।
#instance কীভাবে EFS-এ পৌঁছায়: mount target
EFS file system থাকে Region পর্যায়ে, কিন্তু instance থাকে subnet-এ। এই দুইয়ের মাঝখানের সেতুটার নাম mount target।
প্রতি AZ-এ একটা mount target
mount target হলো একটা network interface, যেটা EFS তোমার VPC-র একটা subnet-এ বসায়, ওই subnet থেকে একটা private IP নিয়ে। একটা Regional file system-এর প্রতিটা AZ-এ একটা করে mount target থাকতে পারে (একই AZ-এ দুটো কখনো না)। যে যে AZ থেকে instance mount করবে, সবগুলোতে একটা করে বানিয়ে রাখো; mount target-এর কোনো খরচ নেই।
mount target-এর গায়ে security group
প্রতিটা mount target-এর এক বা একাধিক security group থাকে। আসল নিয়মটা হলো instance থেকে inbound TCP 2049 (NFS), আর source হিসেবে instance-দের security group দেওয়াই সবচেয়ে ভালো। instance-এর দিক থেকে mount target-এ outbound 2049 লাগে, যেটা default “সব outbound চলবে” নিয়মটা আগেই দিয়ে রাখে।
নাম দিয়ে mount
instance-এ file system mount করো তার DNS নাম দিয়ে,
fs-0abc1234.efs.us-east-1.amazonaws.com। VPC-র ভেতরে (DNS resolution আর DNS hostname চালু থাকলে) এই নাম resolve হয় instance-এর নিজের AZ-এর mount target-এ, তাই traffic AZ-এর বাইরে যায় না। সবচেয়ে সহজ উপায় EFS mount helper (amazon-efs-utilspackage):sudo mount -t efs -o tls fs-0abc1234:/ /mnt/efs।
| Security group | দিক | Protocol আর port | Source / destination |
|---|---|---|---|
Instance (sg-web) | Outbound | TCP 2049 | mount target-এর security group (default outbound আগেই এটা দেয়) |
Mount target (sg-efs) | Inbound | TCP 2049 | sg-web (বা instance-দের CIDR range) |
অন্য AZ-এর mount target দিয়েও mount করা যায়, কিন্তু AZ-এর সীমা পার হওয়া প্রতিটা GB-এর জন্য cross-AZ data transfer-এর টাকা লাগে (প্রতি দিকে প্রতি GB $0.01), latency-ও বাড়ে। তাই নিজের AZ-এর mount target-ই ব্যবহার করো।
একটা file system, তিনটা AZ থেকে mount
EFS থাকে Region পর্যায়ে। প্রতিটা AZ-এ একটা করে mount target থাকে (একটা subnet-এর ভেতরে একটা network interface), আর instance-গুলো নিজের AZ-এর mount target দিয়ে NFS port 2049-এ file system-এ পৌঁছায়।
পরিস্থিতি
একটা EFS file system, আর তিনটা AZ-এ তিনটা web server। প্রতিটা AZ-এর নিজের mount target আছে, যার IP ওই AZ-এর subnet থেকে নেওয়া।
#mount আটকে গেলে
NFS port বন্ধ থাকলে সুন্দর করে “access denied” আসে না। security group packet-গুলো চুপচাপ ফেলে দেয়, তাই mount command অপেক্ষা করতে থাকে, তারপর “Connection timed out” দিয়ে ব্যর্থ হয়। এই ক্রমে দেখো:
| লক্ষণ | সম্ভাব্য কারণ | সমাধান |
|---|---|---|
mount আটকে থাকে, তারপর Connection timed out | mount target-এর security group-এ instance থেকে inbound TCP 2049 নেই | instance-এর security group-কে source করে inbound 2049 যোগ করো |
| একই অবস্থা, অথচ security group ঠিকই আছে মনে হচ্ছে | কোনো একটা subnet-এর network ACL 2049, বা ফেরত আসার উঁচু port আটকে রেখেছে | দুই NACL-এই 2049 আর ফেরত আসার ephemeral port খুলে দাও (NACL stateless) |
file system-এর নাম Failed to resolve | instance-এর AZ-এ কোনো mount target নেই, অথবা VPC-তে DNS hostname / DNS resolution বন্ধ | ওই AZ-এ mount target বানাও; DNS support চালু করো; নয়তো IP দিয়ে অন্য AZ-এর mount target mount করো (cross-AZ খরচসহ) |
unknown filesystem type 'efs' | mount helper install করা নেই | amazon-efs-utils install করো (অথবা NFSv4.1 option দিয়ে সাধারণ NFS client ব্যবহার করো) |
access denied by server | file system policy (IAM) এই client-কে ঢুকতে দিচ্ছে না, যেমন সে TLS বা IAM ব্যবহার করেনি | -o tls,iam দিয়ে mount করো, আর instance role-কে ঠিক EFS permission দাও |
#EFS-এর খরচ, EBS-এর সাথে মিলিয়ে
EFS টাকা নেয় প্রতি মাসে গড়ে যত GB রাখা হয়েছে তার ওপর, প্রতিটা storage class আলাদা করে। নিচের দামগুলো লেখার সময়ের us-east-1-এর; অন্য Region-এ আলাদা, তাই সবসময় pricing page দেখে নিও।
| জিনিস | দাম (us-east-1) |
|---|---|
| EFS Standard, Regional | প্রতি GB-month $0.30 |
| EFS Standard, One Zone | প্রতি GB-month $0.16 |
| EFS Infrequent Access (IA), Regional | Elastic throughput-এ প্রতি GB-month $0.016 (Bursting বা Provisioned-এ $0.025) |
| EFS One Zone-IA | প্রতি GB-month $0.0133 |
| EFS Archive (শুধু Regional) | প্রতি GB-month $0.008 |
| IA থেকে পড়া / IA-তে সরানো | প্রতি GB $0.01 |
| Archive থেকে পড়া / Archive-এ সরানো | প্রতি GB $0.03 |
| Elastic throughput | প্রতি GB পড়ায় $0.03, লেখায় $0.06 |
| Provisioned throughput | প্রতি MiB/s-month $6.00, Standard storage নিজে যতটুকু দেয় তার ওপরে |
| তুলনার জন্য: EBS gp3 | provision করা প্রতি GB-month $0.08 (লেসন ৫.২) |
তাহলে প্রতি GB-তে EFS Standard-এর দাম gp3-এর প্রায় চার গুণ। নোটে যে বলা আছে “EFS-এ storage খরচ একটু বেশি”, কথাটা এখান থেকেই। তবে পুরো ছবিটা মিলিয়ে দেখো:
- EBS-এ তুমি টাকা দাও যত size provision করেছ তার, ব্যবহার হোক বা না হোক। 1 TB-র একটা gp3 volume-এ 400 GB থাকলেও খরচ $80।
- EFS-এ টাকা দাও শুধু আসলে যত GB রাখা আছে তার, আর কিছুই কখনো ভরে যায় না।
- তিনটা instance-এর প্রত্যেকের যদি একই data লাগে, EBS-এ লাগবে তিনটা volume (আর সেগুলো মিলিয়ে রাখার একটা ব্যবস্থা)। একটা EFS file system একাই সবাইকে দেয়।
- lifecycle management (নিচে আছে) দিয়ে ঠান্ডা ফাইলগুলো IA বা Archive-এ নেমে যায়, তখন গড়ে প্রতি GB-র দাম অনেকখানি কমে।
#Regional না One Zone
file system বানানোর সময় তার type বেছে নিতে হয়:
| Regional (recommended, default) | One Zone | |
|---|---|---|
| data কোথায় থাকে | অন্তত ৩টা AZ জুড়ে একাধিক কপিতে | একটা AZ-এর ভেতরে একাধিক কপিতে |
| একটা AZ নষ্ট হলে টেকে? | হ্যাঁ, বাকি AZ-এর instance চালিয়ে যায় | না, data পাওয়া যায় না, আর AZ ক্ষতিগ্রস্ত হলে হারিয়েও যেতে পারে |
| Mount target | প্রতি AZ-এ একটা | একটাই, নিজের AZ-এ (অন্য AZ থেকে cross-AZ খরচ দিয়ে পৌঁছানো যায়) |
| Durability (যার জন্য বানানো) | 11 nines | 11 nines (disk, host আর rack নষ্ট হওয়ার বিরুদ্ধে, AZ হারানোর বিরুদ্ধে না) |
| Availability SLA (Standard) | 99.99% | 99.9% |
| Storage class | Standard, IA, Archive | One Zone, One Zone-IA (Archive নেই) |
| দাম | Standard প্রতি GB-month $0.30 | প্রায় অর্ধেক: প্রতি GB-month $0.16 |
| Automatic backup | console-এ default-এ চালু | console, CLI, API, সবখানে default-এ চালু |
| কাজে লাগে | production, যা সবসময় চালু থাকতেই হবে | dev/test, analytics-এর scratch, আবার বানানো যায় বা অন্য কপি আছে এমন data |
নোটে One Zone-কে বলা হয়েছে একটা “storage class”। এখনকার console-এ এটা একটা file system type, যেটা বানানোর সময়েই বেছে নিতে হয়, পরে আর বদলানো যায় না। এর ভেতরের দুটো storage class হলো One Zone আর One Zone-IA।
একটা AZ নষ্ট হলে Regional বনাম One Zone
Regional file system data রাখে অন্তত তিনটা AZ-এ। One Zone file system রাখে একটা AZ-এ, দাম প্রায় অর্ধেক।
পরিস্থিতি
একটা Regional file system, প্রতিটা AZ-এ একটা mount target। প্রতিটা write কয়েকটা AZ জুড়ে একাধিক কপিতে রাখা হয়, তারপরই EFS জানায় যে লেখা হয়ে গেছে।
#Performance: performance mode আর throughput mode
file system কত দ্রুত হবে, সেটা দুটো আলাদা setting ঠিক করে।
#Performance mode: সবসময় General Purpose
| General Purpose | Max I/O | |
|---|---|---|
| অবস্থা | default, আর প্রতিটা file system-এর জন্য recommended | আগের প্রজন্মের |
| Latency | প্রতি operation-এ সবচেয়ে কম (Regional-এ read প্রায় 1 ms, write প্রায় 2.7 ms) | প্রতি operation-এ বেশি |
| বাধা | নেই | Elastic throughput বা One Zone file system-এ চলে না |
| পরে বদলানো যায়? | না, বানানোর সময়েই ঠিক হয় | না |
পুরনো course-গুলো বলে “big data আর হাজার হাজার instance হলে Max I/O নাও”। এই পরামর্শ এখন পুরনো: Elastic throughput-এর সাথে General Purpose এখন প্রতি সেকেন্ডে কয়েক লাখ read operation পর্যন্ত যায় (চাইলে আরও), তাই AWS সব জায়গায় General Purpose-ই recommend করে। পরীক্ষায় কোনো option যদি এখনো “highly parallel, বেশি latency সহ্য করা যায়” বলে Max I/O দেখায়, বুঝবে ওটা পুরনো দিনের উত্তর।
#Throughput mode: প্রতি সেকেন্ডে কত MiB
| Elastic | Provisioned | Bursting | |
|---|---|---|---|
| throughput কীভাবে ঠিক হয় | চাহিদা অনুযায়ী নিজে থেকে, সাথে সাথে বাড়ে-কমে | তুমি বলে দাও কত MiB/s, size যাই হোক | Standard-এ যত data আছে সেই size অনুযায়ী: প্রতি TiB-তে 50 MiB/s baseline, burst credit খরচ করে প্রতি TiB-তে 100 MiB/s পর্যন্ত burst (burst সর্বনিম্ন 100 MiB/s) |
| টাকা দাও | যত GB আনা-নেওয়া হলো (প্রতি GB পড়ায় $0.03, লেখায় $0.06) | storage নিজে যে baseline দেয় তার ওপরে provision করা MiB/s-এর, প্রতি ঘণ্টায় | বাড়তি কিছু না; storage-এর দামেই ধরা |
| কাজে লাগে | হঠাৎ চাপ আসা বা আগে থেকে বোঝা যায় না এমন কাজ, বা গড় ব্যবহার peak-এর ৫% বা তার কম | জানা, স্থির throughput, বা গড় ব্যবহার peak-এর প্রায় ৫%-এর বেশি | যেখানে throughput স্বাভাবিকভাবেই data-র সাথে বাড়ে |
| Default? | console-এ default, আর recommended | না | শুধু CLI/API-তে setting না দিলে default |
| সাবধান | আনা-নেওয়া byte-এর ওপর নজর রাখো, যাতে কোনো বেলাগাম job বিল না বাড়িয়ে দেয় | Provisioned-এ যাওয়ার বা বাড়ানোর পর কমাতে বা অন্য mode-এ যেতে ২৪ ঘণ্টা অপেক্ষা করতে হয় | ছোট file system-এর baseline খুব কম; credit ফুরালে ওই baseline-এ নেমে আসে |
Bursting-টা হাতে-কলমে বোঝার জন্য কয়েকটা সংখ্যা: Standard-এ 100 GiB থাকলে write-এর baseline মাত্র প্রায় 5 MiB/s (read তিন ভাগের এক ভাগে গোনা হয়, তাই প্রায় 15 MiB/s)। একটা চুপচাপ দিনের পরে যত credit জমে, তাতে প্রায় ৭২ মিনিট 100 MiB/s-এ burst করা যায়। 1 TiB-এর বেশি file system সময়ের অর্ধেক burst করতে পারে। আর যেকোনো file system অন্তত 1 MiB/s পায়।
Elastic-এ ওপরের সীমা অনেক বেশি। Elastic throughput-এর একটা Regional file system মোট 20–60 GiB/s পর্যন্ত read আর 1–5 GiB/s পর্যন্ত write করতে পারে, Region ভেদে কম-বেশি হয়। Bursting-এ যেখানে read মাত্র 3–5 GiB/s। একটা client একাই সর্বোচ্চ 1,500 MiB/s পায়, তবে সেটা নতুন EFS mount helper দিয়ে mount করলে; নইলে 500 MiB/s। পুরোনো slide-এ Elastic-এর জন্য read 3 GiB/s আর write 1 GiB/s লেখা থাকে, ওই সীমা পরে বাড়ানো হয়েছে।
হঠাৎ চাপ এলে throughput mode-গুলো
রাতের একটা job হঠাৎ 100 MiB/s চায়, এমন একটা ছোট file system থেকে যার Standard-এ আছে মাত্র 100 GiB। দেখো কোন throughput mode কী করে।
পরিস্থিতি
Bursting-এ Standard-এ রাখা প্রতি TiB-র জন্য 50 MiB/s baseline। 100 GiB-তে write-এর baseline মাত্র প্রায় 5 MiB/s (read তিন ভাগের এক ভাগে গোনা হয়, তাই প্রায় 15 MiB/s)।
নিজেকে যাচাই করোপ্রশ্ন
একটা media কোম্পানি Bursting throughput-ওয়ালা EFS-এ 200 GiB project file রাখে। editor-রা সারাদিন স্বাভাবিকভাবে কাজ করেন, কিন্তু কয়েক দিন পরপর একটা render job চালু হয়, যেটার অজানা কয়েক ঘণ্টা ধরে খুব বেশি throughput লাগে, তারপর থেমে যায়। সবচেয়ে কম ঝামেলায় সবচেয়ে ভালো performance পেতে কী বদলাবে?
#Storage class আর lifecycle management
বেশিরভাগ ফাইল কয়েক দিন বা কয়েক সপ্তাহ ব্যস্ত থাকে, তারপর প্রায় আর খোলাই হয় না। EFS এই ঠান্ডা data-কে সস্তা storage class-এ রাখতে দেয়, application-এর কিছুই বদলাতে হয় না।
| Storage class | কীসের জন্য | প্রথম byte-এর latency | দাম (us-east-1, Regional) | মনে রাখো |
|---|---|---|---|---|
| Standard | সক্রিয় ফাইল | এক millisecond-এর কম (SSD) | প্রতি GB-month $0.30 | নতুন সব data প্রথমে এখানেই আসে |
| Infrequent Access (IA) | যে ফাইল তিন মাসে কয়েকবার পড়া হয় | কয়েক দশ millisecond | প্রতি GB-month $0.016 (Elastic) বা $0.025 | পড়তে বা এখানে সরাতে প্রতি GB $0.01; প্রতিটা ফাইলের বিল অন্তত 128 KiB |
| Archive | যে ফাইল বছরে কয়েকবার বা তারও কম পড়া হয় | কয়েক দশ millisecond | প্রতি GB-month $0.008 | শুধু Regional আর Elastic throughput-এ; পড়তে বা সরাতে প্রতি GB $0.03; অন্তত ৯০ দিনের storage বিল |
| One Zone | সক্রিয় ফাইল, One Zone type-এ | এক millisecond-এর কম | প্রতি GB-month $0.16 | |
| One Zone-IA | ঠান্ডা ফাইল, One Zone type-এ | কয়েক দশ millisecond | প্রতি GB-month $0.0133 |
#Lifecycle policy
Lifecycle management ফাইলগুলোকে এক class থেকে আরেক class-এ সরায়, দেখে প্রতিটা ফাইল Standard-এ শেষ কবে access হয়েছিল। একটা file system-এর তিনটা lifecycle policy থাকে:
| Policy | কী কী বাছা যায় | Console-এর default |
|---|---|---|
| Transition into IA | access ছাড়া ১, ৭, ১৪, ৩০, ৬০, ৯০, ১৮০, ২৭০ বা ৩৬৫ দিন পরে, অথবা কখনো না | ৩০ দিন |
| Transition into Archive | access ছাড়া ১ থেকে ৩৬৫ দিন পরে (একই ধাপে), অথবা কখনো না | ৯০ দিন |
| Transition into Standard | On first access, অথবা None | None: পড়লেও ফাইল IA বা Archive-এই থেকে যায় |
যে খুঁটিনাটি পরীক্ষার প্রশ্ন আর মাসের বিল, দুই জায়গাতেই কাজে লাগে:
- EFS-এর নিজস্ব একটা access timer আছে; Standard-এর কোনো ফাইল পড়া বা লেখা হলেই সেটা আবার শূন্য থেকে শুরু হয়। directory list করা বা attribute দেখার মতো metadata operation access হিসেবে ধরা হয় না।
- ফাইলের নাম, মালিকানা আর directory tree সবসময় Standard-এই থাকে, তাই folder ঘুরে দেখার অনুভূতি একই থাকে।
- IA বা Archive-এর কোনো ফাইলে লিখলে সেটা আগে Standard-এ যায়, আর ২৪ ঘণ্টা পরে আবার সরে যাওয়ার যোগ্য হয়।
- Transition into Standard = None থাকলে ঠান্ডা ফাইল প্রতিবার পড়তে access charge আর বেশি latency গুনতে হয়। যে ফাইল আবার গরম হয়ে উঠতে পারে (যেমন application যে অনেক ছোট ছোট ফাইল পড়ে), তার জন্য On first access দাও, তাহলে ফাইলটা ফিরে আসে আর পরের পড়াগুলো দ্রুত হয়, access charge-ও লাগে না।
- CLI বা API দিয়ে বানানো file system-এ
put-lifecycle-configurationদিয়ে যোগ না করা পর্যন্ত কোনো lifecycle policy থাকে না। - policy পুরো file system-এর ওপর খাটে, আলাদা আলাদা folder-এ না।
Lifecycle: ফাইল ঠান্ডা হয়, তারপর আবার পড়া হয়
Console-এর default: ৩০ দিন কেউ না ছুঁলে IA-তে, ৯০ দিন না ছুঁলে Archive-এ, আর Standard-এ ফেরত আসা বন্ধ। দামগুলো us-east-1-এর, প্রতি GB-month।
পরিস্থিতি
প্রতিটা নতুন ফাইল আগে Standard-এ লেখা হয়: SSD-এর ওপর, পড়তে এক millisecond-এরও কম লাগে।
#হিসাব করে দেখি: IA কি সত্যিই ৯২% বাঁচায়?
নোটে বলা আছে EFS-IA-র খরচ সাধারণ EFS-এর চেয়ে প্রায় ৯২% কম। এখনকার us-east-1-এর দামের সাথে মিলিয়ে দেখি:
- Bursting বা Provisioned file system-এ IA: $0.025 ÷ $0.30 = 8.3%, মানে প্রায় ৯২% কম। এই ক্ষেত্রে নোটের কথা ঠিক।
- Elastic file system-এ IA (console-এর default): $0.016 ÷ $0.30 = 5.3%, মানে প্রায় ৯৫% কম।
- Archive: $0.008 ÷ $0.30 = 2.7%, মানে প্রায় ৯৭% কম।
এটা কিন্তু প্রতি GB-র দাম। বিলে বাঁচে এর চেয়ে কম, কারণ গরম data Standard-এই থাকে, আর ঠান্ডা data পড়তে access charge লাগে। ধরো Elastic throughput-ওয়ালা 1,000 GB-র একটা Regional file system, যার মধ্যে কোনো এক মাসে মাত্র 200 GB ছোঁয়া হয়:
| মাসে storage খরচ | মনে রাখো | |
|---|---|---|
| lifecycle ছাড়া | 1,000 × $0.30 = $300.00 | |
| ৩০ দিন পরে IA | 200 × $0.30 + 800 × $0.016 = $60.00 + $12.80 = $72.80 | একবারের tiering 800 × $0.01 = $8। মাসে IA থেকে 50 GB পড়লে আরও $0.50। |
| ৩০ দিনে IA, ৯০ দিনে Archive (500 GB ৯০ দিনের বেশি কেউ ছোঁয়নি) | 200 × $0.30 + 300 × $0.016 + 500 × $0.008 = $60.00 + $4.80 + $4.00 = $68.80 | একবারের tiering: 300 × $0.01 + 500 × $0.03 = $18। Archive থেকে পড়তে প্রতি GB $0.03। |
অর্থাৎ lifecycle এই বিলটা কমায় প্রায় ৭৬%, ৯২% না, আর Archive-এর ধাপটা আরেকটু কমায়। (Elastic throughput-এর পড়া-লেখার খরচ প্রতিটা সারিতে একই, তাই হিসাবে রাখা হয়নি।) তোমার data-র যত বড় অংশ সত্যিই ঠান্ডা, তত তুমি প্রতি GB-র হিসাবের কাছাকাছি যাবে; আর যে data প্রতি সপ্তাহে ছোঁয়া হয়, সেখানে access আর tiering-এর খরচ বাঁচানো টাকা খেয়ে ফেলতে পারে।
#Security
#Encryption
- At rest: EFS data আর metadata encrypt করে একটা AWS KMS key দিয়ে, হয় AWS managed key
aws/elasticfilesystem, নয়তো তোমার নিজের customer managed key। console-এ এটা default-এ চালু; CLI বা API-তে নিজে চাইতে হয় (--encrypted)। এটা ঠিক করা যায় শুধু file system বানানোর সময়। আগে থেকে থাকা unencrypted file system encrypt করতে চাইলে নতুন একটা encrypted file system বানিয়ে data কপি করে নিতে হয়। - In transit: EFS mount helper দিয়ে
tlsoption সহ mount করো। helper NFS traffic-কে TLS 1.2-এ মুড়ে দেয় (port সেই 2049-ই)। TLS বাধ্যতামূলক করতে একটা file system policy যোগ করো, যেটাaws:SecureTransportfalse হলে access আটকে দেয়; console-এ এটাই “Enforce in-transit encryption for all clients” option।
#কে mount করতে পারবে, কী করতে পারবে
তিনটা স্তর একসাথে কাজ করে:
- Network: security group আর NACL ঠিক করে কোন machine আদৌ port 2049-এ পৌঁছাতে পারবে।
- IAM: একটা EFS file system policy (resource policy) আর instance-এর IAM role মিলে ঠিক করে কোনো client mount করতে পারবে কিনা, লিখতে পারবে কিনা, বা root হিসেবে কাজ করতে পারবে কিনা (
ClientMount,ClientWrite,ClientRootAccess)।-o tls,iamদিয়ে mount করো, যাতে client তার IAM পরিচয় দেখায়। তৈরি option-গুলোর মধ্যে আছে root access আটকানো, শুধু read-only চালানো আর anonymous access বন্ধ করা। - POSIX permission: file system-এর ভেতরে সাধারণ Linux-এর owner, group আর mode bit খাটে, ঠিক local disk-এর মতো।
#Access point
access point হলো file system-এ ঢোকার একটা application-নির্দিষ্ট দরজা। এটা পারে:
- এর ভেতর দিয়ে আসা প্রতিটা request-কে একটা নির্দিষ্ট POSIX user ID আর group ID ব্যবহার করতে বাধ্য করতে, client নিজেকে যা-ই দাবি করুক;
- শুধু একটা directory-কে root হিসেবে দেখাতে (যেমন
/apps/billing), না থাকলে বেছে দেওয়া owner আর permission দিয়ে সেটা বানিয়েও নিতে; - IAM policy-তে নাম ধরে ব্যবহার হতে, যাতে billing application-এর role শুধু billing access point দিয়েই mount করতে পারে।
কয়েকটা application, container বা Lambda function-কে একটা file system শেয়ার করতে দেওয়ার, অথচ কেউ কারও data দেখবে না, এমন পরিষ্কার উপায় হলো access point।
#Data বাঁচানো: backup আর replication
- AWS Backup: default EFS backup plan-এ রোজ incremental backup, ৩৫ দিন রাখা হয়। console-এ বানানো file system-এ, আর যেকোনো tool দিয়ে বানানো One Zone file system-এ automatic backup default-এ চালু; CLI/API দিয়ে বানানো Regional file system-এ নিজে চালু করতে হয় (
--backup)। restore করে পুরো file system বা একটা একটা ফাইল ফেরত আনা যায়, নতুন বা পুরনো file system-এ, এমনকি অন্য AZ বা Region-এও। restore করা ফাইল Standard-এ আসে। - EFS Replication: file system-এর একটা read-only কপি অন্য Region-এ (বা একই Region-এ) সারাক্ষণ হালনাগাদ রাখে; বেশিরভাগ file system-এর জন্য recovery point objective ১৫ মিনিট। বিপর্যয়ে replication configuration মুছে দিলে কপিটা লেখার যোগ্য হয়ে যায়, তখন client-দের সেদিকে ঘুরিয়ে দিয়ে failover করো। কপিটা Regional বা One Zone, যেকোনোটা হতে পারে।
#EFS না FSx?
Linux-এর জন্য সব কাজের shared file system হলো EFS। EFS যেসব জায়গায় খাটে না, সেখানে Amazon FSx অন্য পরিচিত file system-গুলোর পুরোপুরি managed সংস্করণ দেয়। বিস্তারিত পরের একটা chapter-এ; আপাতত যে দুটো সবচেয়ে বেশি আসে সেগুলো চিনে রাখো:
| দরকার | Service |
|---|---|
| Linux-এর জন্য shared ফাইল, অনেক instance, কয়েকটা AZ, যত ব্যবহার তত টাকা | Amazon EFS |
| Windows-এর জন্য shared ফাইল: SMB, Active Directory, Windows permission (Linux থেকেও SMB দিয়ে ব্যবহার করা যায়) | Amazon FSx for Windows File Server |
| HPC আর machine learning: খুব বেশি throughput-এর parallel file system, প্রায়ই একটা S3 bucket-এর সাথে যুক্ত | Amazon FSx for Lustre |
#EBS, EFS আর instance store-এর মধ্যে বেছে নেওয়া
#পুরো তুলনা
| Instance store | EBS | EFS | |
|---|---|---|---|
| ধরন | host-এর local physical block storage | network block storage | network file storage (NFS) |
| স্থায়িত্ব | অস্থায়ী: stop, hibernate, terminate বা host নষ্ট হলে হারায়; reboot-এ থাকে (লেসন ৫.৩) | volume না মোছা পর্যন্ত স্থায়ী (root volume default-এ terminate-এর সাথে মুছে যায়, লেসন ৫.১) | ফাইল বা file system না মোছা পর্যন্ত স্থায়ী |
| কয়টা instance-এ লাগে | শুধু ওই host-এর একটা instance | একবারে একটা instance (io1/io2 Multi-Attach: একই AZ-এর সর্বোচ্চ ১৬টা Nitro instance) | একসাথে শত শত বা হাজার হাজার instance |
| AZ-এর সীমা | ওই host | একটা AZ; অন্য AZ-এ নিতে snapshot ছাড়া উপায় নেই | Regional: Region-এর প্রতিটা AZ (One Zone: একটা AZ) |
| Operating system | Linux আর Windows | Linux আর Windows | শুধু Linux (Windows → FSx for Windows) |
| Performance | সবচেয়ে বেশি IOPS, সবচেয়ে কম latency (local NVMe) | অনুমান করা যায়; type, size, IOPS আর throughput তুমি ঠিক করো (gp3, io2, st1, sc1) | network file system-এর latency (read প্রায় 1 ms); throughput Elastic, Provisioned বা Bursting |
| Size | instance type ঠিক করে দেয় | তুমি provision করো; Elastic Volumes দিয়ে বাড়াও | নিজে থেকে বাড়ে-কমে |
| খরচ | instance-এর দামের মধ্যেই | provision করা প্রতি GB (gp3 $0.08) আর বাড়তি IOPS/throughput | রাখা প্রতি GB (Standard $0.30, IA/Archive-এ অনেক কম) আর Elastic/Provisioned-এ throughput-এর খরচ |
| Backup | নিজে থেকে কিছু নেই; data নিজে কপি করতে হয় | EBS snapshot, Data Lifecycle Manager, AWS Backup | AWS Backup, EFS Replication |
| সেরা ব্যবহার | cache, buffer, scratch, অস্থায়ী data, এমন replicated database যারা নষ্ট node আবার বানিয়ে নেয় | boot volume, database, একটা instance-এর যেকোনো application data | WordPress / CMS content, shared directory, home directory, web server fleet, container আর Lambda-র shared storage |
কোন storage মানাবে?
data নিয়ে চারটা প্রশ্নের উত্তর দাও। ক্লিক করার সাথে সাথে উত্তর বদলাবে, সাথে কারণ, আর পরীক্ষার প্রশ্নে কোন শব্দগুলো দেখে এটা চিনবে।
১. কী কাজে লাগবে?
২. একসাথে কারা ব্যবহার করবে?
৩. Operating system
৪. stop, terminate বা host নষ্ট হলেও কি থাকতে হবে?
Amazon EFS (Regional)
কয়েকটা AZ-এর অনেক Linux instance একই ফাইল পড়ছে আর লিখছে: প্রতিটা AZ-এ mount target-সহ একটা Regional EFS file system। যে ফাইলগুলো ঠান্ডা হয়ে যায়, তাদের জন্য IA আর Archive-এ lifecycle management যোগ করো।
পরীক্ষায় চেনার শব্দ: shared file system, একসাথে access, একাধিক AZ, Linux, POSIX, WordPress / CMS, home directory
#কীভাবে বেছে নেবে
Windows server-রা ফাইল শেয়ার করবে?
Windows-এর shared ফাইল → FSx for Windows File Server। EFS Windows সমর্থন করে না।
কয়েকটা instance-এর একসাথে একই ফাইল লাগবে?
হ্যাঁ, আর Linux → EFS (production-এ Regional; dev/test-এ One Zone)। S3-এর data নিয়ে HPC হলে → FSx for Lustre।
instance stop হলে বা host নষ্ট হলে data হারালে চলবে?
হ্যাঁ, এটা আবার বানানো যায় এমন cache, buffer বা scratch, আর সবচেয়ে বেশি IOPS দরকার → instance store (যে instance type-এ এটা আছে)।
বাকি সব ক্ষেত্রে
একটা instance, data টিকে থাকতে হবে, boot volume বা database → EBS (সাধারণত gp3, সবচেয়ে বেশি টানা IOPS-এর জন্য io2, সস্তায় sequential data-র জন্য st1/sc1)। একই AZ-এর কয়েকটা instance cluster-aware application দিয়ে একটা block device শেয়ার করবে → io2 Multi-Attach।
#পরীক্ষার scenario, হাতে-কলমে
| Scenario | উত্তর | কেন |
|---|---|---|
| একটা WordPress site তিনটা AZ জুড়ে একটা Auto Scaling group-এ চলে; upload করা ছবি প্রতিটা server-এ দেখা যেতে হবে | EFS (Regional) | অনেক Linux instance, কয়েকটা AZ, shared ফাইল |
| পঞ্চাশটা Windows application server-এর একটা shared drive লাগবে, যেটা কোম্পানির Active Directory ব্যবহার করে | FSx for Windows File Server | Windows, SMB, Active Directory; EFS শুধু Linux |
| একটা instance-এ নিজে চালানো database-এর স্থির কম latency আর 40,000 IOPS লাগবে | EBS io2 (বা যথেষ্ট হলে gp3) | একটা instance-এর জন্য block storage; EFS network file system-এর latency যোগ করে |
| একটা NoSQL cluster প্রতিটা item-এর তিনটা কপি রাখে, আর যত দ্রুত সম্ভব local disk চায় | Instance store | application নিজেই data replicate করে; একটা node-এর disk হারালে সমস্যা নেই |
| একটা shared document store-এর খরচ কমাতে হবে, যেখানে বেশিরভাগ ফাইল কয়েক সপ্তাহ পরে আর খোলা হয় না | EFS lifecycle, IA-তে (আর Archive-এ) | ঠান্ডা ফাইলের জন্য খুব সামান্য টাকা, application-এর path একই |
| একটা shared Linux workload-এ হঠাৎ হঠাৎ খুব বেশি throughput লাগে, file system-এর size-এর সাথে কোনো সম্পর্ক নেই | EFS Elastic throughput | সাথে সাথে বাড়ে, যত GB আনা-নেওয়া তত টাকা |
| developer-দের test environment-এর জন্য সবচেয়ে সস্তা shared Linux file system চাই; AZ outage-এ হারালেও চলবে | EFS One Zone (One Zone-IA সহ) | দাম প্রায় অর্ধেক; backup default-এ চালু |
| একটা HPC job-এর S3-এ রাখা data-র ওপর high-performance parallel file system লাগবে | FSx for Lustre | HPC-র throughput আর S3-এর সাথে যোগের জন্যই বানানো |
| Lambda function-গুলোর বড় model ফাইলের জন্য একটা shared, স্থায়ী directory লাগবে | access point দিয়ে EFS | Lambda EFS mount করতে পারে; access point directory আর POSIX পরিচয় বেঁধে দেয় |
| us-east-1a-র একটা database instance us-east-1b-র standby-তে failover করে, আর standby-কে একই block volume দেখতে হবে | EBS দিয়ে হবে না: database পর্যায়ে replicate করো (বা managed Multi-AZ database নাও) | EBS volume AZ পার হয়ে attach হয় না |
নিজেকে যাচাই করোপ্রশ্ন
একটা e-commerce application তিনটা Availability Zone জুড়ে একটা Auto Scaling group-এ Linux EC2 instance-এ চলে। staff-রা যে product-এর ছবি upload করেন, সেগুলো সাথে সাথে প্রতিটা instance-এ পাওয়া যেতে হবে, আর একটা AZ নষ্ট হলেও storage চালু থাকতে হবে। solutions architect কী ব্যবহার করবেন?
#System design-এ EFS কীভাবে ব্যবহার হয়
- load balancer-এর পেছনের web fleet: WordPress, Drupal আর অন্য CMS site-গুলো upload, theme আর plugin রাখে EFS-এ, যাতে যেকোনো instance যেকোনো request সামলাতে পারে, আর Auto Scaling ইচ্ছেমতো instance যোগ বা বাদ দিতে পারে।
- Linux user-দের shared home directory আর development environment।
- Container আর serverless: যে task আর Lambda function আসে-যায়, তাদের এমন state লাগে যা তাদের পরেও টিকে থাকে; প্রতিটা application-এর জন্য একটা access point তাদের আলাদা রাখে।
- Content আর media-র কাজ: কয়েকটা processing server একই project folder পড়ে আর লেখে।
- Machine learning: training আর inference node-গুলো একই dataset আর model লোড করে।
যেখানে EFS ভুল হাতিয়ার:
- ছোট ছোট random write-এ ভরা database: প্রতিটা operation network পার হয়ে একটা distributed file system-এ যায়, তাই latency EBS-এর চেয়ে বেশি। EBS (বা managed database) নাও।
- Windows: FSx for Windows File Server নাও।
- HTTP দিয়ে দেওয়া archive আর public asset: প্রতি GB-তে S3 অনেক সস্তা, আর যত client-ই হোক সামলায়।
- একদম সবচেয়ে কম latency চাওয়া scratch space: instance store।
#নিজে করে দেখো
# 1. Security groups: instances (sg-web) and mount targets (sg-efs, inbound NFS from sg-web)
aws ec2 create-security-group --group-name sg-efs --description "EFS mount targets" --vpc-id $VPC
aws ec2 authorize-security-group-ingress --group-id $SG_EFS \
--protocol tcp --port 2049 --source-group $SG_WEB
# 2. A Regional, encrypted file system with Elastic throughput and automatic backups
FS=$(aws efs create-file-system --creation-token shared-web-1 \
--performance-mode generalPurpose --throughput-mode elastic \
--encrypted --backup --tags Key=Name,Value=shared-web \
--query FileSystemId --output text)
aws efs describe-file-systems --file-system-id $FS \
--query "FileSystems[0].[LifeCycleState,ThroughputMode,PerformanceMode,Encrypted]"
# 3. One mount target per AZ (one subnet in each)
for SUBNET in $SUBNET_A $SUBNET_B $SUBNET_C; do
aws efs create-mount-target --file-system-id $FS --subnet-id $SUBNET --security-groups $SG_EFS
done
aws efs describe-mount-targets --file-system-id $FS \
--query "MountTargets[].[AvailabilityZoneName,IpAddress,LifeCycleState]"
# 4. Lifecycle: IA after 30 days, Archive after 90, back to Standard on first access
aws efs put-lifecycle-configuration --file-system-id $FS --lifecycle-policies \
TransitionToIA=AFTER_30_DAYS TransitionToArchive=AFTER_90_DAYS \
TransitionToPrimaryStorageClass=AFTER_1_ACCESS
# 5. An access point for one application: fixed POSIX identity and its own directory
aws efs create-access-point --file-system-id $FS \
--posix-user Uid=1001,Gid=1001 \
--root-directory "Path=/apps/web,CreationInfo={OwnerUid=1001,OwnerGid=1001,Permissions=750}"
# 6. On an instance (Amazon Linux 2023): install the mount helper and mount with TLS
sudo dnf install -y amazon-efs-utils
sudo mkdir -p /mnt/efs
sudo mount -t efs -o tls fs-0abc1234:/ /mnt/efs
df -h /mnt/efs # size shows as 8.0E: there is no fixed size
echo "fs-0abc1234:/ /mnt/efs efs _netdev,tls 0 0" | sudo tee -a /etc/fstab # remount at boot
# Through an access point, with IAM authorisation:
sudo mount -t efs -o tls,iam,accesspoint=fsap-0123456789abcdef0 fs-0abc1234:/ /mnt/web
# 7. Troubleshoot a hanging mount: can the instance reach the mount target on 2049?
nc -zv -w 3 10.0.1.25 2049 # times out → check sg-efs inbound 2049 and the NACLs
#সারসংক্ষেপ
মূল কথাগুলো
- Block storage (EBS, instance store) একটা instance-এর জন্য কাঁচা disk; file storage (EFS, FSx) অনেকের জন্য shared file system; object storage (S3) HTTP দিয়ে পুরো পুরো object।
- EFS হলো Linux-এর জন্য managed NFSv4.1 file system। Region-এর প্রতিটা AZ-এর শত শত বা হাজার হাজার instance একসাথে এটা mount করে। নিজে থেকে বাড়ে-কমে, আর টাকা দাও যত GB রাখা আছে তার।
- instance এতে পৌঁছায় প্রতি AZ-এ একটা mount target দিয়ে। mount target-এর security group-এ instance থেকে inbound TCP 2049 খোলা থাকতে হবে; নইলে mount আটকে থেকে timeout হয়।
- Regional (৩টা বা তার বেশি AZ, recommended) বনাম One Zone (একটা AZ, দাম প্রায় অর্ধেক, Archive নেই, backup default-এ চালু, AZ গেলে সাথে যায়)।
- Performance mode: সবসময় General Purpose; Max I/O পুরনো, আর Elastic বা One Zone-এ চলে না।
- Throughput: Elastic (console-এর default, হঠাৎ চাপ আর অজানা চাহিদা, যত GB আনা-নেওয়া তত টাকা), Provisioned (MiB/s ঠিক করে দাও, তার টাকা দাও), Bursting (size অনুযায়ী, burst credit, API-র default)।
- Storage class: Standard, IA, Archive (সাথে One Zone আর One Zone-IA)। Lifecycle N দিন কেউ না ছুঁলে ফাইল সরায় (console: IA ৩০, Archive ৯০), আর বলা থাকলে প্রথম access-এ ফেরত আনে। IA আর Archive-এ প্রতি GB access charge আছে।
- Bursting/Provisioned file system-এ IA প্রতি GB-তে প্রায় ৯২% সস্তা, Elastic-এ প্রায় ৯৫%; বিলে আসলে কত বাঁচবে তা নির্ভর করে কতটা data সত্যিই ঠান্ডা তার ওপর।
- KMS দিয়ে encryption at rest শুধু বানানোর সময়েই বাছা যায়; in transit-এর জন্য mount helper-এর TLS option। Access point আর IAM ঠিক করে কে কী mount করবে। AWS Backup আর EFS Replication data বাঁচায়।
- Windows → FSx for Windows File Server; HPC → FSx for Lustre; একটা instance, স্থায়ী block → EBS; অস্থায়ী, সবচেয়ে দ্রুত → instance store; কয়েকটা AZ জুড়ে shared Linux ফাইল → EFS।
আগে নিজে উত্তর দাও, তারপর ব্যাখ্যাটা পড়ো। ঠিক হলেও পড়ো, কারণ ভুল Option-গুলো কেন ভুল, সেটাও ওখানে আছে।
নিজেকে যাচাই করোপ্রশ্ন
EC2 instance কোন protocol দিয়ে একটা Amazon EFS file system mount করে?
নিজেকে যাচাই করোপ্রশ্ন
web server-রা যাতে file system mount করতে পারে, সেজন্য EFS mount target-এর security group-এ কোন inbound rule থাকতেই হবে?
নিজেকে যাচাই করোপ্রশ্ন
নিচের কোন operating system Amazon EFS mount করতে পারে না?
নিজেকে যাচাই করোপ্রশ্ন
EFS storage-এর বিল কীভাবে হয়?
নিজেকে যাচাই করোপ্রশ্ন
EFS mount target নিয়ে কোন দুটো কথা সত্যি?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
একজন engineer EFS console-এ recommended setting দিয়ে নতুন একটা file system বানালেন। এটা কোন throughput mode পাবে?
নিজেকে যাচাই করোপ্রশ্ন
EFS console-এ বানানো file system-এর default lifecycle setting-এর বর্ণনা কোন দুটো?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
তিনটা Availability Zone-এ ছড়ানো শত শত Linux EC2 instance-এর একই ফাইলগুলো একসাথে পড়া আর লেখার access লাগবে। কোন storage service সবচেয়ে মানানসই?
নিজেকে যাচাই করোপ্রশ্ন
একটা কোম্পানি ৪০টা Windows Server instance চালায়, যাদের কোম্পানির Active Directory-র সাথে যুক্ত একটা shared file system লাগবে। solutions architect কী recommend করবেন?
নিজেকে যাচাই করোপ্রশ্ন
একটা কোম্পানি একটা highly available EFS file system-এ চুক্তিপত্র রাখে। বেশিরভাগ চুক্তি সই হওয়ার পর দুই-তিন সপ্তাহ ঘনঘন খোলা হয়, তারপর প্রায় আর কখনো না। availability না কমিয়ে সবচেয়ে বেশি খরচ কীভাবে কমাবে?
নিজেকে যাচাই করোপ্রশ্ন
EFS-এর একটা shared analytics file system-এ লম্বা সময় চুপচাপ থাকে, তারপর হঠাৎ অজানা মাত্রার চাপ আসে, যখন কত data রাখা আছে তার পরোয়া না করে খুব বেশি throughput লাগে। কোন throughput mode নেবে?
নিজেকে যাচাই করোপ্রশ্ন
নতুন একটা instance চালাল sudo mount -t efs -o tls fs-0abc1234:/ /mnt/efs। command-টা এক মিনিট আটকে থেকে Connection timed out দিয়ে ব্যর্থ হলো। instance-এর AZ-এ file system-এর mount target আছে। সবচেয়ে সম্ভাব্য কারণ কী?
নিজেকে যাচাই করোপ্রশ্ন
একটা টিম Max I/O performance mode আর Elastic throughput দিয়ে একটা EFS file system বানাতে চাইল, কিন্তু request বাতিল হয়ে গেল। তারা কী করবে?
নিজেকে যাচাই করোপ্রশ্ন
Bursting throughput-ওয়ালা একটা file system-এর Standard-এ আছে 100 GiB। রাতের একটা batch job প্রায় এক ঘণ্টা পুরো গতিতে চলে, তারপর শেষ না হওয়া পর্যন্ত শামুকের গতিতে চলে। কী হচ্ছে, আর সবচেয়ে ভালো সমাধান কী?
নিজেকে যাচাই করোপ্রশ্ন
EFS One Zone file system নিয়ে কোন দুটো কথা সত্যি?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
us-east-1c-র instance-গুলো file system-এর DNS নাম resolve করতে পারছে না, অথচ us-east-1a আর us-east-1b-র instance ঠিকঠাক mount করছে। file system Regional। সবচেয়ে সম্ভাব্য কারণ আর সবচেয়ে ভালো সমাধান কী?
নিজেকে যাচাই করোপ্রশ্ন
Elastic throughput-ওয়ালা একটা Regional file system-এ আছে 1,000 GB। সাধারণ এক মাসে মাত্র 200 GB-তে access হয়; বাকিটা IA-তে চলে যায়। Standard প্রতি GB-month $0.30 আর IA $0.016 ধরলে, lifecycle ঠান্ডা data সরিয়ে দেওয়ার পর মাসে storage খরচ কত?
নিজেকে যাচাই করোপ্রশ্ন
একটা Bursting file system-এর Standard storage class-এ আছে 2 TiB। এটা টানা কত write throughput baseline ধরে রাখতে পারবে?
নিজেকে যাচাই করোপ্রশ্ন
একটা ফাইল ছয় মাস ধরে EFS IA-তে আছে। file system-এ Transition into Standard-এর default setting None রাখা। একজন user ফাইলটা খুললেন। কী হবে?
নিজেকে যাচাই করোপ্রশ্ন
একটা security audit-এ ধরা পড়ল, একটা EFS file system encryption at rest ছাড়া বানানো হয়েছিল। কোম্পানিকে এটা encrypt করতেই হবে। solutions architect কী করবেন?
নিজেকে যাচাই করোপ্রশ্ন
EC2 instance আর একটা EFS file system-এর মধ্যে সব data যেন চলার পথে encrypted থাকে, সেটা কীভাবে নিশ্চিত করবে?
নিজেকে যাচাই করোপ্রশ্ন
তিনটা application একটা EFS file system শেয়ার করে। প্রত্যেকে শুধু নিজের directory দেখবে, আর client যে user হিসেবেই চলুক, সবসময় নিজের POSIX user হিসেবে কাজ করবে। এটা চাপিয়ে দেওয়ার সবচেয়ে সহজ উপায় কী?
নিজেকে যাচাই করোপ্রশ্ন
Lambda function-গুলোর 3 GB-র machine learning model লোড করতে হবে, যেগুলো অনেক function মিলে ব্যবহার করে আর প্রতি সপ্তাহে update হয়। model-গুলো এক invocation থেকে আরেক invocation পর্যন্ত টিকে থাকতে হবে। কোন storage সবচেয়ে মানানসই?
নিজেকে যাচাই করোপ্রশ্ন
disaster recovery-র জন্য একটা কোম্পানির production EFS file system-এর একটা কপি অন্য Region-এ লাগবে, যেটা নিজে থেকে হালনাগাদ থাকবে আর recovery point হবে কয়েক মিনিটের। কী ব্যবহার করবে?
নিজেকে যাচাই করোপ্রশ্ন
EFS আর EBS-এর তুলনায় কোন দুটো কথা ঠিক?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
কোন দুটো workload Amazon EFS-এর জন্য ভালো মানায়?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
instance store, EBS আর EFS নিয়ে কোন কথাটা সত্যি NOT?
নিজেকে যাচাই করোপ্রশ্ন
একটা টিম তাদের নিজে চালানো PostgreSQL database-এর data ফাইলগুলো EFS-এ সরাতে চায়, যাতে data বেশি নিরাপদ থাকে। database চলে একটা instance-এ আর অনেক ছোট ছোট random write করে। সবচেয়ে ভালো পরামর্শ কী?
নিজেকে যাচাই করোপ্রশ্ন
পড়ার নোটে লেখা: ‘EFS-IA-র খরচ সাধারণ EFS-এর চেয়ে প্রায় ৯২% কম।’ আজকের হিসাবে সবচেয়ে ঠিক কথা কোনটা?
নিজেকে যাচাই করোপ্রশ্ন
পড়ার নোটে EFS-এর throughput mode-গুলোর তালিকায় Bursting-কে default বলা হয়েছে। ঠিক কথাটা কী?