CodeShot
AWS S32 دقیقه مطالعه

AWS S3 چیست؟ (Simple Storage Service)

سرویس ذخیره‌سازی Object Storage آمازون با مقیاس‌پذیری بالا برای فایل، بکاپ و داده‌های استاتیک.

چرا مهم است؟

S3 استاندارد صنعتی برای ذخیره فایل در معماری‌های Cloud است؛ اکثر پروژه‌های واقعی برای Upload، بکاپ و فایل‌های استاتیک از آن استفاده می‌کنند.

تعریف کوتاه

Amazon S3 (Simple Storage Service) سرویس Amazon Web Services برای ذخیره و مدیریت فایل (Object Storage) با مقیاس‌پذیری بسیار بالاست.

کاربردهای رایج در پروژه‌های .NET

ذخیره فایل‌های Upload کاربران (عکس، PDF و ...) · نگهداری فایل‌های Backup · ذخیره فایل‌های Log و گزارش‌ها · ذخیره فایل‌های استاتیک سایت (CSS، JS، تصاویر) · ذخیره فایل‌های پردازش‌شده در Background توسط سرویس‌ها

مفاهیم اصلی S3

Bucket — ظرف اصلی نگهداری فایل‌ها؛ نام Bucket باید در کل AWS یکتا باشد؛ مشابه یک پوشه ریشه در ذخیره‌سازی است. Object — هر فایل ذخیره‌شده در S3 یک Object است، شامل: Data (محتوای فایل) · Key (نام/مسیر فایل) · Metadata (اطلاعات اضافی)

مثال: bucket-name/images/profile1.jpg

ویژگی‌های مهم

  • مقیاس‌پذیری بالا — محدودیت عملی برای تعداد فایل‌ها ندارد؛ مناسب برای سیستم‌های Enterprise.
  • Durability بالا — طراحی‌شده برای نگهداری بسیار امن داده‌ها؛ داده‌ها در چندین Availability Zone ذخیره می‌شوند.
  • دسترسی کنترل‌شده — با IAM Policy، Bucket Policy و Access Control List (ACL) می‌توان تعیین کرد چه کسی به فایل‌ها دسترسی دارد.

Storage Classها (برای مدیریت هزینه)

Storage Class کاربرد
Standard فایل‌هایی که زیاد استفاده می‌شوند
Intelligent-Tiering تغییر خودکار بر اساس میزان استفاده
Standard-IA فایل‌های کم‌مصرف ولی نیازمند دسترسی سریع
Glacier آرشیو بلندمدت با هزینه بسیار کم

اتصال به S3 در .NET

معمولاً با پکیج AWSSDK.S3:

var client = new AmazonS3Client();
await client.PutObjectAsync(new PutObjectRequest
{
    BucketName = "my-bucket",
    Key = "files/test.pdf",
    FilePath = "test.pdf"
});

موارد مهم امنیتی

هرگز Access Key را داخل کد قرار ندهید · از IAM Role استفاده کنید · فایل‌های Public را محدود کنید · برای دسترسی موقت از Pre-Signed URL استفاده کنید.

Pre-Signed URL چیست؟ یک لینک موقت برای دسترسی به فایل خصوصی، مثلاً: کاربر درخواست دانلود می‌دهد → Backend یک URL با اعتبار چند دقیقه‌ای می‌سازد → کاربر فایل را بدون Public کردن Bucket دانلود می‌کند.

Versioning

نگهداری نسخه‌های مختلف یک فایل (مثال: report.pdf نسخه ۱، ۲، ۳) — با فعال‌کردن Versioning می‌توان جلوی Override ناخواسته فایل‌ها را گرفت.

نکته کلیدی: S3 برای ذخیره‌سازی داده‌های غیرساخت‌یافته با مقیاس‌پذیری بالا مناسب Cloud است — نه جایگزین Database، بلکه مکمل آن برای Upload، بکاپ و فایل‌های استاتیک.

خلاصه

  • AWS S3 یک سرویس Object Storage با مقیاس‌پذیری و Durability بسیار بالاست.
  • Bucket → Object ساختار اصلی ذخیره‌سازی است؛ هر Object شامل Data، Key و Metadata است.
  • Storage Class (Standard/IA/Glacier) و Pre-Signed URL هزینه و امنیت دسترسی به فایل‌ها را مدیریت می‌کنند.

حالا امتحان کن

🧩آزمون AWS S36 سؤال · نمره قبولی 60٪
این مطلب مفید بود؟
نشان کردن
مشاهده در Concept Hub ←