برنامه نویسی

نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon EC2

این مقاله در اصل در Everything DevOps ارسال شده است.

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

برای حل این مشکل، Docker Inc Docker Compose را ایجاد کرد. شما می توانید از Docker Compose برای ساده کردن اجرای برنامه های چند کانتینری با حداقل دو دستور استفاده کنید. docker-compose up و docker-compose down.

در این مقاله یاد خواهید گرفت

  • آمازون EC2 چیست،
  • نحوه ایجاد و اتصال به یک نمونه آمازون EC2 و
  • نحوه استقرار یک برنامه نوشتن Docker در EC2

پیش نیازها

برای پیگیری این مقاله، باید موارد زیر را داشته باشید:

  • دانش اولیه ترمینال
  • مقداری تجربه با Docker و Docker Compose.
  • یک حساب AWS – نحوه ایجاد آن را در اینجا بیاموزید.

آمازون EC2 چیست؟

Amazon Elastic Compute Cloud (EC2) ظرفیت محاسباتی ایمن، قابل تغییر اندازه و مقیاس‌پذیر را برای تقریباً هر حجم کاری در سرویس‌های وب آمازون (AWS) Cloud فراهم می‌کند. با استفاده از آمازون EC2، می‌توانید هزینه‌های سربار سرمایه‌گذاری روی سخت‌افزار را حذف کنید تا بتوانید روی توسعه و گسترش سریع‌تر برنامه‌های خود تمرکز کنید.

با آمازون EC2، می توانید به تعداد مورد نیاز سرور مجازی (نمونه) راه اندازی کنید، امنیت و شبکه را پیکربندی کنید و فضای ذخیره سازی را مدیریت کنید. همچنین، Amazon EC2 شما را قادر می‌سازد تا به راحتی برنامه‌های خود را برای مدیریت تغییرات در نیازمندی‌ها یا افزایش محبوبیت، مقیاس‌بندی کنید و نیاز شما به پیش‌بینی ترافیک را کاهش دهد.

برای کسب اطلاعات بیشتر در مورد Amazon EC2، به صفحه محصول Amazon EC2 مراجعه کنید.

ایجاد و اتصال به یک نمونه آمازون EC2

پس از ایجاد یک حساب کاربری AWS، یک نمونه EC2 آمازون را با مراحل زیر ایجاد کرده و به آن متصل می شوید:

  • منطقه مورد نظر خود را برای نمونه انتخاب کنید
  • به کنسول EC2 بروید
  • نمونه را راه اندازی کنید
  • از طریق رایانه محلی خود از طریق SSH به نمونه متصل شوید

منطقه مورد نظر خود را برای استقرار انتخاب کنید

برای انتخاب یک منطقه در کنسول AWS خود، روی منوی کشویی همانطور که در گوشه سمت راست بالای تصویر زیر توضیح داده شده است کلیک کنید و منطقه مورد نظر خود را انتخاب کنید.

ممکن است بپرسید، “چگونه می توانم بدانم کدام منطقه برای برنامه من بهترین است؟” برای دانستن بهترین منطقه برای استقرار برنامه خود، این مقاله را در مورد «در انتخاب منطقه برای حجم کاری خود چه مواردی باید در نظر بگیرید» بررسی کنید.

پیمایش به کنسول EC2

پس از انتخاب منطقه AWS مورد نظر خود، برای رفتن به کنسول EC2، مانند تصویر زیر عبارت “EC2” را در کادر جستجو جستجو کنید.

1678955692 421 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

هنگامی که به کنسول EC2 رسیدید، محل را پیدا کنید راه اندازی نمونه را فشار دهید و روی آن کلیک کنید تا یک جریان راه اندازی نمونه EC2 جدید شروع شود.

1678955692 38 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

نمونه را راه اندازی کنید

در جریان راه اندازی نمونه EC2، از شما خواسته می شود که نمونه خود را با موارد زیر پیکربندی کنید:

  1. تصاویر برنامه و سیستم عامل (Amazon Machine Image): تصویر ماشین آمازون (AMI) الگویی است که شامل پیکربندی نرم افزار (سیستم عامل، سرور برنامه و برنامه های کاربردی) مورد نیاز برای راه اندازی نمونه شما می باشد.

    این مقاله از سرور لینوکس Ubuntu 22.04 با تنظیماتی که در تصویر زیر مشاهده می شود استفاده می کند.
    1678955692 946 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

  2. نوع نمونه: نوع نمونه ترکیبی از CPU، حافظه، ذخیره سازی و ظرفیت شبکه است. انواع مختلفی از نمونه های EC2 وجود دارد که به شما این امکان را می دهد تا ترکیب مناسبی از منابع را برای برنامه های خود انتخاب کنید.

    این مقاله از الف استفاده خواهد کرد t2.micro با CPU و حافظه که در تصویر زیر مشاهده می شود. برای کسب اطلاعات بیشتر در مورد انواع نمونه آمازون EC2، این مستند را بررسی کنید.

1678955692 999 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

  1. جفت کلید (ورود به سیستم): می توانید از یک جفت کلید برای اتصال ایمن به نمونه خود از راه دور از رایانه محلی خود استفاده کنید. برای ایجاد یک جفت کلید، روی آن کلیک کنید جفت کلید جدید ایجاد کنید همانطور که در تصویر زیر مشاهده می شود.
    1678955692 711 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

بعد از کلیک کردن جفت کلید جدید ایجاد کنید، یک پاپ آپ خواهید دید. در پنجره بازشو، جفت خود را نام ببرید و بقیه تنظیمات را به عنوان پیش فرض رها کنید (اگر رایانه محلی شما دارای سیستم عامل ویندوز است، انتخاب کنید .ppk فرمت فایل کلید خصوصی)، سپس کلیک کنید جفت کلید ایجاد کنید

بعد از کلیک کردن جفت کلید ایجاد کنید، آ .pem فایل کلید خصوصی به طور خودکار در رایانه شما دانلود می شود. کلید خصوصی را در مکانی امن و قابل دسترس در رایانه خود ذخیره کنید. بعداً برای اتصال به نمونه خود به آن نیاز خواهید داشت.

برای کسب اطلاعات بیشتر در مورد جفت کلیدهای آمازون EC2، این مستند را بررسی کنید.

1678955693 373 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

  1. تنظیمات شبکه: می توانید ترک کنید تنظیمات شبکه به عنوان پیش فرض تنظیمات شبکه پیش فرض مانند تصویر زیر از موارد زیر استفاده می کند:

    • VPC و زیرشبکه پیش‌فرض حساب AWS شما و تخصیص خودکار یک آدرس عمومی به نمونه شما را فعال می‌کند.
    • همچنین یک گروه امنیتی جدید ایجاد می کند، مجموعه ای از قوانین فایروال که ترافیک را برای نمونه شما کنترل می کند. پیش‌فرض، اجازه ترافیک SSH از هر نقطه است. این برای این مقاله کار می کند، اما در موارد استفاده از تولید، باید قوانین سخت گیرانه تری تعیین کنید.

1678955693 443 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

  1. پیکربندی ذخیره سازی: می توانید پیکربندی ذخیره سازی را به عنوان پیش فرض برای این مقاله بگذارید.
    1678955693 477 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

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

1678955693 923 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

بعد از تمام تنظیمات بالا، روی آن کلیک کنید نمونه راه اندازی و چند دقیقه صبر کنید تا نمونه شما مانند تصویر زیر راه اندازی شود.

1678955693 837 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

سپس بر روی آن کلیک کنید مشاهده همه موارد مانند تصویر بالا و نمونه مورد نظر را مانند تصویر زیر انتخاب کنید.

1678955694 659 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

به نمونه آمازون EC2 خود متصل شوید

با انتخاب نمونه EC2، در بالا همانطور که در تصویر زیر توضیح داده شده است، کلیک کنید اتصال.

1678955694 939 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

بعد از کلیک کردن اتصال صفحه ای با گزینه هایی برای اتصال به نمونه خود خواهید دید. این مقاله گزینه سرویس گیرنده SSH را در اختیار ما قرار می دهد.

مراحلی را که در صفحه می بینید مانند تصویر زیر با استفاده از .pem کلید خصوصی که با ایجاد جفت کلید شما دانلود شد.

1678955694 946 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

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

1678955694 387 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

در مرحله بعد، یک برنامه Docker Compose چند کانتینری را که دارای React frontend، باطن Node.js و کانتینرهای پایگاه داده MongoDB است، مستقر خواهید کرد و آن را در اینترنت در دسترس قرار خواهید داد.

استقرار یک برنامه Docker Compose چند کانتینری در Amazon EC2

قبل از اینکه بتوانید برنامه Docker Compose را اجرا کنید، باید:

  • ابتدا Docker Engine و Docker compose را روی نمونه EC2 خود نصب کنید.
  • سپس برای این مقاله برنامه آزمایشی Todo Docker Compose را از Github در نمونه خود شبیه سازی کنید
  • و سپس برنامه را مستقر کنید

نصب Docker Engine در یک نمونه اوبونتو EC2
سریعترین راه برای نصب موتور داکر استفاده از get-docker.sh اسکریپت bash در get.docker.com. دستور زیر را برای دانلود اسکریپت در نمونه EC2 خود اجرا کنید.

$ curl -fsSL https://get.docker.com -o get-docker.sh
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از اجرای دستور بالا تایید کنید که دانلود شده است get-docker.sh مانند تصویر زیر

1678955694 708 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

برای اجرای اسکریپت دستور زیر را اجرا کنید:

$ sh get-docker.sh
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

و پس از مدتی داکر بر روی نمونه اوبونتو EC2 نصب خواهد شد. برای تایید اجرای نصب $ docker --version و باید نسخه Docker را مانند تصویر زیر ببینید.

1678955694 718 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

اگر از AMI دیگری استفاده می‌کنید، اسناد نصب Docker را بررسی کنید تا نحوه نصب بر روی AMI انتخابی خود را بیاموزید.

نصب Docker Compose در یک نمونه Ubuntu EC2
اکنون برای نصب Docker Compose، دستور زیر را برای دریافت نسخه از Github اجرا کنید:\

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

و سپس دستور زیر را اجرا کنید:

$ sudo chmod +x /usr/local/bin/docker-compose
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با انجام این کار، وقتی می دوید $ docker-compose -v، باید نسخه ای را که به تازگی نصب کرده اید مانند تصویر زیر ببینید.

1678955695 941 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

شبیه سازی برنامه آزمایشی Docker Compose
برنامه چند کانتینری todo که شما مستقر خواهید کرد یکی از نمونه های مخزن Awesome Docker Compose Github است.

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

$ git clone https://github.com/docker/awesome-compose.git
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

پس از کلون کردن پروژه، دستور زیر را اجرا کنید تا به react-express-mongodb دایرکتوری که برنامه todo در آن قرار دارد:

$ cd awesome-compose/react-express-mongodb
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

1678955695 941 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

هنگامی که در فهرست پروژه، برای شروع کانتینرها با استفاده از compose.yaml فایل همانطور که در بالا توضیح داده شد اجرا کنید:

$ docker compose up -d
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

و بعد از اینکه داکر تصاویر را کشیده و شبکه ای را برای ارتباط کانتینرها با یکدیگر ایجاد کرد، خروجی مانند تصویر زیر را مشاهده خواهید کرد.

1678955695 434 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

برای تأیید اینکه 3 کانتینر در حال اجرا هستند، اجرا کنید $ docker ps و باید خروجی مشابه تصویر زیر را مشاهده کنید.

1678955695 429 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

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

آزمایش استقرار شما

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

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

1678955695 141 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

پس از کلیک بر روی گروه امنیتی، در منوی بعدی بر روی کلیک کنید قوانین ورودی را ویرایش کنید برای اضافه کردن قاعده ای که به ترافیک ورودی از طریق پورت اجازه می دهد 3000.

1678955695 476 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

و سپس، قانون را همانطور که در تصویر زیر مشاهده می کنید اضافه کنید.

1678955696 100 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

با انجام آن، هنگامی که شما بازدید از your_instance_public_ip:3000 باید اپلیکیشن Todo را مانند تصویر زیر ببینید.

1678955696 511 نحوه استقرار یک برنامه Multi Container Docker Compose در Amazon

نتیجه

در این مقاله، یاد گرفتید که Amazon EC2 چیست، چگونه یک نمونه آمازون EC2 را ایجاد و به آن متصل شوید، و چگونه یک برنامه کامپوزی Docker را در EC2 استقرار دهید.

چیزهای بیشتری برای یادگیری در مورد Amazon EC2 وجود دارد. برای کسب اطلاعات بیشتر، منابع زیر را بررسی کنید:

نوشته های مشابه

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

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

همچنین ببینید
بستن
دکمه بازگشت به بالا