12.4
Transfer Family, DataSync আর পুরো Storage-এর ম্যাপ
S3 বা EFS-এ managed FTP/SFTP, নির্দিষ্ট সময়ে চলা sync job, আর সবগুলো storage service-এর তুলনা।
22 মিনিট পড়া + Animation
টিপস: ডটেড-আন্ডারলাইন করা যেকোনো শব্দে ট্যাপ বা Hover করলে তার অর্থ দেখবে।
এই লেসন শেষে তুমি পারবে
- AWS Transfer Family কোন জিনিসের জায়গা নেয় তা বোঝাতে, আর একটা session-কে login থেকে শুরু করে identity provider, IAM role আর home directory হয়ে S3 বা EFS পর্যন্ত অনুসরণ করতে।
- SFTP, FTPS, FTP আর AS2-এর জন্য ঠিক endpoint type (public, VPC internet-facing, VPC internal) বেছে নিতে, আর একদল user-এর জন্য ঠিক identity provider বাছতে।
- File পৌঁছানোর পর managed workflow দিয়ে সেটা process করতে, আর endpoint-hour আর gigabyte থেকে Transfer Family-র বিল আন্দাজ করতে।
- একটা DataSync migration তার অংশগুলো (agent, location, task, schedule, execution) দিয়ে সাজাতে, একটা run-এর প্রতিটা phase বোঝাতে, আর task option, task mode ও network endpoint বেছে নিতে।
- একটা DataSync copy আর তার রাতের run-গুলোতে কত সময় আর কত টাকা লাগবে হিসাব করতে, আর কখন network আর উত্তর না, সেটা ঠিক করতে।
- DataSync-কে Storage Gateway, Snowball, Transfer Family আর S3 Transfer Acceleration থেকে এক বাক্যে আলাদা করতে, আর প্রশ্নের শব্দ দেখে এদের মধ্যে বেছে নিতে।
- Course-এর সবগুলো storage service (S3, Glacier class, EBS, instance store, EFS, চারটা FSx file system, Storage Gateway, Transfer Family, DataSync, Snowball, আর database) একটা ম্যাপে বসাতে, আর কোনো scenario-র জন্য ঠিকটা বেছে নিতে।
#এই লেসন কোথায় বসে
লেসন ১০.১১-এ S3-এ data পৌঁছানোর পথগুলোর মধ্যে DataSync ছিল “Path 7” আর Transfer Family ছিল “Path 10”: কোনটা কী, একটা বাস্তব উদাহরণ, আর File Gateway, Snowball ও Transfer Acceleration-এর সাথে পাঁচজনের তুলনা। এই লেসনটা তার গভীরে ডুব। এখানে আমরা একটা Transfer Family session আর একটা DataSync task-এর ভেতরে ঢুকব, বাস্তব project-এ যেসব option, সীমা, ব্যর্থতার ঘটনা আর দাম জানা লাগে সেগুলো দেখব, তারপর course-এর পুরো storage-এর ম্যাপ দিয়ে অধ্যায় ১২ শেষ করব।
এই অধ্যায়ের বাকি লেসনগুলো: ১২.১ Snowball আর edge computing, ১২.২ FSx-এর পরিবার আর ১২.৩ Storage Gateway। অধ্যায় ৫-এর storage service (EBS, instance store, EFS) আর অধ্যায় ১০-এর S3 ও তার storage class শেষের ম্যাপে আবার ফিরে আসবে।
#AWS Transfer Family
#কোম্পানিগুলো এখনো কেন file transfer server চালায়
File transfer protocol cloud-এর চেয়েও পুরোনো, আর এগুলো সবখানে আছে। Bank employer আর wallet-এর কাছ থেকে বেতন আর settlement-এর file পায়, garments রপ্তানিকারক ইউরোপের retailer-দের সাথে purchase order আদান-প্রদান করে, হাসপাতাল lab-এর রিপোর্ট পায়, সরকারি অফিস dataset প্রকাশ করে। অন্য পক্ষের কাছে আছে script, scheduler আর software, যেগুলো SFTP, FTPS বা FTP বোঝে, কিংবা business-to-business standard AS2, আর তোমার জন্য কেউ এগুলো নতুন করে লিখবে না।
তাই তুমি একটা file transfer server চালাও। মানে একটা EC2 instance বা data centre-এর একটা বাক্স, যেখানে SSH daemon চলছে, প্রতি মাসে patch, ভরে যাওয়া disk, text file-এ রাখা user আর key, নতুন file storage-এ copy করার একটা script, আর একটা single point of failure, যেটা রাতে কাউকে ঘুম থেকে তোলে।
AWS Transfer Family হলো এর managed রূপ: ওই protocol-গুলো দিয়ে Amazon S3 বা Amazon EFS-এ file ঢোকানো আর বের করার জন্য একটা পুরোপুরি managed service। তোমাকে কোনো server বা software সামলাতে হয় না। Slide-এর কথায়: infrastructure managed, scalable, নির্ভরযোগ্য আর highly available (সর্বোচ্চ তিনটা Availability Zone-এ চলে), টাকা দাও provision করা endpoint-এর প্রতি ঘণ্টা আর transfer হওয়া প্রতি gigabyte-এর জন্য, user-দের credential service-এর ভেতরেই রাখা যায়, আর আগে থেকে থাকা authentication system-এর সাথে জুড়ে নেওয়া যায়।
| Protocol | এটা কী | সাধারণত কারা ব্যবহার করে |
|---|---|---|
| SFTP | SSH-এর ওপর দিয়ে file transfer (port 22)। Encrypted, key বা password দিয়ে login | আজকের বেশিরভাগ partner আর script |
| FTPS | পুরোনো FTP, TLS-এ মোড়ানো। Encrypted; server-এ একটা certificate (ACM থেকে) লাগে | পুরোনো Windows tool, কিছু bank |
| FTP | আদি protocol। Encrypted না: password আর data খোলা লেখায় যায় | পুরোনো scanner, embedded device, শুধু private network-এর ভেতরে |
| AS2 | HTTP(S)-এর ওপর business-to-business message, sign আর encrypt করা, সাথে sign করা প্রাপ্তি-রসিদ | Supply chain, retail, payment, ERP আর CRM-এর সাথে যোগাযোগ |
| Web apps | একটা browser page, যেখানে business user-রা S3-এ file upload আর download করে (ডিসেম্বর ২০২৪ থেকে) | যে কর্মীরা SFTP client চালাতে চান না |
Slide-এ সাধারণ ব্যবহারগুলোর তালিকা: file শেয়ার করা, public dataset প্রকাশ করা, আর CRM ও ERP system-এর সাথে data আদান-প্রদান।
#একটা session, ধাপে ধাপে
Transfer Family-র সবকিছু চারটা জিনিসের ওপর দাঁড়িয়ে: একটা server (endpoint, তার protocol আর endpoint type সহ), একটা identity provider (কে login করতে পারবে), একজন user আর তার IAM role (সে কী করতে পারবে), আর একটা home directory (login করে সে কোথায় নামবে)।
- Client server-এর hostname-এ connect করে: হয় AWS-এর নাম
s-1234abcd.server.transfer.ap-southeast-1.amazonaws.com, নয়তো তোমার নিজের নাম, যেমনsftp.bank.example, যেটা Route 53 দিয়ে ওদিকে দেখানো (slide-এ Route 53-কে ঐচ্ছিক বলা আছে)। SFTP server তার host key দিয়ে নিজের পরিচয় প্রমাণ করে; পুরোনো server থেকে সরে এলে তার host key import করে নিতে পারো, তাতে client আগের মতোই একই fingerprint দেখে, কিছুই ভাঙে না। - Server identity provider-কে জিজ্ঞেস করে, username আর key বা password ঠিক আছে কি না।
- উত্তরে থাকে user-এর IAM role, ঐচ্ছিক একটা session policy আর home directory।
- এই session-এর জন্য server role-টা assume করে। প্রতিটা read আর write হয় ওই role-এর permission দিয়ে। Role-টাকে
transfer.amazonaws.com-কে বিশ্বাস (trust) করতে হয়। - Upload সরাসরি S3-এ object হয়ে লেখা হয় (বা EFS-এ file হয়ে)। Client আর storage-এর মাঝখানে কোনো server-এর disk নেই।
- Upload শেষ হলে একটা managed workflow file-টা process করতে পারে, আর S3 event (লেসন ১০.৭) বাকি যেকোনো কাজ শুরু করতে পারে।
পুরো শিকলটা দেখো, আর দেখো তিনভাবে সেটা ভাঙে:
AWS Transfer Family দিয়ে একটা SFTP session
একটা payroll partner একটা bank-এ বেতনের file upload করছে। Login, identity provider-এর উত্তর, IAM role, S3-এ লেখা আর তার পরে চলা workflow ধাপে ধাপে দেখো, তারপর দেখো কোনো একটা অংশ ভুল হলে কী ভাঙে।
পরিস্থিতি
Login, role, home directory, লেখা, workflow: পুরো শিকলটা ঠিকঠাক কাজ করে।
Partner-এর script port 22-এ sftp.bank.example-এ connect করে। Server তার host key দিয়ে নিজের পরিচয় প্রমাণ করে; bank পুরোনো server-এর host key-টাই import করেছিল বলে client আগের মতো একই fingerprint দেখে, কোনো সতর্কবার্তা দেখায় না।
#Endpoint type: কে server পর্যন্ত পৌঁছাতে পারে
Endpoint type ঠিক করে কে server পর্যন্ত পৌঁছাতে পারবে, আর কোন কোন protocol চালু করা যাবে।
| Endpoint type | কোথা থেকে পৌঁছানো যায় | Protocol | Fixed IP আর firewall |
|---|---|---|---|
| Public | Internet | শুধু SFTP | না: AWS-এর address, বদলাতে পারে; কোনো security group নেই |
| VPC, internet-facing | Internet আর তোমার VPC | SFTP, FTPS, AS2 | প্রতি subnet-এ একটা Elastic IP (সর্বোচ্চ তিনটা AZ); security group source address ছাঁকে |
| VPC, internal | শুধু VPC আর তার সাথে জোড়া network (VPN, Direct Connect, peering) | SFTP, FTP, FTPS, AS2 | Private IP; security group |
তিনটা নিয়ম মনে রাখার মতো:
- সাধারণ FTP চালু করা যায় শুধু internal VPC endpoint-এ। FTP password খোলা লেখায় পাঠায়, তাই AWS এটাকে কখনো internet-এর সামনে খোলে না। Slide-ও একইভাবে আঁকে: FTP “only within VPC”।
- যে partner-রা তাদের firewall-এ address allowlist করে, তাদের জন্য লাগবে Elastic IP সহ internet-facing VPC endpoint, যেটা একটা security group দিয়ে আটকেও দেওয়া যায়। Public endpoint এর কোনোটাই পারে না।
- Security group-এ SFTP-র জন্য port 22 লাগে (বেছে নিলে 2222 বা 22000-ও), FTP বা FTPS-এর control channel-এর জন্য 21, আর data channel-এর জন্য 8192–8200। (পুরোনো একটা endpoint type,
VPC_ENDPOINT, এখন আর বানানো যায় না;VPCব্যবহার করো।)
Endpoint কোথায় বসানো, সেটাই ঠিক করে কে পৌঁছাতে পারবে
একটা ওষুধ পরিবেশক কোম্পানি দুটো Transfer Family endpoint চালায়: VPC-র ভেতরে Elastic IP সহ একটা internet-facing endpoint বাইরের supplier-দের জন্য, আর একটা internal endpoint নিজেদের warehouse-গুলোর জন্য, যেগুলো VPN দিয়ে connect করে।
পরিস্থিতি
Elastic IP সহ VPC endpoint: স্থির address, সামনে একটা security group।
Internet-facing endpoint-এর প্রতিটা subnet-এ একটা করে Elastic IP, সর্বোচ্চ তিনটা Availability Zone-এ। Supplier-এর firewall শুধু তালিকায় থাকা address-এ বাইরে যেতে দেয়, আর এই address কখনো বদলায় না।
#Identity provider: কে login করতে পারবে
| Identity provider | User কীভাবে প্রমাণ দেয় | কখন ব্যবহার করবে |
|---|---|---|
| Service managed | User আর তাদের SSH public key Transfer Family-র ভেতরেই রাখা থাকে (SFTP) | কয়েক ডজন partner, key দিয়ে; সবচেয়ে সহজ setup |
| AWS Directory Service | Microsoft Active Directory থেকে username আর password: AWS Managed Microsoft AD, বা তার মাধ্যমে পৌঁছানো তোমার অফিসের AD (Entra ID Domain Services-ও) | নিজেদের কর্মী, যাদের আগে থেকেই domain account আছে; AD group ধরে অনুমতি (default-এ প্রতি server-এ সর্বোচ্চ ১০০টা group) |
| Custom identity provider | Transfer Family তোমার Lambda function-কে call করে (সরাসরি বা API Gateway হয়ে), সেটা যেকোনো জায়গায় user যাচাই করে role, home directory আর policy ফেরত দেয় | LDAP, Okta, Amazon Cognito, Secrets Manager-এ রাখা password, partner-দের একটা database, বা অন্য যেকোনো কিছু |
Slide-এর “Microsoft Active Directory, LDAP, Okta, Amazon Cognito, custom” তালিকাটা এটাই: AD ভেতরেই আছে; বাকিগুলো যায় custom identity provider দিয়ে। Custom provider-এ function যদি ফাঁকা উত্তর দেয়, তার মানে “authenticated না”। আরেকটা কথা, Transfer Family এক বা দুই অক্ষরের username আর root নামটা ঢুকতেই দেয় না, কারণ password scanner-রা অনবরত এগুলোই চেষ্টা করে।
#Home directory, role আর server-এর পেছনের storage
- S3 backend। User-এর IAM role ঠিক করে bucket-এ কোন কাজ চলবে। একটা session policy প্রতিটা user-এর জন্য সেটা আরও সরু করে দেয়, তাই একটাই role অনেক partner-কে সামলাতে পারে। Logical directory user যা দেখে তাকে আসল জায়গার সাথে মিলিয়ে দেয়: partner দেখে
/, যেটা আসলেpayroll-example/inbound/acme/; সে কখনো bucket-এর নাম বা অন্যের folder দেখে না (একে বলে “chroot”)। - EFS backend। অনুমতি নিয়ন্ত্রণ হয় প্রতিটা user-কে দেওয়া POSIX user ID আর group ID দিয়ে, ঠিক একটা Linux server-এর মতো, সাথে role। EFS তখন নাও, যখন file-গুলো এমন application পড়বে যেটা file system mount করে, যেমন EC2-তে চলা কোনো পুরোনো batch job।
- দুই ক্ষেত্রেই পরে file-টা সাধারণ data। S3-এ তুমি তার version রাখতে পারো, replicate করতে পারো, lifecycle দিয়ে Glacier-এ পাঠাতে পারো (লেসন ১০.৫), বা Athena দিয়ে query করতে পারো।
#File পৌঁছানোর পর: workflow, connector, AS2 আর web app
- Managed workflow। Server-এর সাথে জোড়া একটা workflow প্রতিটা upload-এর পরে চলে (চাইলে connection কেটে গিয়ে অর্ধেক upload হলেও)। ধাপগুলো: copy, tag, delete, decrypt (PGP) আর custom (যেকোনো Lambda function: malware scan, যাচাই, database-এ তোলা)। কোনো ধাপ ব্যর্থ হলে বদলে চলে workflow-এর exception handler, যেমন file-টা
quarantine/-এ সরিয়ে কাউকে জানানো। - SFTP connector। Transfer Family S3 থেকে একটা partner-এর বাইরের SFTP server-এ file পাঠাতেও পারে, বা সেখান থেকে file আনতে পারে, তাই বাইরে পাঠানোর জন্যও আলাদা server লাগে না।
- AS2। যে trading partner-রা AS2 চায় তাদের জন্য: message sign আর encrypt করা থাকে, প্রাপক sign করা রসিদ ফেরত পাঠায়, আর file জমা হয় S3-এ।
- Web app। Business user-দের জন্য একটা managed web page, যেখানে তারা S3-এর file দেখতে, upload আর download করতে পারে; sign-in হয় IAM Identity Center দিয়ে, অনুমতি আসে S3 Access Grants থেকে।
#দাম আর availability
| জিনিস (us-east-1) | দাম |
|---|---|
| Server-এ চালু থাকা প্রতিটা protocol | ঘণ্টায় $0.30 (একই server-এ SFTP আর FTPS মানে দুটো charge) |
| SFTP, FTPS, FTP দিয়ে upload বা download হওয়া data | প্রতি GB $0.04 |
| AS2 message | প্রতি message $0.01 থেকে শুরু |
| Workflow-এর PGP decryption | প্রতি GB $0.10 |
| Web app | প্রতি unit-hour $0.50 |
হিসাবটা করে দেখি: ওপরের পরিবেশকের একটা server-এ SFTP আর FTPS: ২ × $0.30 × ৭২০ ঘণ্টা = মাসে $432, কেউ connect না করলেও, সাথে মাসে ৫০০ GB × $0.04 = $20। খরচের বড় অংশ endpoint-hour: test server মুছে ফেলো, অব্যবহৃত protocol বন্ধ রাখো। তিনটা পর্যন্ত AZ বাছতে বাড়তি টাকা লাগে না, আর S3, EFS, Lambda, CloudWatch-এর বিল আলাদা আসে, যেমন আসে।
#AWS DataSync
#DataSync কীসের জন্য
AWS DataSync network দিয়ে বিশাল পরিমাণ data সরায়, দ্রুত আর নিরাপদে, একবার বা নির্দিষ্ট সময় ধরে: অফিস (বা অন্য cloud) থেকে AWS-এ, AWS থেকে বাইরে, কিংবা AWS-এর এক storage service থেকে আরেকটায়, যেমন EFS থেকে S3-এ। Note-এ এর তিনটা বৈশিষ্ট্য বলা আছে: অফিসে একটা agent বসাতে হয়, data পাঠাতে সে নিজের দ্রুত protocol ব্যবহার করে, আর তাকে schedule করে দেওয়া যায় (যেমন প্রতি রাত ১২টায়)।
AWS storage-এর মালপত্র সরানোর কোম্পানি এটা: গুছিয়ে নেয়, সরায়, মিলিয়ে দেখে, তারপর চলে যায়। তোমার application যেখানে পড়ে বা লেখে, সেই জায়গা সে কখনো হয়ে ওঠে না।
#গঠনের অংশগুলো
| অংশ | এটা কী |
|---|---|
| Agent | একটা virtual machine, যেটা source storage-এর কাছেই বসাও: VMware, Microsoft Hyper-V বা Linux KVM-এ, কিংবা একটা EC2 instance (যেমন অন্য cloud-এর storage পড়তে)। সে NFS, SMB বা HDFS দিয়ে storage mount করে, বা তার object API call করে। এটা file server-এর ওপর install করা কোনো software না। |
| Location | Transfer-এর এক মাথা: একটা NFS বা SMB share, একটা HDFS cluster, একটা object store, Azure Blob, একটা S3 bucket (আর prefix), একটা EFS file system, একটা FSx file system। |
| Task | Source location + destination location + option (কী copy হবে, কীভাবে যাচাই হবে, bandwidth, schedule)। Default-এ প্রতি account আর Region-এ সর্বোচ্চ ১০০টা task। |
| Task execution | একটা task-এর একবার চলা, তার নিজের অবস্থা, counter আর report সহ। |
Data কোথায় যেতে পারে, slide-এর তালিকাটা একটু গুছিয়ে:
- Agent লাগে: অফিসের বা অন্য cloud-এর storage (NFS, SMB, HDFS, S3 API বোঝে এমন নিজের object storage, Google Cloud Storage, Azure Files) থেকে AWS-এ বা উল্টো দিকে।
- Agent লাগে না: AWS-এর storage service-গুলোর মধ্যে (S3, EFS, FSx), আলাদা account আর Region হলেও, আর Enhanced mode-এ S3 ও অন্য cloud-এর object storage-এর মধ্যে।
- AWS-এ destination: S3-এর যেকোনো storage class, Glacier Instant Retrieval, Flexible Retrieval আর Deep Archive সহ; EFS; FSx for Windows File Server, Lustre, NetApp ONTAP আর OpenZFS।
Activation আর network। তুমি agent বসাও, browser থেকে একবার তার port 80-তে গিয়ে একটা activation key নাও (বা local console থেকে নাও), তারপর নিজের Region-এ activate করো। এরপর agent শুধু বাইরের দিকে HTTPS (port 443) connection খোলে, তাই ভেতরে ঢোকার কোনো firewall rule লাগে না। তার service endpoint হতে পারে public, FIPS, বা একটা VPC endpoint (AWS PrivateLink), যেটা transfer-কে তোমার VPN বা Direct Connect-এর ওপর রাখে, internet ছুঁতে দেয় না (লেসন ১০.১০)। পথে data encrypt হয় TLS 1.3 দিয়ে।
#একটা run-এ কী হয়
একটা task execution এই অবস্থাগুলো পার হয়:
| অবস্থা | কী হয় |
|---|---|
| Queued | একই task-এর আরেকটা execution চলছে; ৫০টা পর্যন্ত লাইনে অপেক্ষা করতে পারে |
| Launching | DataSync agent-এর ওপর transfer শুরু করে |
| Preparing | Source আর destination দুটোর তালিকা করে মিলিয়ে দেখে, কী কী copy করতে হবে |
| Transferring | একসাথে অনেক কিছু পড়ে, পথে compress করে, TLS দিয়ে পাঠায়, metadata সহ লেখে |
| Verifying | যা পড়েছিল আর যা লিখেছে, দুটোর checksum মেলায় |
| Success / Error | শেষ। একটা report আর CloudWatch log বলে দেয় কী copy হলো, কী বাদ গেল, কী ব্যর্থ হলো |
প্রথম run সবকিছু copy করে; পরের প্রতিটা run copy করে শুধু যা নতুন বা বদলেছে (এটাই default, মানে incremental)। তাই একটা migration দেখতে এরকম: একটা বড় run, তারপর রাতের run-গুলো ছোট হতে হতে কয়েক মিনিটে নামে, তারপর cut-over-এর দিনে অল্প সময় লেখা বন্ধ রেখে শেষ একটা run।
একটা DataSync task: Windows file server যাচ্ছে FSx-এ
গাজীপুরের একটা garments group পুরোনো একটা Windows file server থেকে ৩০ TB department share সরাচ্ছে FSx for Windows File Server-এ। একটা DataSync agent, একটা task, অনেকবার চালানো।
পরিস্থিতি
Launching, preparing, transferring, verifying: প্রথম run-এ সবকিছু যায়।
Task execution
| Phase | অবস্থা |
|---|---|
| Launching | ▶ |
| Preparing | |
| Transferring | |
| Verifying |
Task চালু হলো। DataSync agent-এর ওপর সেটা launch করে, আর agent একটা service account দিয়ে SMB-তে share-টা mount করে। File server-এ নিজে কিছুই install করতে হয় না।
#যে task option-গুলো গুরুত্বপূর্ণ
- কী copy হবে। Transfer mode: শুধু যা বদলেছে (default), বা সবকিছু। Include আর exclude filter (যেমন
*.tmpবাদ), অথবা একটা manifest: copy করার file-গুলোর হুবহু তালিকা। - মুছে ফেলা file। Default-এ source-এ মুছে ফেলা file destination-এ রয়ে যায়। হুবহু আয়না (mirror) চাইলে option বদলে মুছে ফেলতে বলো। যেসব S3 class-এর ন্যূনতম রাখার মেয়াদ আছে (Standard-IA, Glacier), সেখানে overwrite আর delete-এ আগেভাগে মোছার charge লাগতে পারে, তাই অনবরত বদলাতে থাকা folder সরাসরি Glacier-এ sync করার আগে ভেবে নাও।
- Metadata। POSIX মালিকানা, permission আর timestamp (NFS), NTFS ACL আর মালিক (SMB, FSx for Windows), আর object storage-এর tag ও metadata অটুট রাখে। Slide-এর “file permission আর metadata রক্ষা হয়” কথাটা এটাই।
- যাচাই। শুধু যা transfer হলো তা যাচাই করো, বা পুরো destination, বা বাদ দাও। Destination archive class হলে “শুধু transfer হওয়া data” বেছে নাও।
- Bandwidth। Agent সহ একটা task সর্বোচ্চ ১০ Gbps নিতে পারে (agent ছাড়া transfer-এ ৫ Gbps)। একটা bandwidth limit বসানো যায়, আর execution চলার সময়ও সেটা বদলানো যায়।
- Schedule। প্রতি ঘণ্টা, প্রতিদিন, প্রতি সপ্তাহ, বা একটা cron বা rate expression (ঘণ্টায় একবারের বেশি না), আর schedule চাইলে থামিয়ে রাখা যায়।
- Report আর log। Task report প্রতিটা file-এর হিসাব দেয়: transfer হলো, বাদ গেল, যাচাই হলো, নাকি ব্যর্থ; CloudWatch Logs আর EventBridge event দিয়ে ব্যর্থতায় alarm বসানো যায়।
#Basic mode আর Enhanced mode
২০২৪-এর শেষ থেকে প্রতিটা task-এর একটা task mode থাকে, task বানানোর সময় বেছে নিতে হয়:
| Basic mode | Enhanced mode | |
|---|---|---|
| কীভাবে কাজ করে | Prepare, transfer আর verify করে একটার পর একটা | List, prepare, transfer আর verify করে একসাথে: বেশিরভাগ কাজে দ্রুত |
| প্রতি execution-এ file | ৫ কোটি (অফিস বা অন্য cloud থেকে AWS-এ), AWS service-এর মধ্যে আড়াই কোটি; বড় dataset filter দিয়ে ভাগ করো | কার্যত সীমাহীন |
| Location | DataSync-এর সব location, FSx for Windows আর ONTAP সহ | S3, EFS, FSx for Lustre আর OpenZFS, Enhanced mode agent দিয়ে NFS, SMB আর HDFS, Azure Blob আর অন্য cloud-এর object storage (তালিকা বাড়ছেই) |
| Log | এলোমেলো লেখা | গোছানো JSON, বেশি counter |
| দাম | copy হওয়া প্রতি GB $0.0125 | প্রতি GB $0.015, সাথে প্রতি task execution-এ $0.55 |
Agent-এর নিজের কোনো দাম নেই। S3-এর request আর storage-এর সাধারণ charge, আর source থেকে বাইরে যাওয়া data-র খরচ (যেমন অন্য cloud থেকে) তবুও লাগে।
#কত সময়, কত টাকা?
লেসন ১০.১১-এর সেই একই সূত্র: সময় = bit-এ data ÷ ব্যবহারযোগ্য গতি, যেখানে ১ TB = ৮,০০০ gigabit।
হিসাব করে দেখি, garments group-এর ক্ষেত্রে: ৩০ TB = ২,৪০,০০০ Gb। অফিসের ১০ ঘণ্টায় ৩০০ Mbps আর রাতের ১৪ ঘণ্টায় ৮০০ Mbps (১ Gbps-এর ৮০%) ধরলে দিনে যায় ০.৩ × ৩৬,০০০ + ০.৮ × ৫০,৪০০ = ৫১,১২০ Gb, মোটামুটি ৬.৪ TB। তাই প্রথম copy-তে লাগে প্রায় ৪.৭ দিন। রাতের ২০ GB পরিবর্তন = ১৬০ Gb, ০.৮ Gbps-এ লাগে ২০০ সেকেন্ড। Basic mode-এ খরচ: (৩০,০০০ + ৩০ × ২০) GB × $0.0125 = প্রথম মাসে $382.50।
নিজের সংখ্যা দিয়ে চেষ্টা করো। প্রথম copy এক সপ্তাহ বা এক মাস পেরিয়ে গেলে রায়ও বদলে যায়:
DataSync job-এর পরিকল্পনা
Input বদলাও, আর দেখো প্রথম পুরো copy, প্রতি রাতের run আর বিল কেমন বদলায়। অফিস সময় দিনে ১০ ঘণ্টা; বাকি ১৪ ঘণ্টা চলে পুরো ব্যবহারযোগ্য গতিতে।
AWS পর্যন্ত line
প্রথম পুরো copy
4.90দিন
প্রতি রাতের run
0.06ঘণ্টা
দিনে যতটা যায়: 6,120 GB
প্রথম মাসের DataSync fee
Basic mode$383
Enhanced mode$476
Basic: প্রতি GB $0.0125; Enhanced: প্রতি GB $0.015, সাথে প্রতিটা execution-এ $0.55 (একটা পুরো run আর ৩০টা রাতের run)। S3 request, storage আর source থেকে বাইরে যাওয়া data-র খরচ আলাদা।
Network-ই যথেষ্ট: প্রথম copy এক সপ্তাহের মধ্যে শেষ, তাই শুধু DataSync দিয়েই কাজ হয়ে যাবে।
#DataSync আর Snow Family, আগে আর এখন
লেসন ১২.১-এর Snow device-এর সাথে DataSync-এর দুটো যোগসূত্র এখন ইতিহাস: Snowcone-এ DataSync agent আগে থেকেই install করা থাকত, আর DataSync একটা Snowball Edge-এর S3-compatible storage থেকে copy করতে পারত। ১২ নভেম্বর ২০২৪ থেকে DataSync আর Snow device সমর্থন করে না, যেদিন Snowcone বন্ধ হলো। আজকের ধরনটা সোজা: বড় চালানটা Snowball Edge-এ (যেখানে এখনো order করা যায়), পরের পরিবর্তনগুলো network দিয়ে DataSync-এ। ২০২৫-এর আরেকটা অবসর: DataSync Discovery, যেটা অফিসের storage বিশ্লেষণ করে AWS-এ কোথায় যাবে তার পরামর্শ দিত, ২০ মে ২০২৫-এ বন্ধ হয়ে গেছে।
#DataSync নাকি Storage Gateway?
Note এক বাক্যে সীমারেখাটা টেনেছে: Storage Gateway হলো একটা চলমান storage-এর সম্প্রসারণ, যেটা তোমার local storage-এর অংশ হিসেবে কাজ করে; DataSync হলো data এক জায়গা থেকে আরেক জায়গায় copy করার বা স্থায়ীভাবে migrate করার tool।
DataSync: copy করো, তারপর সরে যাওStorage Gateway: একটা স্থায়ী সেতু
- A থেকে B-তে data সরায়, একবার বা নির্দিষ্ট সময় ধরে; তারপর আর জড়িত থাকে না
- Cut-over-এর পর application নতুন জায়গায় চলে যায়
- Source আর destination দুটোই AWS-এ হতে পারে (EFS → S3), বা অন্য cloud-এ
- S3-এর যেকোনো class-এ লেখে, Glacier সহ, আর EFS ও FSx-এ
- যাচাই, report, bandwidth limit, schedule
- কোনো local cache নেই; mount করার কিছু নেই
- পরীক্ষার শব্দ: migrate, sync, scheduled, agent, one-time, decommission
- চিরকালের জন্য data-র পথে বসে থাকে: application প্রতিদিন এর ভেতর দিয়েই পড়ে আর লেখে
- অফিসের ভেতরে দেয় NFS বা SMB (File Gateway), iSCSI volume (Volume Gateway) বা একটা tape library (Tape Gateway)
- শুধু অফিস ↔ AWS
- সাম্প্রতিক data দ্রুত পেতে local cache
- File Gateway লেখে Standard, IA বা Intelligent-Tiering-এ; lifecycle rule data-কে Glacier-এ সরায়
- এর ভালো থাকা মানেই তোমার application-এর ভালো থাকা
- পরীক্ষার শব্দ: hybrid, on-premises access, low latency, local cache, extend storage, tapes
এরা প্রায়ই একসাথে কাজ করে: DataSync দশ বছরের ইতিহাস একটা bucket-এ তোলে, তারপর যে application-গুলো নতুন file বানিয়েই চলেছে, সেগুলোকে একই bucket-এর একটা File Gateway share-এর দিকে দেখিয়ে দেওয়া হয়। DataSync যেহেতু gateway-কে না জানিয়ে লেখে, তাই gateway-এর cache refresh করো, যাতে share নতুন object-গুলো দেখায় (লেসন ১২.৩)।
DataSync copy করে চলে যায়; Storage Gateway পথেই থেকে যায়
ঢাকার একটা হাসপাতালের আছে দশ বছরের scan ভরা একটা পুরোনো NAS, আর একটা PACS application, যেটা প্রতি মিনিটে নতুন scan লেখে। কোন tool কোন কাজ করে, দেখো।
পরিস্থিতি
মালপত্র সরানোর কোম্পানি: archive সরিয়ে দেয়, cut-over-এর পর আর থাকে না।
Agent NAS থেকে দশ বছরের scan পড়ে S3-এ copy করে, যাচাই সহ। PACS এতে জড়িত না, সে জানেই না।
নিজেকে যাচাই করোপ্রশ্ন
একটা হাসপাতালের imaging software-কে অফিসের একটা NFS share-এই লিখে যেতে হবে, প্রতিটা file S3-এ টেকসইভাবে রাখতে হবে, আর বন্ধ হতে যাওয়া একটা NAS থেকে ১৮০ TB পুরোনো ছবিও সরাতে হবে। কোন জোড়াটা সবচেয়ে মানানসই?
#Transfer service বেছে নেওয়া
পাঁচটা transfer service (আর তাদের নিচের network line) আলাদা আলাদা প্রশ্নের উত্তর দেয়। প্রশ্নগুলো এই ক্রমে করো:
- অফিসের application কি প্রতিদিন এই data ব্যবহার করে যাবে? হ্যাঁ → Storage Gateway (NFS/SMB-এর জন্য File, iSCSI disk-এর জন্য Volume, backup software-এর জন্য Tape)। পথে থেকে যায় শুধু এটাই।
- Data কে পাঠায়? SFTP, FTPS, FTP বা AS2 ব্যবহার করা বাইরের কোম্পানি বা মানুষ → Transfer Family। Bucket থেকে দূরের আলাদা আলাদা user, HTTPS-এ upload করছে → S3 Transfer Acceleration।
- নিজেদের server বা storage, আর network যথেষ্ট? Copy, migrate বা sync, schedule আর যাচাই সহ → DataSync।
- Network-এ সপ্তাহ বা মাস লেগে যাবে? → Snowball Edge (offline), তারপর পরিবর্তনের জন্য DataSync। যেখানে Snow device তোমার নাগালে নেই: বড় বা সাময়িক Direct Connect line, AWS Data Transfer Terminal (নিজের drive নিয়ে AWS-এর একটা জায়গায় যাও), বা কোনো partner service।
| DataSync | Storage Gateway | Snowball Edge | Transfer Family | S3 Transfer Acceleration | |
|---|---|---|---|---|---|
| এক লাইনে | Network দিয়ে managed copy আর sync | Cloud storage-এর অফিস-ভেতরের মুখ | Courier-এ পাঠানো storage device | Managed SFTP / FTPS / FTP / AS2 endpoint | একটা bucket-এ দূর থেকে ঢোকার দ্রুত পথ |
| কে ব্যবহার করে | তোমার IT team, নিজের storage-এর জন্য | তোমার application, প্রতিদিন | তোমার IT team, একটা বড় চালানের জন্য | Partner, customer, device | Region থেকে দূরের user আর app |
| পথে থেকে যায় | না | হ্যাঁ | না | হ্যাঁ, endpoint হিসেবে | হ্যাঁ, প্রতি request-এ |
| Online | হ্যাঁ | হ্যাঁ | না | হ্যাঁ | হ্যাঁ |
| গন্তব্য | S3 (সব class), EFS, FSx, অন্য cloud | S3 (আর পুরোনো customer-দের জন্য FSx File Gateway) | S3 | S3, EFS | S3 |
| দামের ধরন | প্রতি GB (Enhanced-এ সাথে প্রতি execution) | লেখা প্রতি GB, ঊর্ধ্বসীমা সহ, + storage | প্রতি job + দিন + shipping | প্রতি protocol-hour + প্রতি GB | প্রতি GB বাড়তি, শুধু দ্রুত হলে |
| পরীক্ষার শব্দ | migrate, sync, schedule, agent | hybrid, cache, NFS/SMB/iSCSI, tapes | network-এ সপ্তাহ, offline, petabyte | SFTP, FTP, FTPS, AS2, no servers | দূরের user, edge, একটা bucket |
দুটো প্রতিবেশী, যারা storage service না কিন্তু একই প্রশ্নে হাজির হয়: Site-to-Site VPN আর Direct Connect (লেসন ১০.১০) হলো রাস্তা, ট্রাক না: DataSync আর Storage Gateway এদের ওপর দিয়েই চলে। AWS DMS database সরায়, আর AWS Application Migration Service পুরো server সরায় (দুটোই অধ্যায় ২৩-এ, বিশাল পরিমাণ ডেটা সরানো আর তার পাশের লেসনগুলোতে)।
নিজেকে যাচাই করোপ্রশ্ন
একটা logistics কোম্পানি ২০০টা ছোট পরিবহন প্রতিষ্ঠানের কাছ থেকে চালানের file পায়। প্রত্যেকের নিজস্ব পুরোনো desktop tool, যেটা internet-এ শুধু FTPS বোঝে। কোম্পানি file-গুলো S3-এ চায়, আর কোনো server চালাতে চায় না। কী ব্যবহার করবে?
#পুরো storage-এর ম্যাপ
#তিন রকম storage, সাথে data সরানোর service
এই course-এর প্রতিটা storage service তিন রকমের একটা (লেসন ৫.৪-এ পরিচয় হয়েছিল):
- Block storage হলো কাঁচা একটা disk। একটা operating system সেটাকে file system দিয়ে format করে নিজের করে নেয়: EBS, instance store, আর Volume Gateway ও FSx for NetApp ONTAP-এর iSCSI volume।
- File storage হলো folder-এর একটা শেয়ার করা গাছ, network protocol দিয়ে পৌঁছাতে হয় (NFS, SMB, Lustre): EFS আর চারটা FSx file system।
- Object storage হলো পুরো object-এর একটা সমতল bucket, HTTPS API দিয়ে পৌঁছাতে হয়: S3 আর তার Glacier class।
এদের চারপাশে আছে hybrid আর transfer service, যেগুলো তোমার অফিসকে AWS-এর সাথে জোড়ে: Storage Gateway, Transfer Family, DataSync আর Snowball। আর data যখন field ধরে খুঁজতে, index করতে আর update করতে হয়, তখন উত্তর storage-ই না, একটা database।
#সবকিছু একটা টেবিলে
Note-এর তুলনার টেবিল আর slide-এর storage-সারাংশ, অধ্যায় ৫, ১০ আর ১২-এ যা শিখেছি সব দিয়ে পূর্ণ করা:
| Service | ধরন | কে বা কোন protocol-এ পৌঁছায় | পরিসর | সবচেয়ে ভালো | পরীক্ষার শব্দ |
|---|---|---|---|---|---|
| S3 | Object | HTTPS API, যেকোনো জায়গা থেকে | Region (৩+ AZ) | ছবি, video, static website, backup, data lake | file, ছবি, backup সস্তায় রাখা; সীমাহীন; 11 nines টেকসইতা |
| S3 Glacier class | Object archive | একই S3 API; Flexible আর Deep Archive-এ restore লাগে | Region | Archive: Instant (ms), Flexible (মিনিট থেকে ঘণ্টা), Deep Archive (১২–৪৮ ঘণ্টা, সবচেয়ে সস্তা) | archive, compliance, কদাচিৎ পড়া, বছরের পর বছর |
| EBS | Block, network দিয়ে লাগানো | একটা EC2 instance (io1/io2 Multi-Attach: এক AZ-এ ১৬টা পর্যন্ত) | একটা AZ | Boot volume, নিজে চালানো database | স্থায়ী disk, IOPS, snapshot |
| Instance store | Block, শারীরিক | Instance যে host-এ চলে, শুধু সেটা | ওই host | Cache, buffer, scratch, replicate করা data | সর্বোচ্চ IOPS, ক্ষণস্থায়ী, stop করলে হারায় |
| EFS | File (NFS) | হাজারো Linux client, POSIX | Region (বা One Zone) | শেয়ার করা Linux file, WordPress, container | shared, Linux, multi-AZ, elastic |
| FSx for Windows File Server | File (SMB) | Windows (আর Linux) client, NTFS, Active Directory | Single- বা Multi-AZ | Windows share, IIS, SQL Server, home folder | Windows, SMB, AD, DFS |
| FSx for Lustre | File (Lustre) | শত শত Linux compute node | একটা AZ | HPC, ML training, rendering, S3-এর data process করা | HPC, বিশাল throughput, S3-এর সাথে যুক্ত |
| FSx for NetApp ONTAP | File আর block | একসাথে NFS, SMB আর iSCSI; Linux, Windows, macOS | Single- বা Multi-AZ | NetApp বা মিশ্র-protocol NAS সরানো, snapshot, clone | NetApp, multi-protocol, সবচেয়ে বেশি OS-এর সাথে মানানসই |
| FSx for OpenZFS | File (NFS) | Linux আর অন্য NFS client | Single- বা Multi-AZ | ZFS server সরানো, খুব কম latency, clone | ZFS, NFS, snapshot, কম latency |
| Storage Gateway | Hybrid সেতু | অফিসে NFS/SMB (S3 File), iSCSI (Volume cached বা stored), virtual tape (Tape) | তোমার অফিস + একটা Region | যে অফিস-application S3-এর একটা local মুখ রেখে চলে | hybrid, cache, storage বাড়ানো, tape |
| Transfer Family | Managed endpoint | SFTP, FTPS, FTP, AS2, browser | Region (৩টা পর্যন্ত AZ) | S3 বা EFS-এ partner আর business-to-business file আদান-প্রদান | SFTP, FTP, no servers |
| DataSync | Copy service | Agent NFS, SMB, HDFS, object storage পড়ে; AWS থেকে AWS agent ছাড়া | Region | Migration, নির্দিষ্ট সময়ে sync, AWS-এর ভেতরে copy | migrate, sync, schedule, agent |
| Snowball Edge | Offline device | NFS বা S3-compatible endpoint দিয়ে local copy | তোমার অফিস → একটা Region | Network খুব ধীর হলে terabyte থেকে petabyte; edge compute | offline, network-এ সপ্তাহ, petabyte |
| Database | Storage না | SQL বা key দিয়ে খোঁজা | নির্ভর করে | Index করা query আর transaction | query, index, transaction |
Database-এর জন্য course-এ আলাদা অধ্যায় আছে: অধ্যায় ৭-এ RDS আর Aurora, অধ্যায় ১৫-তে DynamoDB, আর অধ্যায় ১৬-তে database কীভাবে বাছবে। Slide-ও storage-সারাংশ একইভাবে শেষ করে: database নির্দিষ্ট ধরনের কাজের জন্য, সাধারণত index আর query সহ।
নিজের scenario প্রশ্নগুলোর ভেতর দিয়ে হাঁটিয়ে দেখো:
Storage-এর ম্যাপ: কোন service মানায়?
একটা scenario বেছে নাও, আর course-এর সবগুলো storage আর transfer service থেকে আন্দাজ করো। তারপর যে প্রশ্নগুলো উত্তরে নিয়ে যায় সেগুলো ধাপে ধাপে দেখো, আর পড়ো দ্বিতীয় সেরাটা কেন হারল।
১. একটা scenario বেছে নাও(প্রথমবারেই ঠিক: 0/16)
ঢাকার একটা হাসপাতালকে আইন অনুযায়ী ৪০০ TB পুরোনো scan দশ বছর রাখতে হবে। এগুলো প্রায় কখনোই খোলা হয় না, আর আদালত কোনোটা চাইলে দুই দিন অপেক্ষা চলে।
২. তোমার উত্তর
#যা ভুল হয়
| লক্ষণ | সম্ভাব্য কারণ | সমাধান |
|---|---|---|
| Server নতুন করে বানানোর পর partner পায় “Permission denied (publickey)” | নতুন SSH key নিবন্ধিত হয়নি | নতুন public key user-এ যোগ করো (service managed) বা তোমার identity store-এ |
| Login হয়, upload-এ access denied | User-এর IAM role বা session policy-তে ওই prefix-এ s3:PutObject নেই | Role policy ঠিক করো; aws transfer test-identity-provider দিয়ে পরীক্ষা করো |
| Transfer Family-তে সরার পর client সতর্ক করে “host key changed” | Server নতুন host key বানিয়েছে | পুরোনো server-এর host key Transfer Family server-এ import করো |
| Server-এ FTPS বা FTP চালু করা যায় না | Public endpoint type (শুধু SFTP); FTP-র জন্য internal VPC endpoint লাগে | VPC endpoint-এ বদলাও (FTPS-এর জন্য internet-facing, FTP-র জন্য internal) |
| FTPS connect হয়, কিন্তু directory listing আটকে থাকে | Security group বা firewall-এ passive data port 8192–8200 খোলা নেই | 21-এর সাথে 8192–8200-ও খোলো |
| প্রায় কোনো file না আসা মাসেও Transfer Family-র বিল বেশি | চালু থাকা প্রতিটা protocol-এ ঘণ্টায় $0.30, কাজ থাকুক বা না থাকুক | Test server মোছো, অব্যবহৃত protocol বন্ধ করো, একটা server ভাগ করে নাও |
| একটা DataSync agent দেখায় Offline | Agent port 443-এ AWS-এ পৌঁছাতে পারছে না (firewall, proxy, DNS), বা তার VM বন্ধ | বাইরের দিকে 443 আবার খোলো (VPC endpoint থাকলে তার port-ও); ব্যর্থ execution-এ alarm বসাও |
| বিশাল একটা file share-এ task Preparing-এ ব্যর্থ | Basic mode-এর প্রতি execution-এ ৫ কোটি file-এর সীমা | Include filter দিয়ে কয়েকটা task-এ ভাগ করো, বা যেখানে চলে সেখানে Enhanced mode |
| Migration-এর সময় অফিসের network হামাগুড়ি দেয় | Task পুরো line দখল করেছে (১০ Gbps পর্যন্ত) | অফিস সময়ের জন্য bandwidth limit বসাও; রাতে পুরো গতিতে চালাও |
| Source-এ মোছা file destination-এ এখনো আছে | Default-এ মোছা file রেখে দেওয়া হয় | হুবহু আয়না চাইলে task-কে মোছা file সরাতে বলো |
| যাচাইয়ে অমিল ধরা পড়ে | Copy হওয়ার সময়ই file বদলাচ্ছিল | User-রা লেখা থামালে আবার চালাও; শেষ run-এর আগে লেখা বন্ধ রাখো |
| Standard-IA বা Glacier-এ sync করার পর অপ্রত্যাশিত S3 খরচ | ন্যূনতম রাখার মেয়াদের ভেতরে overwrite আর delete | Standard-এ sync করে lifecycle rule দিয়ে archive করো, বা কম ঘন ঘন sync করো |
| DataSync-এর copy করা file একটা File Gateway share-এ দেখা যায় না | Gateway-কে না জানিয়ে লেখা object-এর খবর তার cache জানে না | Cache refresh করো (হাতে, schedule করে, বা নিজে নিজে) |
| “আমাদের ২০০ Mbps line দিয়ে DataSync-এ ২ PB copy করো” | কোনো tool line-কে হারাতে পারে না: প্রায় তিন বছর | Offline transfer বা অনেক বড় line; পরের পরিবর্তনের জন্য DataSync |
#System design-এ Transfer Family আর DataSync
- Partner-দের data ঢোকানোর pipeline। Transfer Family (internet-facing VPC endpoint, Elastic IP, custom identity provider) → partner-প্রতি একটা prefix সহ S3 → managed workflow (decrypt, scan, tag) → EventBridge বা S3 event processing শুরু করে (লেসন ১০.৭) → lifecycle দিয়ে Glacier। Partner-দের কিছুই বদলাতে হয় না; তোমাকে কোনো server চালাতে হয় না।
- High availability। একটা Transfer Family server এমনিতেই তিনটা AZ পর্যন্ত ছড়ানো। Region-বদলের জন্য আরেকটা Region-এ replicate করা bucket সহ দ্বিতীয় একটা server চালাও, আর Route 53 health check দিয়ে বদলাও। Transfer Family-র সামনে Global Accelerator দূরের throughput বাড়াতে পারে (অধ্যায় ১১)।
- Private file আদান-প্রদান। নিজেদের শাখার জন্য Direct Connect বা VPN দিয়ে পৌঁছানো internal VPC endpoint, পুরোনো FTP device সহ।
- ধাপে ধাপে migration। খোঁজখবর আর পরিকল্পনা, তারপর বড় অংশের জন্য DataSync (network-এ সপ্তাহ লাগলে Snowball Edge), রাতের incremental run, লেখা বন্ধ, শেষ run আর যাচাইয়ের report, তারপর cut-over আর পুরোনোটা বন্ধ। DataSync-এর জন্য VPC endpoint ব্যবহার করো, যাতে copy কখনো internet না পেরোয়।
- AWS service-এর মধ্যে copy। Agent ছাড়া DataSync: সস্তা দ্বিতীয় copy-র জন্য EFS → S3, file চায় এমন application-এর জন্য S3 → EFS, আরেক Region-এ FSx → FSx, বা আরেক account-এ।
- চিরকালের hybrid। Application যখন অফিসেই থাকে, তখন Storage Gateway, DataSync না; প্রথম বড় copy-টা তবুও DataSync করতে পারে।
- Storage সবার শেষে বাছো। আগে ঠিক করো data-তে কীভাবে পৌঁছানো হবে (block, file, object, query), কে পৌঁছাবে (একটা host, অনেকগুলো, পুরো internet), কোন protocol-এ, আর কতদিনের জন্য। তারপর ওপরের টেবিলই একটা উত্তর দিয়ে দেয়।
#নিজে করে দেখো
Transfer Family: VPC-র ভেতরে একটা internet-facing SFTP server, logical home directory সহ একজন service-managed user, তারপর একটা upload।
# 1. Create the server: SFTP on a VPC endpoint, CloudWatch logging
aws transfer create-server --protocols SFTP --identity-provider-type SERVICE_MANAGED \
--endpoint-type VPC \
--endpoint-details VpcId=vpc-0a1b2c3d4example,SubnetIds=subnet-0aa11example,SecurityGroupIds=sg-0cc33example \
--logging-role arn:aws:iam::111122223333:role/AWSTransferLoggingAccess
# { "ServerId": "s-01234567890abcdef" }
# Make it internet-facing: Elastic IPs are attached with update-server, while it is stopped
aws transfer stop-server --server-id s-01234567890abcdef
aws transfer update-server --server-id s-01234567890abcdef \
--endpoint-details VpcId=vpc-0a1b2c3d4example,SubnetIds=subnet-0aa11example,AddressAllocationIds=eipalloc-0bb22example
aws transfer start-server --server-id s-01234567890abcdef
# 2. Add a partner: role, logical home directory (chroot to their prefix), SSH public key
aws transfer create-user --server-id s-01234567890abcdef --user-name acme \
--role arn:aws:iam::111122223333:role/TransferPartnerS3 \
--home-directory-type LOGICAL \
--home-directory-mappings '[{"Entry":"/","Target":"/payroll-example/inbound/acme"}]' \
--ssh-public-key-body "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIExampleKey acme@example.com"
# 3. Check that the identity setup returns what you expect
aws transfer test-identity-provider --server-id s-01234567890abcdef --user-name acme \
--server-protocol SFTP --source-ip 203.0.113.10
# { "StatusCode": 200, "Message": "", "Url": "..." }
# 4. As the partner: connect and upload, then see the object
sftp -i acme_key acme@198.51.100.20
# sftp> put salary-oct.csv
aws s3 ls s3://payroll-example/inbound/acme/
# 2026-10-26 09:14:02 184213 salary-oct.csv
DataSync: একটা agent, একটা SMB source, একটা FSx for Windows destination, bandwidth limit সহ রাতের একটা task, একবার চালানো।
# 1. Activate the agent VM (activation key from the agent's local console)
aws datasync create-agent --agent-name head-office-agent --activation-key ABCDE-12345-FGHIJ-67890-KLMNO
# { "AgentArn": "arn:aws:datasync:ap-south-1:111122223333:agent/agent-0b0addbeef44baca3" }
# 2. Source: the old Windows file server over SMB
aws datasync create-location-smb --server-hostname 10.20.1.40 --subdirectory /shares \
--user svc-datasync --domain CORP --password '<from your vault>' \
--agent-arns arn:aws:datasync:ap-south-1:111122223333:agent/agent-0b0addbeef44baca3
# 3. Destination: FSx for Windows File Server
aws datasync create-location-fsx-windows \
--fsx-filesystem-arn arn:aws:fsx:ap-south-1:111122223333:file-system/fs-0123456789example \
--security-group-arns arn:aws:ec2:ap-south-1:111122223333:security-group/sg-0dd44example \
--user svc-datasync --domain CORP --password '<from your vault>'
# 4. The task: changed files only, copy NTFS permissions, verify, 300 Mbps cap, every night at 1 AM
aws datasync create-task --name shares-to-fsx --task-mode BASIC \
--source-location-arn <smb-location-arn> --destination-location-arn <fsx-location-arn> \
--options TransferMode=CHANGED,VerifyMode=ONLY_FILES_TRANSFERRED,SecurityDescriptorCopyFlags=OWNER_DACL,BytesPerSecond=37500000,LogLevel=TRANSFER \
--schedule ScheduleExpression="cron(0 1 * * ? *)"
# 5. Run it now and watch the phases
aws datasync start-task-execution --task-arn <task-arn>
aws datasync describe-task-execution --task-execution-arn <execution-arn>
# "Status": "TRANSFERRING", "FilesTransferred": 1204533, "BytesTransferred": 8812004376011,
# "BytesCompressed": 7105227001338, "EstimatedFilesToTransfer": 4100000
# 6. Lift the cap for the night without stopping the execution
aws datasync update-task-execution --task-execution-arn <execution-arn> --options BytesPerSecond=-1
BytesPerSecond=37500000 মানে ৩০০ Mbps, আর -1 মানে কোনো সীমা নেই। কাজ শেষে test Transfer Family server মুছে ফেলো: সেটা প্রতি ঘণ্টায় বিল তোলে।
#সারসংক্ষেপ
মূল কথা
- Transfer Family হলো S3 বা EFS-এর সামনে একটা পুরোপুরি managed SFTP, FTPS, FTP আর AS2 endpoint (সাথে browser-এর web app)। পরীক্ষায়: SFTP/FTP/FTPS + “without managing servers”।
- একটা session: hostname (Route 53 দিয়ে নিজের নাম, import করা host key) → identity provider → IAM role + session policy + logical home directory → সরাসরি S3-এ লেখা object → managed workflow (copy, tag, delete, PGP decrypt, Lambda; exception handler)।
- Endpoint type: public = শুধু SFTP, বদলাতে থাকা IP, security group নেই; VPC internet-facing = SFTP, FTPS, AS2, সাথে Elastic IP আর security group; VPC internal = চারটাই, আর সাধারণ FTP চলে শুধু এখানেই।
- Identity: service managed (SSH key), AWS Directory Service (Microsoft AD), বা Lambda বা API Gateway দিয়ে একটা custom identity provider (LDAP, Okta, Cognito…)।
- দাম: চালু থাকা প্রতিটা protocol-এ ঘণ্টায় $0.30, সাথে প্রতি GB $0.04; অলস server-ও protocol-প্রতি মাসে প্রায় $216 নেয়।
- DataSync network দিয়ে বিশাল data copy করে, একবার বা নির্দিষ্ট সময়ে (প্রতি ঘণ্টা, দিন, সপ্তাহ): অফিস আর অন্য cloud-এর জন্য agent (source-এর কাছের একটা VM, শুধু বাইরের দিকে 443), AWS service-এর মধ্যে agent লাগে না। গন্তব্য: Glacier সহ যেকোনো class-এর S3, EFS, চারটা FSx-ই।
- একটা run: queued → launching → preparing → transferring (TLS, compress করা, metadata রক্ষা) → verifying। Default-এ incremental, প্রতি task-এ ১০ Gbps পর্যন্ত, bandwidth limit, filter, manifest, report।
- Basic mode: প্রতি GB $0.0125, প্রতি run-এ ৫ কোটি file; Enhanced mode: সব একসাথে, কার্যত সীমাহীন file, প্রতি GB $0.015 + প্রতি run $0.55।
- DataSync copy করে চলে যায়; Storage Gateway পথেই থেকে যায়, cache সহ local NFS, SMB, iSCSI বা tape-এর মুখ হয়ে। প্রায়ই দুটোই: অতীতের জন্য DataSync, ভবিষ্যতের জন্য gateway।
- বাছাই: অফিসের app ব্যবহার করে যাবে → Storage Gateway; বাইরের কেউ file protocol-এ → Transfer Family; দূরের user upload করে → Transfer Acceleration; নিজের storage, network-এ → DataSync; network-এ সপ্তাহ → Snowball Edge।
- ম্যাপ: block (EBS, instance store), file (EFS, FSx for Windows, Lustre, NetApp ONTAP, OpenZFS), object (S3, Glacier class), hybrid আর transfer (Storage Gateway, Transfer Family, DataSync, Snowball), আর query করতে হলে database।
আগে নিজে উত্তর দাও, তারপর ব্যাখ্যাটা পড়ো। ঠিক হলেও পড়ো, কারণ ভুল Option-গুলো কেন ভুল, সেটাও ওখানে আছে।
নিজেকে যাচাই করোপ্রশ্ন
AWS Transfer Family কী দেয়?
নিজেকে যাচাই করোপ্রশ্ন
Internet-facing VPC endpoint-ওয়ালা একটা Transfer Family server-এ কোন দুটো protocol চালু করা যায়?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
একটা partner-এর firewall team শুধু fixed IP address-এ বাইরের connection খুলবে, আর bank শুধু ওই partner-এর address range থেকে SFTP নিতে চায়। কোন Transfer Family setup দুটোই মেটায়?
নিজেকে যাচাই করোপ্রশ্ন
একটা কোম্পানির warehouse-এর পুরোনো barcode scanner শুধু সাধারণ FTP বোঝে। কোম্পানি চায় এগুলো Transfer Family দিয়ে S3-এ file পৌঁছে দিক। Design-এ কী থাকতেই হবে?
নিজেকে যাচাই করোপ্রশ্ন
একটা bank চায় partner-রা SFTP-তে connect করার সময় তার আগের Okta directory দিয়ে প্রমাণ দিক। Transfer Family server কোন identity provider type ব্যবহার করবে?
নিজেকে যাচাই করোপ্রশ্ন
একজন partner login করার পর তার session S3-এ কোন কাজগুলো করতে পারবে, তা কে ঠিক করে?
নিজেকে যাচাই করোপ্রশ্ন
চল্লিশটা partner একটা bucket-এ upload করে, আর কেউ bucket-এর নাম বা অন্য partner-এর file দেখতে পারবে না। Transfer Family-তে এটা করার সবচেয়ে সহজ উপায় কী?
নিজেকে যাচাই করোপ্রশ্ন
Upload হওয়া file-গুলো bank-এর PGP key দিয়ে decrypt করতে হবে আর কেউ ব্যবহার করার আগে malware-এর জন্য scan করতে হবে, আর যেটা ব্যর্থ হবে সেটা আলাদা করে রাখতে হবে। Transfer Family-র কোন feature মানায়?
নিজেকে যাচাই করোপ্রশ্ন
একটা server-এর একই endpoint-এ SFTP আর FTPS চালু, আর ৩০ দিনের মাসে (৭২০ ঘণ্টা) ১,০০০ GB transfer হয়। প্রতি protocol-hour $0.30 আর প্রতি GB $0.04 ধরলে Transfer Family-র charge মোটামুটি কত?
নিজেকে যাচাই করোপ্রশ্ন
DataSync agent নিয়ে কোন দুটো কথা সত্যি?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
একটা কোম্পানি ১ Gbps line দিয়ে ৩০ TB copy করছে, DataSync line-এর ৮০% ব্যবহার করতে পারে, দিনরাত। প্রথম পুরো copy-তে মোটামুটি কত সময় লাগবে?
নিজেকে যাচাই করোপ্রশ্ন
একটা DataSync migration-এর সময় IT team দেখে, পুরোনো server-এ মোছা file destination bucket-এ এখনো আছে। কেন?
নিজেকে যাচাই করোপ্রশ্ন
অফিসের একটা file server থেকে Basic mode-এর একটা DataSync task preparing-এর সময় ব্যর্থ হলো, কারণ share-এ ৮ কোটি file। সবচেয়ে ভালো দুটো সমাধান কী?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
একটা DataSync task অফিস সময়ে head office-এর ১ Gbps line পুরো দখল করে ফেলে। ঠিক সমাধান কী?
নিজেকে যাচাই করোপ্রশ্ন
ব্যস্ত একটা share-এ DataSync run-এর শেষে যাচাই হাতে গোনা কয়েকটা অমিল file দেখায়। সম্ভবত কী ঘটেছে, আর team কী করবে?
নিজেকে যাচাই করোপ্রশ্ন
DataSync সরাসরি কোন গন্তব্যে লিখতে পারে? দুটো বাছো।
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
আজকের দিনে DataSync আর Snow device নিয়ে কোন কথাটা ঠিক?
নিজেকে যাচাই করোপ্রশ্ন
একজন architect-কে অফিসের একটা application-কে S3-এ রাখা data-তে স্থায়ীভাবে কম latency-র NFS access দিতে হবে। একজন সহকর্মী বদলে রাতের একটা DataSync task প্রস্তাব করলেন। সেটা কেন ভুল?
নিজেকে যাচাই করোপ্রশ্ন
একটা কোম্পানি চায় একটা EFS file system-এর রাতের একটা copy আরেক Region-এর একটা S3 bucket-এ যাক, কোনো server না চালিয়ে। কী ব্যবহার করবে?
নিজেকে যাচাই করোপ্রশ্ন
একটা media কোম্পানির ৬০০ TB data এমন এক জায়গায়, যেখানে ১ Gbps internet line, ৮০% ব্যবহার করা যায়, আর এক মাসের মধ্যে সব S3-এ চাই। পরীক্ষা কোন উপায় আশা করে?
নিজেকে যাচাই করোপ্রশ্ন
কোন দুটো চাহিদা Storage Gateway না, DataSync-এর দিকে ইঙ্গিত করে?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
একটা Linux web application তিনটা Availability Zone জুড়ে ১২টা EC2 instance-এ চলে, আর সবাইকে একই file পড়তে আর লিখতে হবে। কোন storage ব্যবহার করবে?
নিজেকে যাচাই করোপ্রশ্ন
একটা video rendering job-এর অস্থায়ী file-এর জন্য যত বেশি সম্ভব IOPS দরকার, আর হারালে file-গুলো আবার বানানো যায়। কোন storage মানায়?
নিজেকে যাচাই করোপ্রশ্ন
একটা কোম্পানির NetApp storage Linux host-কে NFS, Windows host-কে SMB আর একটা database-কে iSCSI দেয়, আর তারা AWS-এ একই feature চায়। কোন service সবচেয়ে মানানসই?
নিজেকে যাচাই করোপ্রশ্ন
নিচের কোনটা S3-এর বদলে database বেছে নেওয়ার কারণ NOT?
নিজেকে যাচাই করোপ্রশ্ন
Archive দশ বছর সবচেয়ে কম খরচে রাখতে হবে, আর ৪৮ ঘণ্টার মধ্যে ফেরত পেলেই চলে। কোন দুটো সিদ্ধান্ত ঠিক?
বেছে নাও ২
নিজেকে যাচাই করোপ্রশ্ন
পুরোনো course-এর storage-সারাংশের কোন কথাটা পুরোনো হয়ে গেছে?
নিজেকে যাচাই করোপ্রশ্ন
একটা logistics কোম্পানিকে ইউরোপের একটা retailer-এর কাছ থেকে purchase order নিতে হবে, retailer sign করা প্রাপ্তি-রসিদ সহ AS2 চায়, আর সেগুলো S3-এ রাখতে হবে। কী ব্যবহার করবে?
নিজেকে যাচাই করোপ্রশ্ন
কোন জোড়াটা ঠিকঠাক মিলেছে?
নিজেকে যাচাই করোপ্রশ্ন
এক মাসে একটা DataSync task একবার ১০,০০০ GB copy করে, তারপর ৫০ GB করে রাতের ৩০টা execution চালায়। ওই মাসে Basic mode-এর চেয়ে Enhanced mode মোটামুটি কত বেশি খরচ করে?