هاست S3 یعنی فضای ذخیرهسازیای که فایلها را نه داخل دیسک سرور شما، بلکه روی یک سرویس جدا و سازگار با استاندارد S3 نگه میدارد. فایل را با یک آدرس اینترنتی میفرستید و هرجا که بخواهید از همان آدرس میخوانید؛ ظرفیت آن هم به ظرفیت دیسک سرورتان گره نخورده است.
هاست S3 دقیقاً چیست؟
هاست S3 یک سرویس ذخیرهسازی اشیایی (Object Storage) است که با API استاندارد آمازون S3 کار میکند. هر فایل با کلید خودش ذخیره میشود، همراه با متادیتا و دسترسی مستقل. چون API آن استاندارد است، ابزارهایی مثل s3cmd، rclone، aws-cli و تقریباً هر کتابخانهٔ برنامهنویسی بدون تغییر کد به آن وصل میشوند.
تفاوت اصلی با هاست معمولی در همین است: در هاست معمولی فایلها روی همان سروری هستند که سایت را اجرا میکند و با پر شدن دیسک، همهچیز متوقف میشود. در هاست S3 فایلها جای دیگری هستند و سرور فقط برای خواندن و نوشتن با آنها تماس میگیرد.
هاست S3 با دیسک سرور چه تفاوتی دارد؟
انتخاب بین این سه، بیشتر روی هزینه و مقیاس اثر میگذارد تا روی سرعت:
| ویژگی | دیسک سرور | بلاک استوریج | آبجکت استوریج (S3) |
|---|---|---|---|
| ساختار | فایلسیستم روی سرور | ولوم بلوکی | آبجکت با کلید و متادیتا |
| نحوهٔ اتصال | مستقیم به همان سرور | به یک سرور در هر لحظه | با HTTP API از هر جا |
| رشد ظرفیت | تا سقف دیسک سرور | تا سقف ولوم | مستقل از سرور، با تغییر پلن |
| مناسب برای | اجرای برنامه و سیستمعامل | دیتابیس و فایلهای تراکنشی | بکاپ، رسانه، فایل استاتیک، لاگ |
چه چیزهایی را روی هاست S3 نگه داریم؟
- بکاپ دیتابیس و فایلهای سایت؛ مهمترین کاربرد. بکاپ را جایی میگذارید که با خرابی سرور از دست نمیرود
- تصویر و ویدئوی کاربران؛ رسانهای که نباید با هر بار بزرگ شدن، دیسک سرور را پر کند
- فایلهای استاتیک و آپلودهای وردپرس؛ همان چیزی که در JetBackup و افزونههای بکاپ بهعنوان مقصد S3 شناخته میشود
- لاگ و آرشیو؛ فایلهایی که کم خوانده میشوند ولی باید بمانند
ساخت باکت و گرفتن کلید دسترسی
- وارد پنل لکسویا شوید و از بخش ذخیرهسازی، یک پلن انتخاب کنید.
- یک نام برای باکت انتخاب کنید. نام باکت در آدرسها استفاده میشود، پس انگلیسی و بدون فاصله باشد.
- پس از ساخت، کلید دسترسی و کلید مخفی باکت را بردارید. این دو مثل نام کاربری و رمز عبور هستند.
- آدرس اندپوینت هم در همان صفحه است. برای لکسویا مقدار آن
https://s3.lexoya.comاست.
کلیدها را در مخزن کد نگذارید. اگر روی سرور استفاده میکنید، در فایل تنظیمات خود ابزار یا در متغیرهای محیطی نگهشان دارید و دسترسی فایل را محدود کنید.
اتصال با s3cmd
ابزار s3cmd سادهترین راه برای کار خط فرمان با S3 است. کافی است یکبار تنظیمات را در فایل ~/.s3cfg بنویسید:
[default]
access_key = YOUR_ACCESS_KEY
secret_key = YOUR_SECRET_KEY
host_base = s3.lexoya.com
host_bucket = %(bucket)s.s3.lexoya.com
use_https = Trueاگر با خطای DNS یا ۴۰۴ روبهرو شدید، مقدار host_bucket را خالی بگذارید تا ابزار بهجای سبک زیردامنه، از سبک مسیر (/bucket/key) استفاده کند.
# فهرست باکتها
s3cmd ls
# ساخت باکت
s3cmd mb s3://my-bucket
# آپلود یک فایل داخل پوشهای در باکت
s3cmd put backup.tar.gz s3://my-bucket/backups/
# دیدن محتوای باکت
s3cmd ls s3://my-bucket/backups/اتصال با rclone
اگر میخواهید پوشهها را همگام کنید، rclone کار rsync را برای S3 انجام میدهد:
rclone config create lexoya s3 provider Other endpoint https://s3.lexoya.com access_key_id YOUR_ACCESS_KEY secret_access_key YOUR_SECRET_KEY
# کپی یک فایل
rclone copy backup.tar.gz lexoya:my-bucket/backups/
# همگامسازی یک پوشه (حذف فایلهای اضافه در مقصد)
rclone sync /var/www/uploads lexoya:my-bucket/uploads/بکاپ خودکار با JetBackup
اگر سرور وبسایت شما cPanel دارد، لازم نیست دستی بکاپ بفرستید. در JetBackup یک مقصد جدید از نوع S3 Compatible بسازید و این سه مقدار را وارد کنید:
- اندپوینت:
https://s3.lexoya.com - نام باکت و مسیر داخل آن
- کلید دسترسی و کلید مخفی همان باکت
بعد از ذخیرهٔ مقصد، یک زمانبندی بکاپ بسازید. از آن به بعد JetBackup خودش بکاپها را روی باکت میفرستد و دیسک سرور برای کار اصلی آزاد میماند.
چه پلنی انتخاب کنیم؟
پلنها بر اساس حجم ماهانه تعریف میشوند و باکتهای هر پلن اعتبارنامهٔ مستقل دارند. یک پلن یکگیگابایتی رایگان هم برای آزمایش وجود دارد.
| ظرفیت | مناسب برای |
|---|---|
| ۱ گیگابایت (رایگان) | آزمایش و پروژههای شخصی |
| ۳۰ تا ۱۰۰ گیگابایت | بکاپ یک سایت، رسانهٔ یک اپلیکیشن |
| ۲۵۰ تا ۵۰۰ گیگابایت | چند سایت، آرشیو تصویر و ویدئو |
| ۱۰۰۰ تا ۲۰۰۰ گیگابایت | آرشیو سازمانی و بکاپ چند سرور |
قیمت روز هر پلن را در صفحهٔ ذخیرهسازی لکسویا ببینید؛ قیمتها ممکن است تغییر کنند و بهتر است قبل از خرید از همان صفحه چک شود.
پرسشهای پرتکرار
هاست S3 با فضای ابری معمولی چه تفاوتی دارد؟
در فضای ابری معمولی فایلها روی دیسک یک سرور مینشینند و شما به همان سرور دسترسی دارید. در هاست S3 فایلها روی سرویس جدا ذخیره میشوند و فقط از طریق API میرسید؛ همین باعث میشود ظرفیت آن به سرور شما گره نخورد.
آیا ابزارهای AWS هم وصل میشوند؟
بله. سرویس با API استاندارد S3 سازگار است، پس aws-cli، boto3، s3cmd و rclone کار میکنند. فقط بهجای آدرس آمازون، اندپوینت لکسویا و کلید همان باکت را بدهید.
چند باکت میتوانم بسازم؟
چند باکت روی یک پلن قابل ساخت است و هر باکت اعتبارنامهٔ مستقل خودش را دارد؛ بنابراین میتوانید برای هر برنامه یا هر سایت کلید جداگانه بگذارید.
برای بکاپ وردپرس مناسب است؟
بله، اگر افزونهٔ بکاپ شما مقصد S3-Compatible دارد، اندپوینت و کلیدهای باکت را همانجا وارد کنید. مسیر پیشنهادی این است که برای هر سایت یک پوشهٔ جدا داخل باکت بسازید.
جمعبندی
هاست S3 جایگزین دیسک سرور نیست، مکمل آن است. برنامه و دیتابیس روی سرور میمانند و چیزی که نباید با خرابی سرور از بین برود، روی باکت میرود. اگر همین امروز میخواهید شروع کنید: یک باکت بسازید، کلید بگیرید، با rclone یک بکاپ را آپلود کنید و بعد مقصد JetBackup را روی همان باکت تنظیم کنید.
ادامهٔ مطلب را در این دو نوشته بخوانید: تفاوت ذخیرهسازی آبجکت با دیسک و فایلسیستم و مقایسهٔ قیمت فضای ذخیرهسازی S3 در ایران.
لکسویا فضای ذخیرهسازی سازگار با S3 را با پلن یکگیگابایتی رایگان و اعتبارنامهٔ مستقل برای هر باکت ارائه میدهد.