برنامه نویسی

استقرار در AWS Elastic Beanstalk

Elastic Beanstalk چیست؟

Elastic Beanstalk یک سرویس محاسبات ابری ارائه شده توسط AWS است که استقرار، مدیریت و مقیاس برنامه‌ها و سرویس‌های وب را آسان‌تر می‌کند.
با Elastic Beanstalk، می‌توانید به سرعت برنامه‌های خود را مستقر کنید و به AWS اجازه دهید نیازهای زیرساختی اساسی را مدیریت کند.
Elastic Beanstalk از زبان ها و فریم ورک های برنامه نویسی مختلف از جمله جاوا، دات نت، پایتون، روبی و Node.js پشتیبانی می کند.

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

Elastic Beanstalk گزینه های استقرار مختلفی از جمله کنسول مبتنی بر وب، رابط خط فرمان و API ها را ارائه می دهد.
همچنین می‌توانید Elastic Beanstalk را با سایر سرویس‌های AWS مانند Amazon RDS، Amazon S3 و Amazon CloudWatch برای موارد استفاده پیشرفته‌تر ادغام کنید.

به طور کلی، Elastic Beanstalk یک راه ساده و راحت برای استقرار و مدیریت برنامه های وب در AWS بدون نگرانی در مورد زیرساخت های اساسی ارائه می دهد.

چرا باید از آن استفاده کرد؟

سرویس Elastic Beanstalk برای تسهیل فرآیند استقرار برای توسعه دهندگان ایجاد شده است.
به عنوان یک توسعه دهنده، لازم نیست نگران راه اندازی زیرساخت، تعادل بار، مقیاس خودکار و غیره باشید.
این موارد توسط AWS مراقبت می شود و شما فقط باید نگران نوشتن کد باشید.

پیش نیازها

برای استفاده از Elastic Beanstalk، به یک حساب کاربری AWS و آشنایی با AWS نیاز دارید.
همچنین باید کد برنامه خود را آماده داشته باشید و آن را در قالبی قابل استقرار داشته باشید، مانند یک فایل JAR برای برنامه های جاوا یا یک فایل ZIP برای Python یا برنامه های Node.
علاوه بر این، باید درک اولیه ای از زبان برنامه نویسی و چارچوبی که برنامه شما بر روی آن ساخته شده است داشته باشید.

فرآیند استقرار

در این مقاله، ما یک نمونه برنامه Node را با استفاده از سرویس Elastic Beanstalk اجرا خواهیم کرد.


  • به سرویس Elastic Beanstalk در AWS بروید و می‌توانید صفحه شروع را ببینید. برای ایجاد یک برنامه جدید جدید، روی آن کلیک کنید Create Application گزینه.

Beanstalk ایجاد Application.PNG

  • برای ایجاد یک برنامه Elastic Beanstalk، مراحل زیر را دنبال کنید:
  1. به سرویس Elastic Beanstalk در AWS بروید و روی “ایجاد برنامه” کلیک کنید.
  2. یک نام برای برنامه خود وارد کنید و پلتفرم و زبانی را که برنامه شما روی آن ساخته شده است انتخاب کنید.
  3. نوع محیط و گزینه های پیکربندی را انتخاب کنید که به بهترین وجه با نیازهای شما مطابقت دارد.
  4. کد برنامه خود را آپلود کنید و تنظیمات لازم مانند متغیرهای محیطی یا اتصالات پایگاه داده را پیکربندی کنید.
  5. تنظیمات خود را بررسی و تأیید کنید، سپس کلیک کنید Create Application.

هنگامی که برنامه شما ایجاد شد، Elastic Beanstalk به طور خودکار زیرساخت های لازم را فراهم می کند و برنامه شما را مستقر می کند.
شما می توانید برنامه خود را از طریق کنسول Elastic Beanstalk یا API کنترل و مدیریت کنید.

برنامه پلت فرم Setup.PNG

همانطور که در تصویر بالا مشاهده می کنید، Elastic Beanstalk از پلتفرم های مختلفی از جمله دات نت، جاوا، پایتون، نود و غیره پشتیبانی می کند.

من Node.js را به عنوان پلتفرم خود انتخاب می کنم و از یک کد برنامه نمونه برای استقرار اولیه استفاده می کنم. در اینجا پیکربندی کامل است.

Beanstalk Application Setup.PNG

حال، روی آن کلیک کنید create application گزینه ای برای شروع فرآیند استقرار

فرآیند استقرار بین 3-5 دقیقه زمان می برد. با ادامه روند استقرار، سرویس Elastic Beanstalk منابع زیر را به طور خودکار ایجاد می کند –

  1. نمونه EC2
  2. متعادل کننده های بار
  3. گروه های مقیاس خودکار
  4. سطل S3
  5. هشدارهای CloudWatch
  • هنگامی که برنامه با موفقیت ایجاد و اجرا شد، می توانید صفحه زیر را مشاهده کنید

Beanstalk Sample App Successful Deploy.PNG

نماد بررسی سبز نشان می دهد که برنامه با موفقیت در سرویس مستقر شده است.
می توانید روی آن کلیک کنید Go to environment گزینه ای برای دیدن برنامه مستقر شده.
در مورد ما، من از یک نمونه برنامه برای استقرار اولیه استفاده کردم و وقتی لینک را باز می کنم به این شکل به نظر می رسد

URL موجود در نوار آدرس یک URL عمومی برنامه کاربردی شما است، می توانید از خدمات DNS برای مسیریابی به دامنه های سفارشی خود نیز استفاده کنید.

نمونه برنامه Running.PNG


استقرار برنامه Node سفارشی

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

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

در اینجا من یک نمونه برنامه Node و Express API دارم.

  • یک پوشه فشرده از تمام فایل های پروژه خود به استثنای آن ایجاد کنید node_modules.

دستی Zip Deploy.PNG

  • کلیک کنید روی Upload and Deploy گزینه ای برای استقرار برنامه سفارشی شما در سرویس.

Build.PNG سفارشی را آپلود کنید

  • پس از کلیک بر روی Upload and Deploy گزینه، یک اعلان باز می کند که در آن می توانید فایل فشرده خود را آپلود کنید و هر پیکربندی اختیاری را اضافه کنید.

بعد از Zip Selection.PNG

  • پس از استقرار موفقیت آمیز، می توانید صفحه زیر را مشاهده کنید.

استقرار سفارشی Success.PNG

نماد سبز رنگ نشان می دهد که عملیات موفقیت آمیز بوده است. اگر نماد قرمز رنگی را مشاهده کردید، به این معنی است که در طول فرآیند استقرار خطایی رخ داده است.
شما می توانید اطلاعات دقیق را در Recent Events و Logs.

برای مرور برنامه خود، می توانید روی URL برجسته شده در تصویر بالا کلیک کنید یا روی آن کلیک کنید Go to environment گزینه از سمت چپ.

این URL عمومی است و می تواند برای مرور برنامه شما استفاده شود.

  • همانطور که در تصاویر زیر می بینید، من می توانم با موفقیت در تمام مسیرهای مشخص شده در برنامه Node + Express API خود حرکت کنم.

مرور برنامه سفارشی Deployed Root.PNG

مرور سفارشی Deployed App Test.PNG

  • سرویس Elastic Beanstalk گزینه های بیشتری از جمله مدیریت گزارش، سلامت برنامه و نظارت، مدیریت رویدادها و به روز رسانی های برنامه، و تنظیم آلارم ها را ارائه می دهد. شما می توانید این ویژگی ها را با توجه به نیاز خود بررسی کنید.

More Options.PNG


گزینه های استقرار بیشتر

در این مقاله، ما یک نمونه برنامه Node + Express API را با آپلود دستی پوشه ساخت، مستقر کردیم.

AWS راه های مختلف زیر را برای خودکارسازی فرآیند استقرار با استفاده از سرویس Elastic Beanstalk ارائه می دهد –

یکی از گزینه‌های خودکارسازی فرآیند استقرار با Elastic Beanstalk، استفاده از رابط خط فرمان Elastic Beanstalk (CLI) است.
CLI به شما امکان می دهد برنامه های خود را از خط فرمان مستقر و مدیریت کنید و می توان از آن برای ادغام Elastic Beanstalk با ابزارها و فرآیندهای دیگر استفاده کرد.
در اینجا می توانید اطلاعات بیشتری در مورد CLI بخوانید.

  • AWS CodePipeline برای CI/CD

AWS یک سرویس استقرار مداوم (CD) را برای Elastic Beanstalk به نام AWS CodePipeline ارائه می دهد.
با CodePipeline، می توانید فرآیند استقرار برنامه Elastic Beanstalk خود را با ایجاد خط لوله ای که شامل مراحل ساخت، آزمایش و استقرار برنامه شما است، خودکار کنید.
همچنین می‌توانید CodePipeline را با سایر سرویس‌های AWS مانند AWS CodeCommit، AWS CodeBuild و AWS CodeDeploy برای موارد استفاده پیشرفته‌تر ادغام کنید.
برای کسب اطلاعات بیشتر در مورد CodePipeline، می توانید به اسناد رسمی مراجعه کنید.


حذف استقرارها

برای استفاده از سرویس Elastic Beanstalk نیازی به هیچ هزینه ای نیست، اما باید هزینه منابع (EC2 و S3) ایجاد شده برای ذخیره و اجرای برنامه خود را بپردازید.

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

  • می توانید با حذف نسخه های برنامه از صفحه داشبورد Elastic Beanstalk شروع کنید.

برنامه هایی را که می خواهید حذف کنید انتخاب کنید و روی آنها کلیک کنید Actions برای ادامه حذف

Beanstalk Application.PNG را حذف کنید

در صفحه بعدی، تایید حذف را خواهید دید.
حتما انتخاب کنید Delete versions from Amazon S3 برای حذف اشیاء سطلی ایجاد شده در طول فرآیند استقرار و کلیک بر روی delete برای حذف برنامه های انتخاب شده

حذف Confirmation.PNG

  • سپس می توانید محیط برنامه را از داشبورد حذف کنید.

Terminate Environment.PNG

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

اکنون استقرار برنامه‌های انتخابی را با موفقیت حذف کرده‌اید. پاکسازی Elastic Beanstalk تمام منابع ایجاد شده به جز سطل های S3 را به طور خودکار حذف می کند.
شما باید سطل های S3 را به صورت دستی از کنسول S3 حذف کنید.


خلاصه

این مقاله مروری بر Elastic Beanstalk، یک سرویس رایانش ابری ارائه شده توسط AWS ارائه می‌کند که استقرار، مدیریت و مقیاس‌بندی برنامه‌ها و سرویس‌های وب را ساده می‌کند.
این مقاله شامل دستورالعمل‌هایی برای استقرار یک نمونه برنامه Node و برنامه سفارشی Node و Express API با استفاده از Elastic Beanstalk است.
علاوه بر این، این مقاله گزینه‌های استقرار، از جمله Elastic Beanstalk CLI و AWS CodePipeline را پوشش می‌دهد و دستورالعمل‌هایی برای حذف استقرارها برای جلوگیری از صدور صورت‌حساب برای منابع استفاده نشده ارائه می‌دهد.

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

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

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

دکمه بازگشت به بالا