سرویس Amazon S3 چیست و چگونه می‌توان آن را راه‌اندازی کرد؟

دسته بندی: آموزش
سرویس Amazon S3 چیست

دورکاری مفهومی جدید در عصر جدید است! حالا دیگر بشر برای ارتزاق هم نیاز نیست از خانه بیرون برود. در این مقاله می‌خواهیم راجع به یکی از سرویس‌هایی که دورکاری را ممکن کرد صحبت کنیم. می‌خواهیم ببینیم S3 چیست؟

این سرویس توسط یکی از غول‌های دنیای تکنولوژی، یعنی Amazon ارائه می‌شود. در ادامه با قابلیت‌های این سرویس و چگونگی راه‌اندازی آن آشنا خواهیم شد؛ اما ابتدا بیایید کمی بیشتر با S3 آشنا شویم.

S3 چیست؟

همان‌طور که می‌دانید، داده‌ها نقشی بسیار حیاتی در دنیای اینترنت بازی می‌کنند. همچنین باید بدانید که  داده‌ها هم مثل اشیای فیزیکی به فضایی برای نگهداری نیاز دارند! 

Amazon S3، مثل انباری بزرگ است که از داده‌ها در آن نگهداری می‌شود. با کمک این سرویس می‌توانید داده‌های‌ مختلف را ذخیره کنید و در هر زمانی و از هر مکانی به آن‌ها – از طریق وب – دسترسی داشته باشید. اگر مقاله رایانش ابری را بخوانید، با ماهیت این سرویس بیشتر آشنا خواهید شد.

با استفاده از S3، دولوپرها می‌توانند از همان ساختار Storageای استفاده کنند که آمازون برای سایت‌هایش از آن بهره می‌برد. همان‌ قدر Scalable، همان‌ قدر قابل‌اعتماد و همان ‌قدر سریع و صدالبته ارزان! هدف آمازونی‌ها از ارائه این سرویس به دولوپرها، بهره‌مند کردن آن‌ها از مزایای S3 است.

سیستم ابری

خب در ادامه قصد داریم راجع به مزایای این سرویس صحبت کنیم؛ اما قبل از آن باید با چند اصطلاح مرتبط با آن آشنا شوید.

اصطلاحات مرتبط با Amazon S3

اگر قصد کار کردن با S3 را دارید، این‌ها اصطلاحاتی هستند که زیاد به گوش‌تان خواهند خورد:

Buckets

 باکت‌ها (Bucket) مجموعه‌ای از Storageها هستند که وظیفه نگهداری از داده‌ها را دارند.  اگر بخواهیم یک ساختار برای S3 تعریف کنیم. در بالاترین شاخه، باکت‌ها قرار می‌گیرند که متشکل از Objectها هستند.

Bucket سه وظیفه مهم را در محیط S3 برعهده دارد:

  • فضاهای Amazon S3 را به بهترین شکل سازماندهی می‌کنند.
  • اکانت‌هایی که اجازه دسترسی به داده‌ها دارند را شناسایی می‌کنند.
  • در فرایند Access Control نقش دارند.

اگر قصد استفاده از S3 را دارید، می‌توانید Region باکت‌تان را هنگام ساخت مشخص کنید. همچنین می‌توانید آن را طوری تنظیم که هربار Object جدیدی اضافه شد، یک Version ID منحصربه‌فرد به آن اختصاص داده شود.

Objects

همان‌طور که گفتیم، Bucket در بالاترین شاخه قرار می‌گیرد و پس از آن Object را داریم. تعریف پیچیده این مفهوم به این شکل است: موجودیت‌های بنیادی که در S3 ذخیره می‌شوند!!

این موجودیت‌های بنیادی، متشکل از Metadata و Object Data هستند.

برای اینکه یک Object توسط Bucket شناسایی شود، نیاز به یک کلید (Name) و یک Version ID است.

Keys

همان‌طور که گفتیم، برای شناسایی Object توسط Bucket، به Key نیاز داریم. هر Object در فضای S3، یک کلید دارد! ترکیب Bucket, Version ID و Key، آبجکت را شناسایی می‌کند.

کلیدها در سرویس Amazon S3

Regions

این اصطلاح، محل جغرافیایی نگهداری از Bucket را مشخص می‌کند. می‌توانید انتخاب کنید که Bucket حاوی داده‌های‌تان، در کدام منطقه جغرافیایی ذخیره شود.

این انتخاب می‌تواند در کاهش زمان پاسخ‌دهی و البته کاهش هزینه‌ها موثر باشد.

نکته: آبجکت‌هایی که در یک Region ذخیره شده باشند، آنجا را ترک نمی‌کنند مگر اینکه شما بخواهید منتقلشان کنید!

حالا به مثال زیر که در سایت آمازون قرار دارد توجه کنید:

اگر نام آبجکتی، photos/puppy.jpg باشد و در awsexamplebucket1 ذخیره شده و محل نگهداری از آن در غرب ایالات متحده باشد، URL زیر را خواهد داشت:

https://awsexamplebucket1.s3.us-west-2.amazonaws.com/photos/puppy.jpg

خب برویم سراغ مزایای این سرویس!

Amazon S3 چه مزایایی دارد؟

مسلماً S3 بی‌رقیب نیست! مثلاً یکی از شناخته‌شده‌ترین رقبای آن، Google Cloud Storage است. به همین خاطر، دانستن مزایای آن نسبت به رقبا اهمیت پیدا می‌کند. البته که  S3 طراحی بسیار ساده‌ای دارد و تمرکزش روی نیرومندی است؛  اما بی‌ مزیت هم نیست!

این شما و این مزایای استفاده از S3:

ساخت Bucket

اولیه‌ترین کاری که می‌توان در محیط S3 انجام داد، ساخت باکت است! همان‌طور که گفتیم، Bucket پایه و اساس فضاهای نگهداری در این سرویس است. شما به‌عنوان کاربر S3 می‌توانید باکت مدنظرتان را با نام دلخواه‌تان بسازید.

ذخیره‌سازی داده

Amazon این امکان را در اختیار کاربران S3 قرار می‌دهد که میزان نامحدودی از داده را در S3 ذخیره کنند. می‌توانید هرتعداد Object که دوست دارید در این فضا آپلود کنید. هر Object می‌تواند پذیرای ۵ ترابایت داده باشد.

همچنین می‌دانید که دولوپرها، با استفاده از کلید مخصوص می‌توانند به Objectها دسترسی داشته باشند.

دانلود داده

یکی از مزایای تمام سیستم‌های ابری و صدالبته S3، امکان دسترسی به داده‌ها در هر زمان و در هر مکان است. هروقت که خواستید می‌توانید داده‌های‌تان را دانلود کنید. حتی می‌توانید این اجازه را به دیگران هم بدهید تا اگر نیاز است به داده‌ها دسترسی پیدا کنند.

آیکون دانلود

اجازه‌ها

می‌توانید تعیین کنید که چه افرادی امکان دانلود و آپلود فایل در Bucketها را دارند. البته شاید فکر کنید ممکن است امنیت داده‌ها به خطر بیفتند، اما این‌طور نیست! استفاده از مکانیزم‌های احراز هویت، از دسترسی افراد غیرمجاز جلوگیری می‌کند.

رابط‌های کاربری استاندارد

برای هرچه ساده‌تر کردن کار، Amazon دو رابط کاربری Rest و Soap را در اختیار کاربرانش قرار می‌دهد که بر پایه استانداردها شکل گرفته‌اند.

خوب است بدانید S3 برای ذخیره‌سازی داده‌ها، از ۳ متد مختلف استفاده می‌کند.

S3 از چه متدهایی برای ذخیره‌سازی استفاده می‌کند؟

همان‌طور که تا اینجا متوجه شدید، وظیفه اصلی S3 ذخیره‌سازی داده‌ها است. S3 برای انجام اینکار، از ۳ متد مختلف کمک می‌گیرد:

  • STANDARD: از این متد برای مصارف عمومی استفاده می‌شود. زمانی که نیاز است مرتباً به داده‌ها دسترسی داشت.
  • STANDARD_IA: مثل متد قبلی است. فقط در این حالت داده‌ها به نسبت حالت قبلی، کم‌تر مورد استفاده قرار می‌گیرند.
  • S3 GLACIER: اگر قرار است داده‌ای برای مدت طولانی ذخیره شود، از این متد استفاده می‌شود.
حتما بخوانید:  DNS پویا چیست؟ چه فرقی با DNS معمولی دارد؟

نکته آخر قبل از پرداختن به آموزش راه‌اندازی این سرویس:

 S3 یکپارچگی بسیار قدرتمندی در تمام دستورات write و read ارائه می‌کند! 

برویم سراغ آموزش.

چگونگی راه‌اندازی سرویس Amazon S3

برای استفاده از S3، چندین روش وجود دارد. ما در این مقاله ۲ روش را یادتان می‌دهیم: روش S3fs روی CentOS و rclone.

با این آموزش می‌خواهیم فضای S3 را بعنوان یک پارتیشن به لینوکس معرفی کنیم 👇

روش اول: اتصال فضای پشتیبان S3 از طریق S3fs

قبل از هرکاری، باید پیش‌نیازهای لازم را نصب کنید. اینکار با کمک دستورهای زیر انجام می‌شود:

حالا باید اطلاعات لاگین را در سرور ذخیره کنید:

توجه داشته باشید که در کد بالا، باید به‌جای ACCESS_KEY_ID و SECRET_ACCESS_KEY، مقادیری که در اختیار دارید را وارد کنید.

سپس باید سطح دسترسی را مشخص کنید:

حالا باید با دستور زیر، پارتیشن را Mount کنید:

در کد بالا هم باید به‌جای mybucket، نام Bucketای که ایجاد کرده‌اید را وارد کنید. در ادامه آن هم باید مسیری از سرور که می‌خواهید فضا به آن مونت شود را وارد کنید. مقدار ENDPOINT هم مطابق با الگوی درنظر گرفته شده مشخص می‌شود.

برای اینکه بعد از Reboot شدن سرور، فضای مونت شده، وجود داشته باشد، باید کد زیر را در /etc/fstab اضافه کنید:

یادتان باشد که در این کد هم باید برخی از مقادیر را اصلاح کنید!

نکته ۱: اگر پارتیشنی به‌صورت S3fs مونت شده باشد و بخواهید با chmod خاصی عمل مونت را انجام دهید، باید از دستور زیر استفاده کنید:

نکته ۲: اگر پارتیشنی به‌صورت S3fs مونت شده باشد و بخواهید با chown عمل مونت پارتیشن را انجام دهید، باید از دستور زیر استفاده کنید:

روش دوم: آموزش مونت با روشrclone

در قدم اول به مسیر نصب نرم‌افزار بروید و پوشه‌ای را برای نصب این نرم‌افزار بسازید.

👇

بعد از ساختن پوشه، باید اسکریپت دانلود و نصب نرم‌افزار را با دستور زیر اجرا کنید.

حال، برای انجام تنظیمات نرم‌افزار، اطلاعات S3 را باید وارد کنید. برای انجام این کار طبق دستور زیر عمل کنید.

ابتدا 👇

حالا سوال‌های پرسیده شده را یک به یک جواب بدهید.

نکته: n را برای دستور New remote وارد کنید.

الان دیگر باید نام باکت دلخواهتان را وارد کنید. ما برای مثال از نام bucketname استفاده کرده‌ایم.

لیست زیر را ببینید. اینجا باید نوع سرویس را انتخاب کنیم. ما گزینهٔ ۴ یعنی S3 را انتخاب می‌کنیم. درست مثل دستورات زیر.

حالا نوبت انتخاب نام سرویس‌دهندۀ هدف است.

حتما بخوانید:  گسترش ثبت نام دامنه با اصطلاحات مرتبط blockchain

انتخاب ما: گزینهٔ۷،MinIO

در این مرحله اطلاعات پارتیشن S3 را به‌شکل دستی وارد کنید. بدون هیچ ورودی می‌توانید اینتر را بزنید.

Access Key ID را وارد کنید.

Secret Access Key را وارد کنید.

بدون هیچ ورودی Enter را بزنید تا همان گزینهٔ اول انتخاب شود.

Endpoint را برای S3 وارد کنید.

حتما بخوانید:  آموزش پیدا کردن شماره شبا برای همۀ بانک‌ها

دوباره بدون ورودی خاصی Enter را بزنید و این کار را تا زمانی که علامت 👇 را در این مقاله می‌بینید ادامه دهید.

👇

👇

👇

👇

در این مرحله وارد تنظیمات شده‌اید و برای تائید اطلاعات وارد شده اینتر را می‌زنید.

نکته ۱: برای خروج از تنظیمات می‌توانید Q را وارد کنید، اینتر را بزنید و خارج شوید.

نکته ۲: با دستور زیر می‌توانید دایرکتوری دل‌خواه را به باکت مونت کنید.

مثال:

در پایان هم دستور daemon را وارد کنید تا خیالتان از بابت اجرای آن در پس‌زمینه راحت شود و پس از خروج شما از سرور، قطع ارتباط صورت نگیرد.

جمع‌بندی

اگر قصد دارید از داده‌های‌تان در یک فضای حرفه‌ای و مطمئن نگهداری کنید، سرویس S3 کمپانی Amazon اینکار را برای‌تان انجام می‌دهد. در این مقاله علاوه بر معرفی این سرویس، یکی از روش‌های راه‌اندازی آن را بررسی کردیم.

اگر سوال یا نظری در رابطه با S3 دارید، در قسمت کامنت‌ها با ما مطرح کنید.

مایلید هر دو هفته یک ایمیل مفید دریافت کنید؟

ما را در شبکه‌های اجتماعی دنبال کنید

همچنین شاید دوست داشته باشید!

نظرات کاربران

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
شما برای ادامه باید با شرایط موافقت کنید

فهرست