Object storage (S3)-এর গোড়া: bucket, access ও presigned URL
Object storage বিশাল পরিসরে খুব কম খরচে ফাইল রাখে। ব্যক্তিগত data ফাঁস না করে নিরাপদে ব্যবহার শিখুন।

Object storage ফাইল (যাকে object বলে) bucket নামের সমতল পাত্রে রাখে, এবং আপনি API দিয়ে HTTP-তে পড়েন ও লেখেন। Amazon S3 একে বিখ্যাত করেছে, আর অনেক সেবা S3-compatible API দেয়, যেমন Cloudflare R2, Backblaze B2, DigitalOcean Spaces এবং MinIO (যা নিজে চালানো যায়)।
ছবি, ভিডিও, নথি, backup, log ও static ওয়েবসাইট ফাইলের জন্য আদর্শ।
অন্য storage থেকে পার্থক্য
- Block storage (server-এ যুক্ত disk): দ্রুত, অপারেটিং সিস্টেম ও database-এর জন্য।
- File storage (ভাগ করা network drive): folder ও file locking।
- Object storage: প্রতিটি object-এর একটি key (নাম, যেমন
uploads/2026/photo.jpg), তার data ও কিছু metadata থাকে। আসল folder নেই (slash শুধু key-র অংশ)। অংশ সম্পাদনার বদলে পুরো object প্রতিস্থাপন করেন। বিনিময়ে পান বিশাল পরিসর, উচ্চ durability ও কম খরচ।
অ্যাপে কেন ব্যবহার করবেন
ব্যবহারকারীর upload অ্যাপ server-এর disk-এ রাখলে ঝামেলা: disk ভরে যায়, server বদলালে ফাইল হারায়, কয়েকটি server ভাগ করতে পারে না। Upload object storage-এ রাখলে server stateless হয় এবং CDN ফাইল দ্রুত পরিবেশন করতে পারে।
Database-এ ফাইল নয়, object key বা URL রাখুন।
Bucket ডিফল্টে private রাখুন
সবচেয়ে প্রচলিত cloud data ফাঁস হলো public bucket। নিয়ম:
- Account ও bucket-এর জন্য provider-এর block public access সেটিং চালু করুন।
- Bucket public করুন কেবল যখন তা সত্যিই public ফাইল দেয়, এবং শুধু সেই bucket।
- অ্যাপকে নির্দিষ্ট bucket বা prefix-এর access দিতে bucket policy ও IAM ব্যবহার করুন।
- Public bucket-এ ব্যক্তিগত data (invoice, পরিচয়পত্র, backup) কখনো রাখবেন না।
- Access log চালু করুন এবং policy বদলের alert দিন।
Presigned URL: ব্যক্তিগত ফাইল, নিরাপদ শেয়ার
Presigned URL হলো অস্থায়ী লিংক যা আপনার credential ছাড়াই কাউকে নির্দিষ্ট একটি object upload বা download করতে দেয়।
Download ধারা: ব্যবহারকারী অ্যাপের কাছে ব্যক্তিগত ফাইল চায়, অ্যাপ দেখে তার অনুমতি আছে কি না, তারপর অল্প সময়ের (যেমন ৫ মিনিট) জন্য বৈধ লিংক বানিয়ে redirect করে।
Upload ধারা: ফাইল আপনার server দিয়ে না পাঠিয়ে অ্যাপ browser-কে presigned upload URL দেয়, এবং browser সরাসরি bucket-এ upload করে। এতে আপনার bandwidth ও CPU বাঁচে।
Upload-এর নিরাপত্তা টিপ:
- Object key server-পক্ষে ঠিক করুন, ব্যবহারকারীর ফাইলের নাম বিশ্বাস করবেন না।
- Signed request-এ আকার ও content type সীমিত করুন এবং upload-এর পরে যাচাই করুন (web security সিরিজের ফাইল upload নিরাপত্তা লেখা দেখুন)।
- মেয়াদ ছোট রাখুন।
- অবিশ্বস্ত ফাইল অন্যদের দেখানোর আগে scan বা প্রক্রিয়া করুন।
Storage class ও lifecycle
- Standard: ঘন ঘন ব্যবহৃত data-র জন্য।
- Infrequent access ও archive class: রাখতে অনেক সস্তা, তবে ফেরত আনায় ফি বা দেরি। পুরোনো backup ও log-এর জন্য ভালো।
- Lifecycle rule নির্দিষ্ট সময় পরে object সস্তা class-এ সরায় বা মুছে দেয়, যেমন "অস্থায়ী upload ৭ দিন পর মোছো"।
Versioning ও সুরক্ষা
- Versioning পুরোনো সংস্করণ রাখে, ফলে ভুল overwrite বা মোছা ফেরানো যায়।
- Object lock বা immutability একটি সময় পর্যন্ত মোছা আটকায়, যা ransomware-এর বিরুদ্ধে সাহায্য করে।
- Replication দুর্যোগ পুনরুদ্ধারের জন্য object অন্য region-এ কপি করে।
- Encryption at rest সাধারণত ডিফল্টে চালু। বাড়তি নিয়ন্ত্রণে নিজের key ব্যবহার করতে পারেন।
খরচে নজর
- প্রতি GB প্রতি মাসের storage।
- Request (পড়া ও লেখা সংখ্যা অনুযায়ী বিল)।
- Egress: provider থেকে বেরোনো data সবচেয়ে বেশি খরচ হতে পারে। সামনে CDN এটি কমায়, আর কিছু provider (যেমন Cloudflare R2) egress ফি নেয় না। সবসময় বর্তমান মূল্য দেখুন।
- পুরোনো সংস্করণ ও অসম্পূর্ণ multipart upload নীরবে জমে, তাই পরিষ্কার করতে lifecycle rule দিন।
দ্রুত checklist
- Bucket private, block public access চালু।
- অ্যাপ শুধু নিজের bucket-এর access-যুক্ত role ব্যবহার করে।
- ছোট মেয়াদের presigned URL।
- Server-তৈরি key, আকার ও ধরন সীমিত।
- Versioning ও lifecycle rule সেট।
- Public ফাইলের জন্য সামনে CDN।
মূল কথা: server disk-এর বদলে ফাইলের জন্য object storage ব্যবহার করুন, bucket private রাখুন, স্বল্পস্থায়ী presigned URL দিয়ে শেয়ার করুন, browser-কে সরাসরি upload করতে দিন, এবং খরচ নিয়ন্ত্রণে lifecycle rule ও CDN ব্যবহার করুন।
Networking ও Cloud সিরিজ, পর্ব ২ (cloud-এর গোড়া): 4 নম্বর (মোট 5)। আগের লেখা: Cloud IAM: least privilege, role ও access key সুরক্ষা.


