سرویس ذخیره سازی ساده آمازون (Amazon S3)
سرویس ذخیره سازی ساده آمازون (Amazon Simple Storage Service) که با نام Amazon S3 شناخته میشود، یک سرویس ذخیره سازی ابری مبتنی بر وب مقیاس پذیر، با سرعت بالا است. این سرویس برای بکاپگیری و بایگانی آنلاین دادهها و برنامههای کاربردی در خدمات وب آمازون (AWS) طراحی شده است. آمازون S3 با حداقل مجموعهای از ویژگیها طراحی و ساخته شده است تا محاسبات در مقیاس وب را برای توسعه دهندگان آسانتر کند.
ویژگیهای آمازون S3 چیست؟
S3 دوام 99.999٪ را برای اشیاء ذخیره شده در این سرویس فراهم نموده و از چندین گواهینامه امنیتی و انطباق پشتیبانی میکند. یک administrator همچنین میتواند S3 را به سایر سرویسهای امنیتی و نظارتی AWS، از جمله CloudTrail، CloudWatch و Macie لینک کند. همچنین یک شبکه شریک گسترده از فروشندگان وجود دارد که خدمات خود را مستقیم به S3 مرتبط میکند.
دادهها را می توان از طریق اینترنت عمومی از طریق دسترسی به API به S3 منتقل کرد. همچنین Amazon S3 Transfer Acceleration برای حرکت سریعتر در فواصل طولانی و همچنین AWS Direct Connect برای یک ارتباط خصوصی و ثابت بین S3 و مرکز داده خود شرکت وجود دارد. مدیر شبکه همچنین میتواند از AWS Snowball، یک دستگاه انتقال فیزیکی، برای ارسال مقادیر زیادی داده از یک مرکز داده سازمانی به طور مستقیم به AWS استفاده کند، تا بعد آن را در S3 آپلود کند. AWS Snowball Edge را می توان برای انتقال حافظه نوار به S2 استفاده کرد.
علاوه بر این، کاربران می توانند سایر خدمات AWS را با S3 ادغام کنند. به عنوان مثال، یک تحلیلگر میتواند دادهها را مستقیم در S3 یا با Amazon Athena برای کوئریهای موقت (Ad-Hoc Query) یا با Amazon Redshift Spectrum برای تجزیه و تحلیل های پیچیدهتر استعلام کند.
سطلهای(bucket) S3 را میتوان با استفاده از ابزارها و پلاگین های مختلف مستقیم در یک فایل سیستم نصب کرد. Amazon Mountpoint نمونهای از این ابزارها است که توسط آمازون توسعه داده شده است. این ابزارها درخواستهای فایل سیستم را به درخواستهای S3 API ترجمه میکنند. این می تواند به S3 اجازه دهد تا با ابزارهای غیر ابری استفاده شود. با این حال، هنگام استفاده از آنها باید احتیاط کرد. از آنجایی که S3 روی کل اشیاء در یک زمان کار می کند، عملکرد یا قیمت ممکن است بسته به ویژگیهای دسترسی برنامه تحت تاثیر قرار گیرد.
موارد استفاده Amazon S3 چیست؟
آمازون S3 می تواند توسط سازمانهای مختلف از مشاغل کوچک تا شرکتهای بزرگ استفاده شود. مقیاس پذیری، در دسترس بودن، امنیت و قابلیت های عملکرد S3 آن را برای انواع موارد استفاده از ذخیره سازی دادهها مناسب میکند. موارد استفاده رایج برای S3 شامل موارد زیر است:
- ذخیره سازی دادهها (Data storage)
- آرشیو دادهها (Data archiving)
- ذخیره سازی اسناد (Document storage)
- میزبانی برنامه برای استقرار، نصب و مدیریت برنامههای وب
- تحویل نرم افزار (Software delivery)
- فایل بکاپ اطلاعات (Data backup)
- بازیابی بلایا (Disaster recovery)
- ذخیره سازی فایل گزارش (Log file storage)
- ابزارهای تجزیه و تحلیل دادههای بزرگ بر روی داده های ذخیره شده
- دریاچههای داده و انبارهای داده (Data lakes and data warehouses)
- برنامههای موبایل
- دستگاههای اینترنت اشیا (IoT)
- میزبانی رسانه برای تصاویر، فیلمها و فایلهای موسیقی
- میزبانی وبسایت - به ویژه برای کار با Amazon CloudFront برای تحویل محتوا مناسب است.
سرور اختصاصی سفارشی ایران محصولی جدید از پارسدِو است که میتوانید سخت افزار سرور اختصاصی و دیسکهای آن را متناسب با نیاز خود سفارش دهید،
آمازون S3 چگونه کار میکند؟
آمازون S3 یک سرویس ذخیره سازی اشیا است که با انواع دیگر ذخیره سازی رایانش ابری مانند ذخیره سازی بلوک و فایل متفاوت است. هر شی به عنوان یک فایل با متادیتای آن ذخیره شده و به شی (object) یک شماره شناسه داده میشود. دادهها به جای پوشهها در سطل (Bucket) سازماندهی میشوند. برنامه ها از این شماره شناسه برای دسترسی به اشیا استفاده میکنند. این برخلاف ذخیرهسازی ابری فایل و بلوک است، جایی که یک توسعهدهنده میتواند از انتقال بازنمودی حالت (Rest API) به یک شی دسترسی داشته باشد.
سرویس ابری ذخیره سازی اشیاء S3 به مشترکین امکان دسترسی به همان سیستم هایی را میدهد که آمازون برای اجرای وبسایتهای خود از آن استفاده میکند. S3 مشتریان را قادر میسازد تا تقریبا هر فایل یا شیئی را با حجم حداکثر 5 ترابایت آپلود، ذخیره و دانلود کنند.
کلاسهای ذخیره سازی Amazon S3 چیست؟
Amazon S3 در هفت کلاس ذخیره سازی عرضه می شود:
- S3 Standard - برای دادههایی که اغلب به آنها دسترسی دارند و باید با تاخیر کم و توان عملیاتی بالا تحویل داده شوند، مناسب است. S3 Standard برنامههای کاربردی، وبسایتهای داینامیک، توزیع محتوا و حجم کاری کلان داده را هدف قرار میدهد.
- S3 Intelligent-Tiering - برای دادههایی با نیازهای دسترسی که در حال تغییر یا ناشناخته هستند مناسب است. S3 Intelligent-Tiering دارای چهار سطح دسترسی Frequent Access، Infrequent Access (IA) ، Archive و Deep Archive است. براساس الگوهای دسترسی مشتری، دادهها به طور خودکار به ارزان ترین ردیف ذخیره سازی منتقل میشوند.
- S3 Standard-IA - برای دادههایی که کمتر مورد نیاز هستند اما باید به سرعت در دسترس باشند، قیمت ذخیره سازی پایین تری ارائه میدهد. این ردیف میتواند برای بکاپگیری، بازیابی فاجعه (DR) و ذخیره سازی طولانی مدت دادهها استفاده شود.
- S3 One Zone-IA - برای دادههایی طراحی شده است که به ندرت مورد استفاده قرار میگیرند، اما در مواقع مورد نیاز به دسترسی سریع نیاز دارند. استفاده از S3 One Zone-IA برای دادههایی که بهندرت به آنها دسترسی پیدا میکنند، بدون نیاز به انعطافپذیری یا در دسترس بودن بالا، دادههایی که میتوان آنها را دوباره ایجاد کرد و از دادههای on-premises بکاپگیری کرد، نشان داده شده است.
- S3 Glacier - کم هزینهترین گزینه ذخیره سازی در S3 است، اما به شدت برای ذخیره سازی آرشیوی طراحی شده است زیرا دسترسی به دادهها زمان بیشتری میبرد. Glacier نرخهای بازیابی متغیری را ارائه میدهد که از دقیقه تا ساعت متغیر است.
- S3 Glacier Deep Archive - کمترین قیمت را برای ذخیره سازی S3 دارد. S3 Glacier Deep Archive برای نگهداری دادههایی طراحی شده است که فقط یک یا دو بار در سال باید به آنها دسترسی داشته باشید.
- S3 Outposts – ویژگیهای ذخیره سازی اشیاء S3 و APIها را به محیط AWS Outposts در on-premises اضافه میکند. S3 Outposts زمانی به بهترین وجه استفاده میشود که نیاز به عملکرد، ذخیره دادهها در نزدیکی برنامههای کاربردی on-premises یا برآورده کردن الزامات data residency خاص باشد.
کاربر همچنین میتواند سیاستهای مدیریت چرخه عمر را برای مدیریت دادهها و انتقال آنها به مناسبترین لایه در طول زمان پیادهسازی کند.
کار با سطل (S3 buckets)
آمازون محدودیتی برای تعداد مواردی که مشترک میتواند ذخیره کند اعمال نمینماید. با این حال، محدودیتهایی برای مقادیر سطل(bucket) آمازون S3 وجود دارد. هر حساب AWS اجازه میدهد تا 100 سطل (bucket) به طور پیش فرض ایجاد شود. با درخواست افزایش محدودیت خدمات، محدودیتها را میتوان به 1000 افزایش داد.
یک سطل(bucket) آمازون S3 در یک منطقه خاص از ابر وجود دارد. یک مشتری AWS میتواند از API آمازون S3 برای آپلود اشیاء در یک سطل خاص استفاده کند. مشتریان میتوانند سطلهای S3 را پیکربندی و مدیریت کنند.
محافظت از دادههای S3
دادههای کاربر بر روی سرورهای اضافی در چندین مرکز داده ذخیره میشود. S3 از یک رابط ساده مبتنی بر وب - Amazon S3 console - و رمزگذاری برای احراز هویت کاربر استفاده میکند.
سطلهای S3 به طور پیش فرض از دسترسی عمومی، خصوصی نگه داشته میشوند، اما یک مدیر میتواند انتخاب کند که آنها را برای عموم در دسترس قرار دهد. کاربر همچنین میتواند دادهها را قبل از ذخیره سازی رمزگذاری کند. حقوقی و امتیازاتی ممکن است برای کاربران جداگانه مشخص شود، که سپس برای دانلود یا دسترسی به یک فایل در S3 به اعتبارنامه های تایید شده AWS نیاز دارند. امنیت نامناسب دادههای S3 منبع اصلی نشت دادهها بوده است.
S3 دارای سازگاری داده قوی است. درخواستهای Object PUT در سطح شی پردازش میشوند. اگر دو درخواست PUT برای یک شی ارسال شود، موردی که دارای timestamp بعدی است برنده خواهد شد. S3 به طور بومی از قفل شی برای نوشتن همزمان پشتیبانی نمیکند.
وقتی یک کاربر دادهها را در S3 ذخیره میکند، آمازون استفاده را برای مقاصد صورتحساب ردیابی میکند، اما در غیر این صورت به دادهها دسترسی ندارد مگر اینکه طبق قانون این کار را انجام دهد.
آمازون S3 با استاندارد امنیت داده صنعت پرداخت کارت و قانون قابل حمل و پاسخگویی بیمه سلامت مطابقت دارد. هنگامی که به درستی پیکربندی شود، میتوان از آن برای رسیدگی به دادههای کارت اعتباری و مراقبتهای بهداشتی استفاده کرد.
مقایسه آمازون S3 با EBS و EFS
AWS چندین سرویس ذخیره سازی ارائه میدهد. EBS و EFS ذخیره سازی فایل سنتی هستند، در حالی که S3 ذخیره سازی اشیا است.
Amazon Elastic Block Storage (EBS) یک ذخیرهسازی بلوکی فایل سیستم است که برای استفاده توسط Amazon Elastic Compute Cloud (EC2)ماشین مجازی (VM) در نظر گرفته شده است. EBS را میتوان به عنوان هارد درایو کامپیوتر در نظر گرفت. معمولا هر نمونه EBS فقط به یک نمونه EC2 متصل میشود. EBS بالاترین عملکرد read/write را ارائه میدهد.
Amazon Elastic File System (EFS) یک ذخیره سازی فایل اشتراکی است که میتواند به چندین نمونه EC2 متصل شود. این را میتوان به عنوان یک درایو اشتراکی در نظر گرفت که بسیاری از کامپیوترها به آن دسترسی دارند. اندازه ذخیره سازی یک حجم EFS به صورت داینامیک رشد میکند و در صورت نیاز کوچک میشود.
آمازون S3 ذخیره سازی اشیا است. معمولا به VM متصل نیست، در عوض توسط یک برنامه کاربردی استفاده میشود. به عنوان مثال، یک برنامه ممکن است گزارشهای خود را به یک سطل S3 ارسال کند و یک برنامه تحلیلی دیگر میتواند گزارشها را بخواند. S3 همچنین می تواند مورد کوئری قرار گیرد، شبیه به یک پایگاه داده، که آن را به ابزاری عالی برای انبارهای داده و دریاچه های داده (data lakes) تبدیل میکند.
قیمت آمازون S3
پیش بینی قیمت آمازون S3 می تواند پیچیده باشد. هزینهای برای ذخیره سازی، دسترسی به شی و هزینه های ورودی/خروج دادهها وجود دارد.
قیمت ذخیره سازی S3 با گیگابایت در ماه شارژ میشود. قیمت بسته به سطح ذخیره سازی مورد استفاده یا تعداد دفعات دسترسی به دادهها تغییر میکند. سطوح ذخیره سازی در دسترس ممکن است یک گیگابایت در ماه باشد. در حالی که بازیابی سطوح پشتیبان بیشتر طول میکشد، اما ممکن است کمتر از سنت در ماه در هر گیگابایت باشد.
درخواستها و بازیابی دادهها نیز توسط تماس API هزینه میشود. آنها به عنوان کسری از یک سنت در هر 1000 درخواست محاسبه میشوند. تماسها برای یافتن دادههای موجود (GET، SELECT) ارزانتر از تماسهایی برای تغییر دادهها (PUT، COPY، POST، LIST) هستند. همه تماسها با S3، از جمله اگر مدیری بخواهد به فهرست فایلها نگاه کند، هزینه دارد.
هزینه های ورودی و خروجی اطلاعات اضافی به تماس های S3 اضافه می شود. این مبلغ به ازای هر گیگابایت انتقال داده می شود. هزینه دقیق ممکن است به مقدار انتقال و مکان های مربوطه بستگی داشته باشد.
آمازون یک ماشین حساب قیمت گذاری ساده را برای کمک به سازمانها در برآورد صورتحساب خود ارائه میدهد. به دلیل ماهیت پیچیده اقلام و صورتحساب استفاده، پیشبینی هزینه یک برنامه جدید دشوار است. مهم است که برنامه برای S3 بهینه شود تا تماسهای اضافی را حذف کرده و هزینه را کاهش دهد.
خدمات رقیب آمازون S3
خدمات رقیب آمازون S3 شامل سایر خدمات ابزار نرم افزار ذخیره سازی اشیا است. ارائه دهندگان خدمات ابری بزرگ مانند گوگل، مایکروسافت، آی بی ام و علی بابا خدمات ذخیره سازی اشیاء قابل مقایسه را ارائه می دهند. خدمات رقیب اصلی آمازون S3 شامل موارد زیر است:
- Google Cloud Storage.
- Azure Blob storage.
- IBM Cloud Object Storage.
- DigitalOcean Spaces.
- Alibaba Cloud Object Storage Service.
- Cloudian.
- Zadara Storage.
- Oracle Cloud Infrastructure Object Storage.