ارائه دهنده خدمات ابری PaaS و DBaaS

انتقال سرویس‌ها

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

فهرست عناوین:

اگر در هرکدام از مراحل انتقال سرویس‌ها با مشکلی روبرو بودید یا نکته‌ای مدنظرتان بود می‌توانید از طریق تیکت با پشتیبان‌های فنی لیارا در ارتباط باشید.

انتقال برنامه

فرض را بر این می‌گیریم که قصد انتقال برنامه‌ای با شناسه‌یsource-appرا به برنامه‌ای با شناسه‌یtarget-appداشته باشید.

راه‌اندازی و پیکربندی اولیه

در قدم اول باید برنامه‌ی target-app را با پلن دلخواه ایجاد کنید. سپس تنظیمات مرتبط و یا ویژگی‌های استفاده شده در برنامه‌ی source-app مانند متغیرهای محیطی و یا استفاده از قابلیت آی‌پی ثابت را نیز باید در برنامه‌ی target-app تنظیم و یا فعال کنید.

انتقال سورس‌کد

برای انتقال سورس‌کد می‌توانید آخرین سورس‌کدی که با موفقیت دیپلوی شده را از بخش تاریخچه برنامه‌ی source-app دانلود کرده و سورس‌کد دانلود شده را با استفاده از لیارا CLI در برنامه‌ی target-app مستقر کنید.

$ npm i -g @liara/cli
$ liara login
$ cd source-code/
$ liara deploy --app target-app --detach

انتقال دیسک‌ها

۱) انتقال دیسک‌ها با استفاده از دسترسی FTP

در ابتدا باید تمام دیسک‌های برنامه‌یsource-appرا ترجیحا با نام یکسان با استفاده از دستور liara disk:create برای برنامه‌یtarget-appبسازید. سپس اطلاعات دیسک‌ها را در فایل liara.json وارد کرده و دستور liara deploy را اجرا کنید تا دیسک‌های ایجاد شده در فرایند استقرار به مسیر مورد نظر مونت شوند.

به‌منظور بررسی نتیجه‌ی مونت شدن دیسک‌ها می‌توانید وضعیت هر دیسک را در صفحه‌ی دیسک‌های برنامه مشاهده کنید.

سپس در صفحه‌ی پشتیبان‌گیری دیسک‌های برنامه‌یsource-app، از هر دیسک یک فایل پشتیبان تهیه کرده و آن را دانلود کنید. در نهایت از طریق ایجاد دسترسی FTP برای دیسک‌های برنامه‌ی target-app می‌توانید فایل پشتیبان دانلود شده را در دیسک‌ها مونت شده به مسیر مورد نظر، آپلود کنید. از آنجا که FTP قابلیت Extract فایل فشرده را ندارد باید از طریق خط فرمان به‌برنامه‌یtarget-appمتصل شده و فایل‌های فشرده آپلود شده را Extract کنید:

$ cd storage/uploads
$ tar -xzvf backup.tar.gz
در دستور بالا، فرض بر این بوده که نام فایل پشتیبان شماbackup.tar.gzاست.

۲) انتقال دیسک‌ها با استفاده از خط فرمان

در ابتدا باید تمام دیسک‌های برنامه‌یsource-appرا ترجیحا با نام یکسان با استفاده از دستور liara disk:create برای برنامه‌یtarget-appبسازید. سپس اطلاعات دیسک‌ها را در فایل liara.json وارد کرده و دستور liara deploy را اجرا کنید تا دیسک‌های ایجاد شده در فرایند استقرار به مسیر مورد نظر مونت شوند.

به‌منظور بررسی نتیجه‌ی مونت شدن دیسک‌ها می‌توانید وضعیت هر دیسک را در صفحه‌ی دیسک‌های برنامه مشاهده کنید.

سپس در صفحه‌ی پشتیبان‌گیری دیسک‌های برنامه‌یsource-app، از هر دیسک یک فایل پشتیبان تهیه کرده و لینک دریافت فایل را کپی کنید و به خط فرمان برنامه‌ی target-app متصل شده و دستور زیر را برای دانلود پشتیبان وارد کنید:

$ wget 'URL' -O backup.tar.gz
دستور فوق، فایل پشتیبان را از آدرس URL دانلود کرده و با نامbackup.tar.gzذخیره می‌کند. توجه داشته باشید که در زمان دانلود فایل پشتیبان نباید برنامه‌‌تان را ری‌استارت کنید و یا دیپلوی جدیدی انجام دهید. بعد از اتمام دانلود فایل پشتیبان در دیسک برنامه‌ی target-app، آن را حالت فشرده خارج کنید:
$ mv backup.tar.gz storage/uploads
$ tar -xzvf backup.tar.gz -C storage/uploads

انتقال دیتابیس

توجه داشته باشید در زمان راه‌اندازی دیتابیس target-app-db باید دسترسی از طریق شبکه‌ی عمومی را فعال بگذارید.

انتقال دیتابیس‌‌های MySQL, MariaDB, PostgreSQL

پس از تهیه و دانلود فایل پشتیبان دیتابیس sorce-app-db باید فایل پشتیبان دانلود شده را از حالت فشرده خارج کنید و فایل‌های sql را در پوشه‌ای برای بازیابی در مرحله‌ی بعد نگه‌داری کنید. در مرحله‌ی بعد دیتابیس target-app-db را با همان نسخه‌ی دیتابیس sorce-app-db و پلن مورد نظر راه‌اندازی کنید. درنهایت با استفاده از پنل‌های مدیریت دیتابیس اعم از phpMyAdmin و PGAdmin، فایل‌های sql را در دیتابیس target-app-db بازیابی کنید.

انتقال دیتابیس‌های MongoDB

مطمئن شوید که MongoDB در کامپیوتر شما نصب است و در ترمینال یا CMD به‌ابزارmongorestoreدسترسی داشته باشید. در غیر این‌صورت باید MongoDB را نصب کنید.

پس از تهیه و دانلود فایل پشتیبان دیتابیس sorce-app-db باید فایل پشتیبان دانلود شده را از حالت فشرده خارج کنید و فایل‌های sql را در پوشه‌ای برای بازیابی در مرحله‌ی بعد نگه‌داری کنید. در مرحله‌ی بعد دیتابیس target-app-db را با همان نسخه‌ی دیتابیس sorce-app-db و پلن مورد نظر راه‌اندازی کنید. درنهایت دستور زیر را در کامپیوترتان برای بازیابی داده‌ها وارد کنید:

$ mongorestore --uri='CONNECTION_URI' --archive=my-db.dump

CONNECTION_URI را باآدرس URI در بخش دسترسی شبکه‌ی عمومی و my-db.dumpرا با مسیر فایل پشتیبان Extract شده جایگزین کنید. برای مثال:

mongorestore --uri='mongodb://root:pass@host:12345/my-app?authSource=admin' --archive=test-db.dump

انتقال سرویس فایل

برای انتقال داده‌ها بین دو سرویس فایل باید ابزار MinIO Client را بر روی سیستم خود نصب کرده و به‌شکل زیر اطلاعات سرویس فایل مبدا و مقصد اعم از access key و secret key را در mc وارد کنید:

$ mc alias set source-minio https://endpoint1.liara.space ACCESS-KEY1 SECRET-KEY1
$ mc alias set target-minio https://endpoint2.iran.liara.space ACCESS-KEY2 SECRET-KEY2

همان‌طور که مشاهده می‌کنید، ۲ بار از دستورmc alias setبرای معرفی هر دو سرویس فایل استفاده شده که دستور اول، نام سرویس فایل مبدا را source-minioو دستور دوم، نام سرویس فایل مقصد را target-minioقرار داده است. حال به‌شکل زیر با استفاده از ابزار mcمی‌توانید دو سرویس فایل را با یکدیگر هم‌گام و اصطلاحاmirrorکنید:

$ mc mirror source-minio/ target-minio/
با اجرای دستور فوق، تمام داده‌هایsource-minioدرtarget-minioکپی خواهد شد.

انتقال دامنه

درصورت نیاز به انتقال دامنه باید یک‌بار دیگر دامنه‌ی مدنظرتان را در حساب کاربری مقصد اضافه کنید. در صورتی که قصد انتقال چندین دامنه را داشته باشید پیشنهاد می‌کنیم به‌ترتیب دامنه‌ی اصلی و سپس زیردامنه‌ها را در حساب کابری جدید در بخش دامنه‌ها اضافه کنید. پس از اضافه کردن دامنه و یا دامنه‌ها در حساب کاربری مقصد باید رکوردهای جدیدی که در صفحه‌ی دامنه نمایش داده می‌شود را در سرویس DNS مورد استفاده مانند Cloudflare وارد کرده و رکوردهای قبلی را حذف کنید.