حسین جعفری
حسین جعفری
خواندن ۱۲ دقیقه·۱ روز پیش

قسمت هفتم:‌ تکنولوژی و سرویس‌های migration و انتقال داده

مقدمه

تو دنیای AWS، یکی از بخش‌های مهم برای هر Cloud Practitioner موضوع «مهاجرت و انتقال» داده‌ها و سیستم‌هاست. تو این فصل، دربارۀ تکنولوژی‌ها و سرویس‌هایی صحبت می‌کنیم که کمک می‌کنن دیتامون رو به‌سرعت و با کمترین دردسر به محیط ابری انتقال بدیم. اگه درست و اصولی انجامش بدیم، هم هزینۀ نگه‌داری زیرساخت کم می‌شه و هم کسب‌وکارمون سریع‌تر و چابک‌تر پیش می‌ره. حالا قراره یه دید کلی از این سرویس‌ها و روش‌ها بگیریم تا هر وقت احتیاج داشتیم، بتونیم برای انتقال پروژه‌ها و داده‌هامون ازشون بهترین استفاده رو داشته باشیم.

معرفی خانواده AWS Snow: راهکارهای انتقال داده‌های بزرگ به AWS

تصور کنید که حجم زیادی از داده‌ها، مثلاً بیش از 10 ترابایت یا بیشتر، در دیتاسنتر خودتون ذخیره کردید و قصد دارید این داده‌ها رو به عنوان بخشی از مهاجرت به فضای ابری، به AWS منتقل کنید. انتقال این حجم از داده‌ها از طریق اینترنت، ممکنه زمان زیادی ببره یا حتی باعث اختلال تو شبکه بشه، اینجاست که خانواده AWS Snow به کمک ما میاد.

خانواده Snow شامل دستگاه‌های فیزیکی هست که برای انتقال امن و کارآمد داده‌ها به AWS طراحی شدن.
این دستگاه‌ها زمانی به کار میان که پهنای باند شبکه شما برای انتقال آنلاین کارآمد نباشه؛ چه به دلیل زیاد بودن حجم داده و چه به خاطر ناپایدار بودن شبکه‌ای که در اون کار می‌کنید.

انواع دستگاه‌های AWS Snow و کاربرد آن‌ها

  • سرویس Snowball:
    اگر حجم داده‌های شما حداقل 10 ترابایت هست و نیاز به پردازش اضافی ندارید،Snowball یه گزینه عالیه. Snowball در واقع یه جعبه بزرگ پر از دیسک‌هاست که به شبکه شما وصل میشه و داده‌ها رو به دستگاه انتقال میدین.سپس دستگاه رو به AWS ارسال می‌کنید تا داده‌ها در فضای ذخیره‌سازی AWS بارگذاری بشن.
  • سرویس Snowball Edge:
    اگه علاوه بر انتقال 10 ترابایت یا بیشتر داده، به پردازش اولیه داده‌ها هم نیاز دارید، Snowball Edge بهترین گزینه‌ست. این دستگاه علاوه بر ذخیره داده، منابع محاسباتی داخلی داره که امکان پردازش داده‌ها رو فراهم می‌کنه. بنابراین، اگر به قابلیت محاسباتی هم نیاز دارید، Snowball Edge رو انتخاب کنید.
  • سرویس Snowmobile:
    Snowmobile برای انتقال داده‌های حجیم‌تر از 10 پتابایت طراحی شده و در واقع یه کانتینر عظیم پر از دیسک‌هاست که توسط کامیون جابه‌جا میشه.این گزینه مخصوص انتقال مجموعه داده‌های بسیار بزرگه.
  • سرویس Snowcone:
    Snowcone کوچک‌ترین و قابل‌حمل‌ترین عضو خانواده Snow هست. این دستگاه با ظرفیت 8 ترابایت HDD یا 14 ترابایت SSD، وزن کمی (کمتر از پنج پوند) داره و به راحتی توی کوله‌پشتی یا حتی یه جعبه پستی جا می‌گیره. این دستگاه بیشتر برای انتقال داده از مکان‌هایی که دیتاسنتر ندارن یا شبکه‌ای پایدار ندارن، مثل پایگاه‌های نظامی، استفاده میشه.

شناسایی ابزارهای Database Migration

اینجا با ابزارهای مهم AWS برای مهاجرت دیتابیس‌ها آشنا می‌شیم، که دو ابزار اصلی AWS Database Migration Service (DMS) و AWS Schema Conversion Tool (SCT) هستن.

سرویس AWS Database Migration Service (DMS)

سرویس Database Migration Service، که به اختصار DMS هم گفته میشه، ابزاریه که برای مهاجرت دیتابیس‌ها و بارهای تحلیلی به AWS استفاده میشه. این بارهای کاری می‌تونن روی سیستم‌های on premise (دیتاسنتر محلی)، روی EC2 یا حتی در RDS باشن.

فرض کنید یه دیتابیس Oracle دارین که ممکنه در دیتاسنتر شما یا روی EC2 اجرا بشه. با استفاده از DMS، می‌تونید این دیتابیس رو به سرویس RDS for Oracle منتقل کنید، که یه دیتابیس کاملا مدیریت‌شده Oracle در AWS هست. اما اگر بخواید اصلا از Oracle استفاده نکنید و بخواید به یه نوع دیتابیس دیگه مهاجرت کنید، اینجاست که AWS Schema Conversion Tool (SCT) به کمک شما میاد.

سرویس AWS Schema Conversion Tool (SCT)

سرویس SCT ابزاریه که به شما اجازه میده اسکیمای دیتابیس رو از یه نوع دیتابیس به نوع دیگه‌ای تبدیل کنید.
برای مثال، فرض کنید دیتابیس اصلی شما Oracle هست. با استفاده از SCT، می‌تونید این داده‌ها رو به اسکیمای دیگه‌ای مثل AWS Aurora for MySQL منتقل و تبدیل کنید.

مثال‌هایی از تبدیل‌های ممکن با SCT

  • تبدیل دیتابیس MySQL به RDS for MySQL در AWS
  • تبدیل SQL Server به Aurora for PostgreSQL در AWS
  • تبدیل MongoDB به DocumentDB در AWS
  • تبدیل Oracle به Redshift برای پردازش داده‌ها در AWS

معرفی AWS Transfer Family: راهکار انتقال فایل با شرکای خارجی

در واقع سرویس AWS Transfer Family به ما امکان انتقال فایل‌ها به AWS را می‌دهد. بیایید با یک مثال شروع کنیم. فرض کنید گروهی از شرکا، مثل مشتریان یا طرف‌های خارجی که با شما همکاری می‌کنند، نیاز دارن فایل‌هایی رو مستقیماً به AWS شما منتقل کنن و این فایل‌ها رو در فضای ذخیره‌سازی AWS شما ذخیره کنن. برای این کار، به یه راهکار انتقال فایل نیاز دارید، و این دقیقاً همون چیزیه که AWS Transfer Family فراهم می‌کنه.

ویژگی‌های AWS Transfer Family

با استفاده از AWS Transfer Family، می‌تونید انتقال فایل بین کسب‌وکارها (B2B) رو با استفاده از پروتکل‌های مختلفی انجام بدید، از جمله SFTP، AS2، FTPS و FTP. این فایل‌ها می‌تونن به AWS منتقل بشن یا از AWS به خارج ارسال بشن و برای ذخیره می‌تونن از S3 یا EFS استفاده کنن.

برای مثال، تصور کنید توی یه بانک سرمایه‌گذاری کار می‌کنید و هر روز از چندین شریک مختلف داده‌ها و گزارش‌هایی در مورد فعالیت‌های بازار سهام دریافت می‌کنید. AWS Transfer Family می‌تونه راهکار ایده‌آلی برای مدیریت این انتقال فایل‌ها باشه. در این مثال، شرکا از SFTP PUT استفاده می‌کنن تا فایل‌ها رو به مقصدی دور ارسال کنن که در واقع همون فضای ذخیره‌سازی S3 یا EFS ماست.

مزایای استفاده از AWS Transfer Family

مزیت اصلی استفاده از Transfer Family اینه که نیازی نیست شما راهکار انتقال فایل امنی رو به تنهایی بسازید و مدیریت کنید؛ AWS این مسئولیت رو به عهده می‌گیره. این سرویس به صورت پایدار و مقیاس‌پذیر ارائه میشه، و می‌تونید از ابزارهای انتقال فایل موجود مثل WinSCP، FileZilla، CyberDuck، LFTP و OpenSSH هم استفاده کنید.

پروتکل‌های پشتیبانی شده در AWS Transfer Family

  • پروتکل SFTP (Secure Shell File Transfer Protocol): از SSH برای امنیت و احراز هویت استفاده می‌کنه.
  • پروتکل AS2 (Applicability Statement 2): از HTTP و HTTPS برای انتقال فایل‌ها استفاده می‌کنه.
  • پروتکل FTPS (File Transfer Protocol over SSL): از TLS استاندارد برای رمزگذاری ترافیک استفاده می‌کنه.
  • پروتکل FTP (File Transfer Protocol): فایل‌ها رو به صورت متن ساده بدون رمزگذاری منتقل می‌کنه، و به دلیل عدم رمزگذاری امنیتی پیشنهاد نمی‌شه.

سرویس AWS DataSync: انتقال امن و کارآمد داده‌ها به AWS

فرض کنید 500 ترابایت داده دارید که می‌خواید از طریق شبکه به AWS منتقل کنید. این داده‌ها ممکنه در دیتاسنتر شما، در سرویس‌های ابری دیگه، یا حتی در سرویس‌های ذخیره‌سازی AWS در حساب‌ها یا مناطق دیگه‌ای ذخیره شده باشن. هدف شما اینه که این داده‌ها رو به سرویس‌های ذخیره‌سازی AWS مثل S3، EFS یا FSX انتقال بدید.

سرویس DataSync این کار رو برای شما ساده می‌کنه و همچنین داده‌ها رو در حین انتقال از طریق شبکه رمزگذاری می‌کنه. این سرویس برای انتقال حجم‌های بزرگ داده طراحی شده و امکان بازدهی بالا و انتقال خودکار رو فراهم می‌کنه که به جلوگیری از خطاهای انسانی کمک می‌کنه. DataSync از NFS یا سیستم فایل شبکه، سیستم فایل اشتراکی SMB مورد استفاده در سرورهای ویندوز، و ذخیره‌سازی اشیا پشتیبانی می‌کنه. پرداخت این سرویس هم فقط بر اساس حجم گیگابایتی که انتقال می‌دین محاسبه میشه.

موارد استفاده از AWS DataSync

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

  • مهاجرت امن داده‌ها به AWS:
    انتقال تمامی داده‌ها به شکل امن و مقرون‌به‌صرفه.
  • تکثیر داده‌ها برای بازیابی از فاجعه:
    به‌عنوان مثال، انتقال نسخه‌ای از داده‌ها به AWS برای بازیابی سریع در مواقع اضطراری.
  • آرشیو داده‌های تاریخی:
    اگر داده‌های مالی دارید که باید برای چند سال ذخیره بشن، می‌تونید اون‌ها رو به S3 یا Glacier منتقل کنید.
  • پردازش‌های ترکیبی یا چندابری (Hybrid/Multi-cloud):
    برای سناریوهایی که داده‌ها باید هم در دیتاسنتر یا ابرهای دیگه و هم در AWS نگه داشته بشن.

نمونه استفاده از DataSync توسط Autodesk

باید بدونیم AWS اخیراً جزئیاتی از پروژه‌ای که با شرکت Autodesk انجام داده، منتشر کرده. Autodesk، که ارائه‌دهنده نرم‌افزارهای طراحی با کامپیوتر هست، با استفاده از AWS DataSync موفق به انتقال 700 ترابایت از نسخه‌های پشتیبان پایگاه داده‌های خودشون بر روی یک لینک شبکه 1.4 گیگابیت بر ثانیه در ساعات کم‌کار شبانه شدن. این نسخه‌های پشتیبان برای بایگانی طولانی‌مدت به S3 و Glacier منتقل شدن و پروژه در 2.5 ماه تکمیل شد.

معرفی AWS Application Discovery Service: راهکار کشف و جمع‌آوری اطلاعات برای مهاجرت به AWS

فرض کنید که مجموعه‌ای از اپلیکیشن‌ها و دیتابیس‌ها دارید که قصد دارید اون‌ها رو به AWS مهاجرت بدید،
اما یه موجودی کامل یا طراحی‌های به‌روز از زیرساخت فعلی‌تون ندارید تا به برنامه‌ریزی این مهاجرت کمک کنه.
اینجاست که Application Discovery Service به کار میاد و به شما امکان میده تا سرورها و دیتابیس‌های اپلیکیشنی‌تون رو کشف کنید.

سرویس Application Discovery Service اطلاعات مربوط به تنظیمات فعلی شما رو جمع‌آوری می‌کنه و از طریق یه اتصال رمزگذاری‌شده به AWS ارسال می‌کنه، و این داده‌ها در AWS Migration Hub ذخیره میشن، که یه ابزار دیگه AWS برای هماهنگ‌سازی و مدیریت مهاجرت هست.

داده‌های جمع‌آوری شده توسط Application Discovery Service

این سرویس داده‌های مختلفی رو جمع‌آوری می‌کنه که شامل موارد زیره:

  • موجودی سرور: اطلاعاتی در مورد سرورهای فعلی شما رو ثبت می‌کنه.
  • پیکربندی و نسخه‌های سیستم‌عامل: شامل جزئیاتی از نسخه‌های سیستم‌عامل سرورها.
  • استفاده از ظرفیت: اطلاعات مربوط به مصرف منابع رو جمع‌آوری می‌کنه که بهتون کمک می‌کنه سیستم‌ها رو به درستی در AWS تنظیم کنید.
  • ارتباطات شبکه‌ای: اطلاعات مربوط به اتصال‌های ورودی و خروجی بین سرورها رو ثبت می‌کنه تا وابستگی‌ها بین سیستم‌های مختلف رو بهتر درک کنید.

نحوه جمع‌آوری داده‌ها

این سرویس داده‌ها رو از طریق Application Discovery Service Agent جمع‌آوری می‌کنه. شما این Agent رو روی ماشین‌های مجازی یا سرورهای فیزیکی نصب می‌کنید و این عامل داده‌ها رو به Application Discovery Service ارسال می‌کنه.

اگر از VMware استفاده می‌کنید، می‌تونید از جمع‌آوری بدون عامل (Agentless Collector) هم استفاده کنید،
که فقط برای مهاجرت از VMware کاربرد داره. این Collector به‌عنوان یه دستگاه مجازی در VMware vCenter نصب میشه واطلاعات ماشین‌های مجازی و میزبان‌های مرتبط با محیط vCenter شما رو جمع‌آوری می‌کنه.
این داده‌ها شامل نام میزبان‌ها، آدرس‌های IP، آدرس‌های MAC، تخصیص منابع دیسک، نسخه‌های پایگاه داده،طرح‌های دیتابیس، و معیارهای مصرف ظرفیت مثل CPU، RAM و I/O دیسک هستن.

معرفی AWS Application Migration Service: راهکار مهاجرت خودکار اپلیکیشن‌ها به AWS

سرویس AWS Application Migration Service یک راهکار ساده و خودکار برای مهاجرت اپلیکیشن‌ها به AWS ارائه میده.

مثال کاربردی

فرض کنید تعدادی اپلیکیشن دارید که می‌خواهید اون‌ها رو به AWS منتقل کنید. Application Migration Service به شما این امکان رو میده که اپلیکیشن‌ها رو از سرورهای فیزیکی، سرورهای مجازی اجرا شده روی VMware یا Microsoft Hyper-V و حتی از دیگر ارائه‌دهندگان ابری به AWS منتقل کنید. حتی می‌تونید از این سرویس برای انتقال EC2 instances بین مناطق مختلف AWS یا بین حساب‌های AWS هم استفاده کنید.

این سرویس به‌طور خودکار سرورهای منبع شما رو از زیرساخت‌های فیزیکی، مجازی یا ابری تبدیل می‌کنه تا بتونن به‌طور بومی روی AWS اجرا بشن. می‌تونید از این سرویس برای انجام تست‌ها استفاده کنید تا مطمئن بشید همه چیز به‌درستی کار می‌کنه قبل از اینکه به محیط جدید منتقل بشید. این روش به‌عنوان مهاجرت lift and shift شناخته میشه، چرا که اپلیکیشن بدون هیچ تغییری و دقیقا همونطور که هست، منتقل میشه.

نحوه عملکرد AWS Application Migration Service

ابتدا AWS replication agent رو روی هر سرور اپلیکیشنی که قصد دارید مهاجرتش بدید نصب می‌کنید.
سپس این سرویس، به‌طور مستمر از سرورهای منبع به سرورهای مقصد در AWS داده‌ها رو تکرار می‌کنه و ترافیک همواره رمزگذاری شده تا داده‌ها امن باقی بمونن.
در طول فرآیند تکرار، می‌تونید به استفاده معمول از سیستم‌ها ادامه بدید بدون اینکه تأثیری بر عملکرد سیستم‌ها داشته باشه.

هزینه‌ها به این شکل هست که شما برای زیرساخت‌های AWS که ایجاد می‌کنید، پرداخت می‌کنید؛
اما خود سرویس Application Migration، شامل بخش تکرار داده‌ها، تا 90 روز رایگان هست.
بیشتر کاربران در همین مدت 90 روز، اپلیکیشن‌های خودشون رو به‌طور کامل تکرار و مهاجرت میدن و از این رو،
می‌تونن بدون هزینه اضافی از این سرویس بهره ببرن.

مزایای AWS Application Migration Service

  • خودکار بودن: با این سرویس، نیازی به انجام کارها به‌صورت دستی ندارید، که همیشه مزیت بزرگیه.
  • پشتیبانی از انواع سیستم‌عامل‌ها: هم ویندوز و هم لینوکس پشتیبانی میشن.
  • انعطاف‌پذیری برای محیط‌های مختلف: می‌تونید اپلیکیشن‌هایی رو که روی سرورهای فیزیکی، مجازی یا دیگر ارائه‌دهندگان ابری اجرا میشن، به AWS منتقل کنید.

معرفی AWS Migration Hub: مدیریت متمرکز مهاجرت به AWS

سرویس AWS Migration Hub به عنوان یه مرکز متمرکز برای جمع‌آوری اطلاعات اپلیکیشن‌ها و سرورها عمل می‌کنه. Migration Hub به شما امکان میده تا فرآیند ارزیابی، برنامه‌ریزی، و پیگیری مهاجرت به AWS رو انجام بدید. همچنین می‌تونید سرورها رو به‌صورت منطقی گروه‌بندی کنید و مهاجرت اپلیکیشن‌ها و داده‌ها به AWS رو به طور یکجا مدیریت کنید.

یکپارچگی با سایر سرویس‌های مهاجرت

یکی از ویژگی‌های عالی Migration Hub اینه که با دیگر سرویس‌های مهاجرت AWS یکپارچه شده، از جمله:

  • سرویس Application Discovery Service: این سرویس برای کشف اپلیکیشن‌ها و دیتابیس‌های موجود شما استفاده میشه، اطلاعات پیکربندی رو جمع‌آوری می‌کنه و این داده‌ها در Migration Hub ذخیره میشن.
  • سرویسApplication Migration Service: این سرویس برای مهاجرت lift and shift خودکار استفاده میشه.
  • سرویس Database Migration Service: برای مهاجرت دیتابیس‌های موجود، مثل Oracle که در دیتاسنتر شما میزبانی میشه، به AWS به کار میره.

قابلیت‌های AWS Migration Hub

سرویس Migration Hub همچنین می‌تونه توصیه‌هایی درباره مدرن‌سازی اپلیکیشن‌ها ارائه بده. برای مثال، ممکنه بخواید اپلیکیشن‌های Java یا .Net رو به کانتینرهای Docker در Elastic Container Service (ECS) منتقل کنید. علاوه بر این، Migration Hub می‌تونه تخمینی از هزینه اجرای بار کاری فعلی شما روی EC2 instances در AWS ارائه بده.


خب تو این فصل در مورد مهاجرت و انتقال داده‌ها و سیستم‌ها به AWS نوشتیم؛ یعنی همون فرایندی که باعث می‌شه پروژه‌هامون رو با کمترین هزینه و بیشترین سرعت وارد فضای ابری کنیم. امیدوارم مفید بوده باشه.

لیست تمام قسمت ها

قسمت اول AWS Certified Cloud Practitioner : آشنایی با مفاهیم ابتدایی AWS Cloud

قسمت دوم AWS Certified Cloud Practitioner : خدمات مبتنی بر Compute

قسمت سوم AWS Certified Cloud Practitioner: فناوری و خدمات ذخیره‌سازی مثل S3

قسمت چهارم AWS Certified Cloud Practitioner: خدمات شبکه و Content Delivery

قسمت پنجم AWS Certified Cloud Practitioner : آشنایی با انواع دیتابیس در AWS

قسمت 6: تکنولوژی‌ها و سرویس‌های توسعه، پیام‌رسانی، و دیپلویمنت

قسمت هفتم:‌ تکنولوژی و سرویس‌های migration و انتقال داده


و در آخر این آدرس لینکدین و توئیتر من هست خوشحال میشم در ارتباط باشیم.

🪩 Follow Linkedin Hossein Jafari🪩

🕊 Twitter 🕊


انتقالaws
شاید از این پست‌ها خوشتان بیاید