ایجاد یک برنامه وب وردپرس بسیار در دسترس: پروژه AWS

Summarize this content to 400 words in Persian Lang
پروژه AWS: یک برنامه وب وردپرس بسیار در دسترس ایجاد کنید
مقدمه
این پروژه بر طراحی یک برنامه وب وردپرس انعطاف پذیر و مقیاس پذیر بر روی AWS تمرکز دارد. با استفاده از سرویسهای کلیدی AWS مانند Amazon VPC، Amazon RDS، Amazon EFS، EC2 و Application Load Balancer (ALB)، یک معماری قوی ایجاد میکند که در دسترس بودن، مقیاسپذیری و تحمل خطا را برای یک سایت وردپرس تضمین میکند و آن را برای سایتهای وردپرسی مناسب میسازد. برنامه های کاربردی ترافیک
با استقرار وردپرس در یک معماری چند لایه، یاد گرفتم که چگونه از زیرساخت AWS برای رفع نیازهای برنامههای پرترافیک استفاده کنم و از در دسترس بودن و تحمل خطا اطمینان حاصل کنم.
پشته فناوری
آمازون VPC: محیط های شبکه ایزوله و کنترل های امنیتی را فراهم می کند.
آمازون RDS: میزبان یک پایگاه داده MySQL قابل اعتماد و بسیار در دسترس برای وردپرس است.
آمازون EFS: یک راه حل ذخیره سازی مشترک و مقیاس پذیر برای محتوای پویا که چندین نمونه EC2 را قادر می سازد به داده های مشابه دسترسی داشته باشند.
آمازون EC2: نمونه های وردپرس را میزبانی می کند و به صورت پویا با گروه های مقیاس خودکار مقیاس می شود.
Application Load Balancer (ALB): ترافیک ورودی را در چندین نمونه برای دسترسی بیشتر توزیع می کند.
پیش نیازها
حساب AWS: برای دسترسی و پیکربندی خدمات AWS مورد نیاز است.
AWS CLI: برای مدیریت منابع و وظایف استقرار.
دانش اولیه شبکه AWS: آشنایی با VPC ها، زیرشبکه ها و گروه های امنیتی.
دانش راه اندازی وردپرس: آشنایی با نصب و پیکربندی وردپرس.
بیان مشکل یا مورد استفاده
مشکل: برنامه های وردپرس اغلب با چالش هایی روبرو هستند مقیاس پذیری و در دسترس بودن، به خصوص در محیط های میزبانی سنتی که ظرفیت ممکن است به طور خودکار با نیازهای ترافیک تنظیم نشود.
راه حل: با استفاده از AWS، این پروژه نشان میدهد که چگونه میتوان وردپرس را در یک معماری بسیار در دسترس و مقیاسپذیر راهاندازی کرد که میتواند نوسانات ترافیک را مدیریت کند و از حداقل خرابی اطمینان حاصل کند. سرویسهای مدیریتشده AWS محیط را قادر میسازد تا بهطور خودکار مقیاسپذیری کند، خطا را مدیریت کند و تجربه کاربر را بهبود بخشد.
ارتباط با دنیای واقعی: این رویکرد برای برنامه های وردپرس درجه تولید با ترافیک بالا، مانند سایت های تجارت الکترونیک، پلت فرم های خبری و وبلاگ های شرکتی ایده آل است. با پیاده سازی این معماری، شرکت ها می توانند مدیریت دستی، کاهش هزینه ها و بهبود قابلیت اطمینان و سرعت برنامه وردپرس خود را کاهش دهند.
پیاده سازی گام به گام
شبکه را پیکربندی کنید
به عنوان نقطه شروع کارگاه، باید به حساب AWS خود وارد شوید، منطقه مورد نظر خود را انتخاب کنید و یک VPC جدید ایجاد کنید.
برای انجام این کار بر روی آن کلیک کنید VPC های شما در سمت چپ کنسول کلیک کنید VPC ایجاد کنید. wordpress-workshop را به عنوان نام VPC خود و محدوده CIDR مانند زیر وارد کنید. وقتی کارتان تمام شد کلیک کنید ایجاد کنید.
پس از ایجاد VPC، در صفحه جزئیات VPC بر روی آن کلیک کنید اقدامات و سپس انتخاب کنید تنظیمات VPC را ویرایش کنید.مطمئن شوید که هر دو را فعال کنید وضوح DNS و نام میزبان DNS زیر تنظیمات DNS و کلیک کنید ذخیره کنید.
هنگامی که VPC ایجاد شد، گام بعدی ایجاد زیرشبکه هایی است که برای میزبانی برنامه در دو منطقه در دسترس بودن مختلف استفاده می شود. همانطور که در نمودار زیر نشان داده شده است، در مجموع شش زیرشبکه، سه زیر شبکه برای هر AZ ایجاد می کنیم:
اولین جفت زیرشبکه، عمومی، از طریق اینترنت قابل دسترسی خواهد بود و حاوی متعادل کننده های بار و دروازه های NAT است. جفت دوم، برنامه، شامل سرورهای برنامه و سیستم فایل EFS مشترک شما خواهد بود. سرورهای برنامه شما میتوانند از طریق دروازههای NAT با اینترنت ارتباط برقرار کنند، اما فقط از طریق متعادلکنندههای بار آدرسپذیر خواهند بود. در نهایت پایگاه داده جفت زیرشبکه پایگاه داده رابطه ای فعال / غیرفعال شما را نگه می دارند. برای سایر منابع موجود در VPC قابل دسترسی خواهد بود، اما به اینترنت دسترسی نخواهد داشت و نمیتواند توسط اینترنت یا متعادلکنندههای بار مورد بررسی قرار گیرد.
برای ایجاد هر یک از شش زیرشبکه لطفاً انتخاب کنید زیر شبکه ها در سمت چپ کنسول AWS VPC، سپس بر روی آن کلیک کنید زیر شبکه ایجاد کنید و از جزئیات جدول زیر برای تعریف ویژگی های هر یک از زیرشبکه های خود استفاده کنید. اطمینان حاصل کنید که همیشه انتخاب کنید وردپرس-کارگاه VPC هنگام ایجاد زیرشبکه ها.
اسکرین شات ها در این آزمایشگاه از یک استقرار در ایرلند (eu-west-1) منطقه، اگر در یک منطقه AWS متفاوت میسازید، لطفاً مطمئن شوید که زیرشبکههای خود را در 2 منطقه در دسترس متفاوت در همان منطقه ایجاد کردهاید، مانند us-west-2a و us-west-2b.
برای هر زیر شبکه یک نام و یک محدوده CIDR برای زیرشبکه مشخص کنید. مطمئن شوید و یک زیرشبکه عمومی، برنامه و داده در هر یک از دو منطقه در دسترس ایجاد کنید که در جدول زیر توضیح داده شده است.
در این مرحله همه زیرشبکههای صحیح ایجاد شدهاند و میتوانند ترافیک شبکه را بین خود هدایت کنند. در مجموعه مراحل بعدی شما یک دروازه اینترنتی ایجاد می کنید که امکان ارتباط بین VPC و اینترنت را فراهم می کند. شما همچنین جداول مسیریابی خود را طوری پیکربندی خواهید کرد که فقط با زیرشبکه های عمومی و نه برنامه های خصوصی یا زیرشبکه های داده اجازه ارتباط اینترنتی را بدهد.
مراحل زیر امکان اتصال از اینترنت به زیرشبکه های عمومی و همچنین اتصال از زیر شبکه های خصوصی به اینترنت از طریق دروازه های NAT را فراهم می کند.
ابتدا باید یک دروازه اینترنتی جدید (IGW) از داشبورد VPC خود ایجاد کنید و آن را به VPC wordpress-workshop متصل کنید. با کلیک کردن شروع کنید دروازه های اینترنت در سمت چپ کنسول VPC و سپس روی آن کلیک کنید ایجاد دروازه اینترنت دکمه یک نام برای IGW خود مانند WP Internet Gateway وارد کنید و کلیک کنید ایجاد دروازه اینترنت.
پس از ایجاد IGW، باید آن را با VPC خود با وصل کردن آن به VPC خود مرتبط کنید.انتخاب کنید به VPC وصل کنید از اقدامات منوی کشویی و سپس wordpress-workshop VPC را از لیست کشویی VPC های موجود انتخاب کنید و بر روی دروازه اینترنت را وصل کنید.
این دروازه توسط نمونه ها و سرویس های در حال اجرا در زیرشبکه های عمومی (مانند زیرشبکه عمومی A و زیرشبکه عمومی B) برای برقراری ارتباط با اینترنت استفاده می شود.
هنگامی که دروازه ایجاد شد، باید یک جدول مسیریابی جدید ایجاد کنید و آن را با زیرشبکه های عمومی مرتبط کنید.با انتخاب یک جدول مسیر جدید ایجاد کنید جداول مسیر در منوی سمت چپ کنسول و سپس روی دکمه کلیک کنید جدول مسیر را ایجاد کنید دکمهبه آن یک نام و wordpress-workshop را از منوی بازشو انتخاب کرده و بر روی آن کلیک کنید جدول مسیر را ایجاد کنید.
پس از ایجاد جدول مسیر، آن را از قسمت انتخاب کنید جداول مسیر بخش داشبورد VPC خود را، سپس بر روی آن کلیک کنید اقدامات -> مسیرها را ویرایش کنید و از طریق Internet Gateway ایجاد شده در مرحله قبل یک مسیر پیش فرض اضافه کنید و بر روی آن کلیک کنید ذخیره تغییرات.
در نهایت، شما باید جدول مسیر جدید ایجاد شده را با زیرشبکه های عمومی مرتبط کنید. برای انجام این کار، روی جدول مسیر عمومی کلیک کنید، سپس بر روی آن کلیک کنید انجمن های زیر شبکه، با کلیک بر روی آن ویرایش کنید پیوندهای زیر شبکه را ویرایش کنید و دو زیرشبکه عمومی که قبلا ایجاد شده اند را انتخاب کرده و بر روی آن کلیک کنید ذخیره انجمن ها.
نمونه های WordPress باید بتوانند به اینترنت متصل شوند و برنامه ها و به روز رسانی های سیستم عامل را دانلود کنند. برای جلوگیری از وابستگی در مناطق در دسترس، شما می خواهید دو دروازه NAT ایجاد کنید، یکی برای هر منطقه در دسترس که در آن برنامه مستقر است.
برای انجام این کار، یک دروازه NAT در هر منطقه دسترسی ایجاد میکنید، سپس یک جدول مسیر برای هر زیر شبکه برنامه ایجاد میکنید، جدول مسیر را با یک مسیر پیشفرض از طریق دروازه NAT در همان منطقه AZ به روز میکنید و سپس جدول مسیر را به زیر شبکه برنامه مربوطه
به داشبورد VPC در حساب خود بروید، انتخاب کنید دروازه های NAT و در هر یک از دو زیرشبکه عمومی (یعنی زیرشبکه عمومی A و عمومی B) یک دروازه ایجاد کنید. همیشه هنگام ایجاد دروازه مطمئن شوید که زیرشبکه عمومی صحیح را انتخاب کرده اید.
اکنون باید جداول مسیر را برای هر یک از دو زیرشبکه Application ایجاد کنیم و از دروازههای NAT که قبلاً ایجاد شدهاند به عنوان دروازه پیشفرض استفاده کنیم:
جدول مسیر را ویرایش کنید و مسیر پیش فرض را از طریق دروازه NAT در زیر شبکه Application A اضافه کنید:
جدول مسیر را با برنامه زیرشبکه A مرتبط کنید:
سه مرحله آخر را تکرار کنید تا یک جدول مسیر برای برنامه زیرشبکه B نیز ایجاد کنید که از دروازه NAT مستقر در منطقه دسترسی دوم استفاده می کند.
اکنون یک شبکه ابری خصوصی مجازی در دو منطقه در دسترس در یک منطقه AWS ایجاد کرده اید. شما شش زیرشبکه ایجاد کردهاید، سه زیرشبکه در هر منطقه در دسترس، و مسیری را پیکربندی کردهاید تا اینترنت بتواند با منابع موجود در زیرشبکههای عمومی و بالعکس ارتباط برقرار کند. زیرشبکه های برنامه از طریق جدول مسیریابی برای ارتباط با اینترنت از طریق دروازه های NAT در زیرشبکه های عمومی پیکربندی شده اند و زیرشبکه های داده فقط می توانند با منابع در شش زیرشبکه ارتباط برقرار کنند، اما نه اینترنت.
لطفاً توجه داشته باشید که اطلاعات زیر بر اساس یک VPC مستقر در آن است ایرلند (eu-west-1) منطقه اگر منطقه دیگری را برای تنظیم خود انتخاب کرده بودید، باید نام منطقه را بر این اساس تنظیم کنید.
میتوانید پیکربندی خود را بر اساس تصویر زیر مقایسه کنید و زمانی که تنظیمات خود را تأیید کردید، حرکت کنید.
بررسی کنید نقشه منابع بخشی از VPC شما که VPC، زیرشبکهها، جداول مسیر، دروازههای اینترنت، دروازههای NAT را نشان میدهد که به شما کمک میکند منابع را تجسم کنید.
ساخت ردیف داده
پایگاه داده RDS را راه اندازی کنید
شما 2 گروه امنیتی ایجاد خواهید کرد:
از کنسول VPC آمازون دیدن کنید و 2 گروه امنیتی ایجاد کنید.
ابتدا گروه امنیتی WP Database Clients را ایجاد کنید:
را کلیک کنید ایجاد گروه امنیتی
را پر کنید نام گروه امنیتی و توضیحات زمینه ها
wordpress-workshop را از منوی کشویی انتخاب کنید
به پایین صفحه بروید و روی آن کلیک کنید ایجاد گروه امنیتی
اکنون گروه امنیتی WP Database را ایجاد کنید:
در قوانین ورودی بخش، روی آن کلیک کنید قانون اضافه کنید
نوع را انتخاب کنید MySQL/Aurora که اجازه تردد در پورت 3306 را می دهد سفارشی منبع مشتریان پایگاه داده WP گروه امنیتی
لطفاً توجه داشته باشید که می توانید گروه امنیتی را با نام در قسمت منبع قانون گروه امنیتی جستجو کنید.
اکنون آماده ایجاد پایگاه داده RDS خود هستید.
Amazon RDS یک سرویس پایگاه داده رابطه ای آسان برای مدیریت است. هنگامی که از Amazon RDS برای استقرار یک پایگاه داده در یک راه اندازی بسیار در دسترس استفاده می کنید، 2 نمونه در 2 منطقه در دسترس بودن مختلف ایجاد می کند. برای انجام این کار، هنگامی که یک پایگاه داده ایجاد می کنید، یک گروه زیر شبکه را مشخص می کنید که به RDS می گوید که در کدام زیرشبکه ها می تواند نمونه های پایگاه داده شما را مستقر کند.
برای ایجاد یک گروه زیرشبکه DB، به کنسول RDS آمازون مراجعه کنید، روی آن کلیک کنید گروه های زیر شبکه **در پانل سمت چپ خود، روی **ایجاد گروه زیرشبکه DB کلیک کنید را فشار دهید و از جزئیات زیر استفاده کنید:
به پایین اسکرول کنید و این دو را اضافه کنید زیرشبکه های داده قبلا (یکی برای هر AZ) به گروه زیر شبکه جدید خود ایجاد کرده و کلیک کنید ایجاد کنید.
لطفاً توجه داشته باشید، برای دریافت شناسه زیرشبکههای داده، میتوانید یک تب دوم را باز کنید و به بخش **زیر شبکه**های کنسول VPC بروید. از لیست زیرشبکه ها، زیرشبکه مورد نظر خود را انتخاب کنید. در پایین صفحه می توانید آن را کپی کنید. شناسه زیر شبکه با کلیک بر روی نماد Copy to clipboard در کنار شناسه.
پس از ایجاد گروه زیرشبکه، آماده راه اندازی پایگاه داده تحت مدیریت RDS هستید.به کنسول RDS آمازون بروید، انتخاب کنید پایگاه های داده **از منوی سمت چپ و روی **ایجاد پایگاه داده کلیک کنید.
جزئیات زیر را وارد کنید:
روش ایجاد پایگاه داده: ایجاد استاندارد
گزینه های موتور: Aurora (سازگار با MySQL)
نسخه موتور پیش فرض را حفظ کنید
از wpadminas استفاده کنید نام کاربری اصلی
هنگامی که از شما خواسته شد پسورد اصلی را انتخاب کنید، می توانید روی Auto create a password کلیک کنید یا رمز عبور خود را ایجاد کنید – در هر صورت لطفاً مطمئن شوید که رمز عبور را یادداشت کرده اید زیرا چند مرحله بعد هنگام تنظیم اتصال نمونه های WordPress لازم است. به پایگاه داده
اندازه نمونه DB را همراه با استقرار Multi-AZ انتخاب کنید، که برای در دسترس بودن بالا لازم است. برای پایین نگه داشتن هزینه ها، برای این کارگاه استفاده از کلاس نمونه انفجاری (db.t4g.medium یا مشابه) را توصیه می کنیم. نمونه های انفجاری ممکن است برای محیط های تولید مناسب نباشند.
در بخش اتصال، مطمئن شوید که wordpress-workshop VPC را به همراه گروه زیرشبکه aurora-wordpress DB و گروه امنیتی WP Database که قبلاً ایجاد شده است را انتخاب کنید:
در نظارت بخش، علامت را بردارید DevOps Guru را روشن کنید
گسترش دهید پیکربندی اضافی بخش و یک را مشخص کنید نام پایگاه داده اولیه از وردپرس.
در نهایت بر روی آن کلیک کنید ایجاد پایگاه داده برای شروع ساخت خوشهتهیه و در دسترس قرار گرفتن پایگاه داده چند دقیقه طول می کشد.
پایگاه داده فعال/غیرفعال اکنون باید در دسترس باشد و در دو ناحیه در دسترس بودن متفاوت اجرا شود و منتظر اتصالات از هر منبع EC2 با گروه امنیتی کلاینت مرتبط با آن باشد.لطفاً پیکربندی خود را بر اساس اسکرین شات های زیر مقایسه کنید و پس از تأیید تنظیمات خود، به سمت آن حرکت کنید.
گروه های امنیتی
گروه زیر شبکه
راه اندازی پایگاه داده
فایل سیستم مشترک را ایجاد کنید
Amazon Elastic File System (Amazon EFS) یک سیستم فایل ساده، مقیاس پذیر و الاستیک را برای بارهای کاری عمومی برای استفاده با خدمات AWS Cloud و منابع داخلی ارائه می دهد. در این آزمایشگاه شما یک کلاستر EFS ایجاد می کنید که یک سیستم فایل مشترک برای محتوای وردپرس شما فراهم می کند.
هنگام استفاده از Amazon EFS، گروههای امنیتی Amazon EC2 را برای نمونههای EC2 خود و گروههای امنیتی را برای اهداف نصب EFS مرتبط با سیستم فایل مشخص میکنید. یک گروه امنیتی به عنوان یک فایروال عمل می کند و قوانینی که اضافه می کنید جریان ترافیک را مشخص می کند.
در این کارگاه شما 2 گروه امنیتی ایجاد خواهید کرد:
برای ایجاد 2 گروه امنیتی از کنسول VPC آمازون دیدن کنید.
ابتدا گروه امنیتی WP EFS Clients را ایجاد کنید:
را کلیک کنید ایجاد گروه امنیتی
را پر کنید نام گروه امنیتی و توضیحات زمینه ها
از منوی کشویی wordpress-workshop VPC را انتخاب کنید
به پایین صفحه بروید و روی آن کلیک کنید ایجاد گروه امنیتی
Amazon EFS یک سیستم فایل مشترک ایجاد می کند و آن را به عنوان یک اشتراک NFS در معرض نمایش قرار می دهد. گروه امنیتی متصل به نقاط اتصال EFS باید به اتصالات ورودی در پورت NFS TCP 2049 اجازه دهد.
ایجاد گروه امنیتی WP EFS:
در قوانین ورودی بخش، روی آن کلیک کنید قانون اضافه کنید
نوع را انتخاب کنید NFS و مشخص کنید سفارشی منبع مشتریان WP EFS گروه امنیتی
لطفاً توجه داشته باشید که می توانید گروه امنیتی را با نام در قسمت منبع قانون گروه امنیتی جستجو کنید.
اکنون شما آماده ایجاد سیستم فایل EFS هستید.
برای ایجاد یک فایل سیستم EFS به کنسول آمازون EFS مراجعه کرده و کلیک کنید ایجاد سیستم فایل.
WordPress-EFSin را وارد کنید نام زمینهاز منوی کشویی VPC، wordpress-workshop VPC را انتخاب کرده و کلیک کنید سفارشی کنید.
در صفحه ایجاد، علامت را بردارید فعال کردن پشتیبان گیری خودکار برای جلوگیری از پشتیبان گیری از محتویات فایل سیستم. توصیه می شود هنگام استقرار یک محیط تولید، آن را فعال نگه دارید.
تمام تنظیمات دیگر را بدون تغییر نگه دارید و کلیک کنید بعدی.
در دسترسی به شبکه صفحه، زیر اهداف را سوار کنید، دو زیرشبکه ایجاد شده برای ردیف داده (زیر شبکه داده A و B) را انتخاب کنید. در سمت راست، زیر گروه های امنیتی، گروه امنیتی WP EFS ایجاد شده در بالا را به هر هدف mount مرتبط کنید و ارتباط را با آن حذف کنید پیش فرض گروه امنیتیکلیک کنید بعدی.
پیش فرض ها را در صفحه بعدی بپذیرید سیاست سیستم فایل
کلیک کنید بعدی، ایجاد سیستم فایل را با کلیک کردن بررسی و تایید کنید ایجاد کنید.
با این کار دو هدف mount در زیرشبکه های Data ایجاد می شود و پس از چند لحظه سیستم فایل تبدیل می شود موجود است.
لایه برنامه را بسازید
متعادل کننده بار را ایجاد کنید
برای توزیع ترافیک در سرورهای برنامه وردپرس خود به یک متعادل کننده بار نیاز دارید. در این آزمایشگاه شما یک Application Load Balancer ایجاد خواهید کرد.
Application Load Balancer در سطح درخواست (لایه 7)، مسیریابی ترافیک به اهداف (نمونه های EC2، کانتینرها، آدرس های IP و توابع Lambda) بر اساس محتوای درخواست عمل می کند.
برای ایجاد گروه های امنیتی از کنسول VPC آمازون دیدن کنید.
ابتدا گروه امنیتی WP Load Balancer را ایجاد کنید:
را کلیک کنید ایجاد گروه امنیتی
را پر کنید نام گروه امنیتی و توضیحات زمینه ها
از منوی کشویی wordpress-workshop را انتخاب کنید
در قوانین ورودی بخش، روی آن کلیک کنید قانون اضافه کنید
نوع را انتخاب کنید HTTP که اجازه تردد در پورت 80 را می دهد آی پی من منبع برای محدود کردن دسترسی به IP عمومی فعلی شما.
به پایین صفحه بروید و روی آن کلیک کنید ایجاد گروه امنیتی
در خارج از محیط کارگاه، احتمالاً می خواهید گروه امنیتی را تغییر دهید تا از هر آدرس IP اجازه دسترسی داشته باشید. برای کسب اطلاعات بیشتر در مورد امنیت در فضای ابری و فضای ابری، لطفاً به وب سایت AWS Cloud Security مراجعه کنید.
اکنون گروه امنیتی WP Web Servers را ایجاد کنید:
در قوانین ورودی بخش، روی آن کلیک کنید قانون اضافه کنید
نوع را انتخاب کنید HTTP که اجازه تردد در پورت 80 را می دهد سفارشی منبع WP Load Balancer گروه امنیتی
لطفاً توجه داشته باشید که می توانید گروه امنیتی را با نام در قسمت منبع قانون گروه امنیتی جستجو کنید.
یک متعادل کننده بار ترافیک ورودی برنامه را در چندین هدف، مانند نمونه های EC2، در چندین منطقه در دسترس توزیع می کند و در دسترس بودن پلت فرم وردپرس را افزایش می دهد.
از کنسول EC2 کلیک کنید Load Balancers **در منوی سمت چپ و سپس روی **Create load balancer کلیک کنید.کلیک کنید **زیر **Application Load Balancer ایجاد کنید.
یک نام و زیر به بار متعادل کننده خود بدهید نقشه برداری شبکه wordpress-workshop VPC را انتخاب کنید.سپس چک باکس هر دو منطقه در دسترس را علامت بزنید و زیرشبکه های عمومی ایجاد شده در اولین آزمایشگاه را انتخاب کنید.
زیر گروه های امنیتی را انتخاب کنید WP Load Balancer قبلا ایجاد شده و هر گروه امنیتی پیش فرض را حذف کنید.
زیر شنوندگان و مسیریابی روی لینک کلیک کنید گروه هدف ایجاد کنید.
این یک پنجره جدید برای ایجاد یک گروه هدف جدید برای شما باز می کند. از جزئیات زیر استفاده کنید
سپس، در بررسی های سلامت بخش، مسیر زیر را وارد کنید:
/phpinfo.php در آزمایشگاه بعدی شما الگوی راه اندازی را برای سرورهای برنامه وب ایجاد می کنید که phpinfo.php را به عنوان بخشی از اجرای اسکریپت UserData در هنگام بوت نمونه ایجاد می کند. اگر بررسیهای سلامت ناموفق باشد، اسکریپت دادههای کاربر به احتمال زیاد شکست خورده است.
را کلیک کنید بعدی و سپس در گروه هدف ایجاد کنید بدون تعیین هدف
پنجره را ببندید، شنونده را رفرش کنید تا گروه هدف ایجاد شده را انتخاب کنید.
در خلاصه بخش، بررسی و کلیک کنید ایجاد متعادل کننده بار برای ایجاد متعادل کننده بار.
را یادداشت کنید نام DNS برای متعادل کننده بار شما ایجاد شده است زیرا در مراحل زیر به آن نیاز خواهید داشت.
یک الگوی راه اندازی ایجاد کنید
شما یک شبکه نرمافزاری تعریفشده در چندین منطقه دسترسی ایزوله شده با خطا ایجاد کردهاید، یک پایگاه داده Aurora MySQL بسیار در دسترس و یک سیستم فایل EFS را برای ذخیرهسازی مشترک مستقر کردهاید. در این آزمایشگاه، قالبهایی را برای سرورهای برنامهای که PHP را اجرا میکنند، به عنوان بخشی از نصب وردپرس مقیاسپذیر تعریف میکنید.
یک الگوی راهاندازی اطلاعات پیکربندی نمونهای است که به شما امکان میدهد یک پیکربندی نمونه ذخیرهشده ایجاد کنید که میتواند برای راهاندازی نمونهها در زمان بعدی استفاده شود. این شامل شناسه تصویر ماشین آمازون (AMI)، نوع نمونه، یک جفت کلید، گروههای امنیتی و سایر پارامترهای مورد استفاده برای راهاندازی نمونههای EC2 است. علاوه بر این، به شما امکان می دهد چندین نسخه از یک الگوی راه اندازی را داشته باشید.
انتخاب کنید قالب ها را راه اندازی کنید در پنل سمت چپ کنسول EC2 خود، سپس بر روی آن کلیک کنید ایجاد قالب راه اندازی.
به الگوی Launch نام WP-WebServers-LT بدهید
را انتخاب کنید لینوکس آمازون AMI پس از انتخاب شروع سریع در تصاویر برنامه و سیستم عامل (Amazon Machine Image) بخش
نوع نمونه t3.micro را انتخاب کنید:
جفت کلید را وارد نکنید و موارد زیر را انتخاب کنید گروه های امنیتی برای پیوست کردن به نمونههای راهاندازی شده از این الگوی راهاندازی:
سرورهای وب WP برای اجازه اتصال از Application Load Balancer
سرویس گیرندگان پایگاه داده WP برای اجازه دادن به نمونه ها برای اتصال به Aurora MySQL DB
سرویس گیرندگان WP EFS به نمونه ها اجازه می دهد تا صادرات NFS سیستم فایل EFS را نصب کنند.
گسترش دهید جزئیات پیشرفته و از اسکریپت زیر برای پر کردن قسمت User Data به عنوان متن استفاده کنید.
متغیرهای موجود در اسکریپت Bash زیر را با مقادیر محیط خود به روز کنید.
EFS_FS_ID
این باید روی شناسه سیستم فایل Elastic Filesystem مستقر در آزمایشگاه قبلی تنظیم شود. برای دریافت شناسه فایل سیستم به کنسول EFS مراجعه کنید.
DB_NAME
این نام پایگاه داده ای است که وردپرس باید از آن برای ذخیره داده های خود استفاده کند. اگر مقادیر پیشفرض را در آزمایشگاه 2 وارد کردهاید، باید مقدار wordpress باشد. برای تأیید، از صفحه جزئیات پایگاه داده RDS خود دیدن کنید و به دنبال آن بگردید نام DB زیر پیکربندی.
DB_HOST
این نام میزبان نمونه Writer پایگاه داده شما است. برای به دست آوردن این، از صفحه جزئیات پایگاه داده RDS خود دیدن کنید و به زیر نگاه کنید اتصال و امنیت. استفاده کنید نویسنده نمونه hostname را تایپ کنید، مقداری مانند wordpress-workshop.cluster-ctdnyvvewl6s.eu-west-1.rds.amazonaws.com.
DB_USERNAME
این نام کاربری پایگاه داده ای خواهد بود که در آزمایشگاه 2 مشخص کرده اید. می توان آن را به صورت پیدا کرد نام کاربری اصلی زیر پیکربندی در صفحه جزئیات برای نمونه RDS شما.
DB_PASSWORD
این رمز عبور برای کاربر پایگاه داده ایجاد شده در آزمایشگاه 2 است.
#!/bin/bash
DB_NAME=”wordpress”
DB_USERNAME=”wpadmin”
DB_PASSWORD=””
DB_HOST=”wordpress-workshop.cluster-xxxxxxxxxx.eu-west-1.rds.amazonaws.com”
EFS_FS_ID=”fs-xxxxxxxxx”
dnf update -y
#install wget, apache server, php and efs utils
dnf install -y httpd wget php-fpm php-mysqli php-json php amazon-efs-utils
#create wp-content mountpoint
mkdir -p /var/www/html/wp-content
mount -t efs $EFS_FS_ID:/ /var/www/html/wp-content
#install wordpress
cd /var/www
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
cp wordpress/wp-config-sample.php wordpress/wp-config.php
rm -f latest.tar.gz
#change wp-config with DB details
cp -rn wordpress/* /var/www/html/
sed -i “s/database_name_here/$DB_NAME/g” /var/www/html/wp-config.php
sed -i “s/username_here/$DB_USERNAME/g” /var/www/html/wp-config.php
sed -i “s/password_here/$DB_PASSWORD/g” /var/www/html/wp-config.php
sed -i “s/localhost/$DB_HOST/g” /var/www/html/wp-config.php
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
#تغییر فایل httpd.conf به allowoverride# فایل های .htaccess را در پیکربندی آپاچی با استفاده از دستور sed فعال کنیدsed -i '//,// s/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf
# create phpinfo file
echo “” > /var/www/html/phpinfo.php
# Recursively change OWNER of directory /var/www and all its contents
chown -R apache:apache /var/www
systemctl restart httpd
systemctl enable httpd
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
تنظیمات نهایی را در زیر مرور کنید خلاصه و کلیک کنید ایجاد قالب راه اندازی. شما می توانید هشدارهای مربوط به امکان SSH را به سرور نادیده بگیرید و همچنین می توانید انتخاب کنید بدون جفت کلید ادامه دهید زیرا نیازی به دسترسی از راه دور به این سرورها نخواهید داشت.
سرور برنامه را ایجاد کنید
در این آزمایشگاه شما از load balancer و راه اندازی پیکربندی از 2 آزمایشگاه قبلی برای ایجاد یک ناوگان مقیاس خودکار از سرورهای برنامه وردپرس استفاده خواهید کرد.
هنگامی که پیکربندی راه اندازی را ایجاد کردید، می توانید به ایجاد گروه مقیاس خودکار برای سرورهای وب وردپرس ادامه دهید.برای انجام آن را انتخاب کنید گروه های مقیاس خودکار در کنسول EC2 بر روی آن کلیک کنید یک گروه مقیاس خودکار ایجاد کنید نامی را مشخص کنید و الگوی راه اندازی قبلی ایجاد شده را انتخاب کنید:
در صفحه بعدی مطمئن شوید که wordpress-workshop VPC به همراه زیرشبکه های Application Subnet A و Application Subnet B برای سرورهای وب انتخاب شده است:
در صفحه بعدی گزینه های پیشرفته را پیکربندی کنید گزینه را انتخاب کنید به یک بار متعادل کننده موجود وصل کنید و گروه هدفی را که قبلاً ایجاد کردید از بین انتخاب کنید گروه های هدف متعادل کننده بار موجود فهرست
در بررسی های سلامت بخش، حتما بررسی های سلامتی Elastic Load Balancing را روشن کنید.
کلیک کنید بعدی برای پیکربندی سیاست های اندازه و مقیاس بندی گروه با مقادیر زیر:
در اندازه گروه بخش، 2 را در قسمت وارد کنید ظرفیت مورد نظر زمینه
در مقیاس بندی بخش، 2 را به عنوان وارد کنید حداقل ظرفیت مورد نظر و 4 به عنوان حداکثر ظرفیت مورد نظر
انتخاب کنید سیاست مقیاس گذاری ردیابی هدف و عدد 80 را به عنوان وارد کنید ارزش هدف برای میانگین استفاده از CPU
کلیک کنید و پیش فرض های باقیمانده را بپذیرید تا با کلیک کردن بر روی ایجاد Auto Scaling Group تکمیل شود ایجاد گروه مقیاس خودکار.
گروه مقیاس خودکار اکنون شروع به ایجاد تعداد مورد نظر از نمونه های EC2 بر اساس الگوی راه اندازی می کند که شما ایجاد کرده اید. همانطور که سیستم ها آنلاین می شوند، گروه هدف با جزئیات نمونه برای نمونه های EC2 شما به روز می شود و متعادل کننده بار شروع به توزیع ترافیک در بین نمونه ها می کند. همانطور که نمونهها اضافه یا حذف میشوند، گروه مقیاس خودکار و متعادلکننده بار با یکدیگر هماهنگ کار خواهند کرد تا اطمینان حاصل کنند که فقط نمونههای سالم ترافیک دریافت میکنند.
هنگامی که اهداف شما در گروه هدف شما سالم تلقی می شوند، می توانید نام DNS را برای Application Load Balancer در مرورگر وب خود باز کنید تا نصب وردپرس تازه ایجاد شده خود را مشاهده کنید.
شما اکنون یک استقرار مقیاس خودکار بسیار در دسترس از وردپرس ایجاد کردهاید که در پاسخ به ترافیک مشتری که به وبسایت برخورد میکند، به داخل و خارج میشود.
پاک کردن
اگر از حساب شخصی خود برای دنبال کردن این کارگاه استفاده کردهاید، لطفاً اقدامات زیر را انجام دهید تا همه منابعی که ایجاد کردهاید حذف کنید و هزینهای برای آنها تحمیل نکنید.
برو به گروه های مقیاس خودکار بخش EC2 Console، Autoscaling Group ایجاد شده در آزمایشگاه 6 را انتخاب کنید، آن را باز کنید اقدامات ** منو و انتخاب کنید **حذف. برای تایید حذف، در فیلد متنی که باز می شود، delete را تایپ کرده و کلیک کنید حذف کنید.
در کنسول EC2، به این قسمت بروید متعادل کننده های بار بخش، Application Load Balancer ایجاد شده در Lab 4 را انتخاب کنید، آن را باز کنید اقدامات **منو و **حذف متعادل کننده بار را انتخاب کنید. برای تایید حذف، در فیلد متنی دیالوگی که باز می شود، تایید را تایپ کرده و کلیک کنید حذف کنید.
برو به گروه های هدف بخش، گروه هدف ایجاد شده در آزمایشگاه 4 را انتخاب کنید، آن را باز کنید اقدامات ** منو و انتخاب کنید **حذف. را کلیک کنید بله حذف کنید در گفتگویی که باز می شود.
حرکت به قالب ها را راه اندازی کنید بخش Launch Template ایجاد شده در Lab 5 را انتخاب کرده و باز کنید منوی اقدامات **و **حذف الگو را انتخاب کنید.برای تایید حذف، Delete را در فیلد تایپ کرده و کلیک کنید حذف کنید
پس از حذف Auto Scaling Group، نمونهها شروع به خاموش شدن میکنند و در نهایت خاتمه مییابند. بررسی کنید که تمام نمونههای راهاندازی شده توسط Auto Scaling Group به درستی خاتمه یافتهاند.می توانید استفاده کنید aws:autoscaling:groupName ویژگی برای فیلتر نمونههای راهاندازی شده توسط Auto Scaling Group ایجاد شده در آزمایشگاه 6.
به کنسول RDS بروید، آن را انتخاب کنید wordpress-workshop ***خوشه منطقه ای *و روی **Modify کلیک کنید.
به پایین صفحه بروید، تیک آن را بردارید حفاظت حذف را فعال کنید و بر روی کلیک کنید ادامه دهید
گزینه را انتخاب کنید بلافاصله درخواست دهید و کلیک کنید خوشه را اصلاح کنید
در کنسول RDS، را انتخاب کنید نمونه خواننده، برو به اقدامات ** منو و انتخاب کنید **حذف. برای تایید حذف، delete me را در فیلد تایپ کرده و کلیک کنید حذف کنید.
حالا گزینه را انتخاب کنید به عنوان مثال Writer، به **اقدامات بروید* منو و انتخاب کنید حذف کنید.برای تایید حذف، delete me را در فیلد تایپ کرده و کلیک کنید حذف کنید.
شما می توانید حذف کنید خوشه منطقه ای اکنون آن را انتخاب کنید، به اقدامات منو و انتخاب کنید حذف کنید.مطمئن شوید که
برای تایید حذف، Delete me را در فیلد تایپ کنید و روی آن کلیک کنید حذف خوشه DB
هنگامی که RDS Aurora Cluster به طور کامل حذف شد، به صفحه RDS Snapshots بروید، سیستم را بزنید و مطمئن شوید که هیچ عکس فوری خودکاری برای خوشه Aurora ایجاد شده در طول کارگاه وجود ندارد.
به کنسول EFS بروید، سیستم فایل ایجاد شده در Lab 3 را انتخاب کنید و کلیک کنید حذف کنید.با وارد کردن شناسه فایل سیستم در گفتگوی ظاهر شده، حذف را تأیید کنید و کلیک کنید تایید کنید.
Gateway های NAT را حذف کنید
به صفحه دروازه های NAT کنسول VPC بروید، هر بار یک دروازه NAT را انتخاب کنید، به اقدامات **منو و **حذف دروازه NAT را انتخاب کنید.برای تایید حذف، حذف را در فیلد تایپ کرده و کلیک کنید حذف کنید
VPC را حذف کنید
VPC wordpress-workshop را از صفحه VPCs خود در کنسول VPC انتخاب کنید. برو به اقدامات ** منو و انتخاب کنید **حذف VPC.
تنها در صورتی میتوانید VPC را حذف کنید که هنوز هیچ واسط شبکه در هیچ یک از زیرشبکههای VPC وجود نداشته باشد. گفتگویی که با کلیک بر روی آن ظاهر می شود VPC را حذف کنید ENI های باقی مانده را نشان می دهد.
بر روی کلیک کنید رابط های شبکه برای بررسی اینکه کدام سرویسها هنوز از VPC استفاده میکنند پیوند دهید و اقدامات لازم را انجام دهید.
هنگامی که تمام ENI ها حذف شدند، می توانید VPC را حذف کنید.گفتگوی ظاهر شده نشان می دهد که پس از حذف VPC کدام منابع حذف خواهند شد.برای تایید حذف، حذف را در فیلد تایپ کرده و کلیک کنید حذف کنید
آی پی های الاستیک را آزاد کنید
به صفحه Elastic IP های کنسول VPC بروید، همه IP های الاستیک غیر مرتبط را انتخاب کنید (شناسه ارتباط *مقدار – است)، منوی **اقدامات** را باز کرده و **آدرسهای IP الاستیک را انتخاب کنید.*.
اگر کاربر IAM کاربر کارگاه را برای دنبال کردن آزمایشگاههای کارگاه ایجاد کردهاید، مطمئن شوید که آن را از کنسول IAM حذف کردهاید که با یک کاربر IAM یا نقش IAM با مجوزهای مناسب وارد سیستم میشود.
چالش های پیش رو و راه حل ها
مشکلات اتصال پایگاه داده: هنگام تنظیم RDS، برخی از مشکلات پیکربندی با کنترل دسترسی وجود داشت.
راه حل: گروه های امنیتی VPC را تنظیم کرد و اطمینان حاصل کرد که نمونه های EC2 دارای مجوزهای صحیح برای دسترسی به RDS هستند.
مدیریت فایل وردپرس: مدیریت فایل های رسانه ای وردپرس در چندین نمونه در ابتدا چالش برانگیز بود.
راه حل: Amazon EFS را بهعنوان یک سیستم فایل مشترک پیادهسازی کرد که مدیریت یکپارچه رسانه را در بین نمونهها امکانپذیر میکند.
نتیجه گیری
این پروژه AWS نحوه ایجاد یک محیط وردپرس بسیار در دسترس و مقیاس پذیر را نشان می دهد که برای سایت های درجه تولید با ترافیک بالا ایده آل است. این قابلیتهای AWS را در مدیریت زیرساخت برای به حداقل رساندن مداخله دستی و در عین حال به حداکثر رساندن زمان کار به نمایش میگذارد.
مخزن GitHub من را کاوش کنید.
شوبهام مورتی — مهندس امنیت ابر مشتاق | آموزش ابری هفتگی!!
بیایید وصل شویم: لینکدین، توییتر، گیتهاب
پروژه AWS: یک برنامه وب وردپرس بسیار در دسترس ایجاد کنید
مقدمه
این پروژه بر طراحی یک برنامه وب وردپرس انعطاف پذیر و مقیاس پذیر بر روی AWS تمرکز دارد. با استفاده از سرویسهای کلیدی AWS مانند Amazon VPC، Amazon RDS، Amazon EFS، EC2 و Application Load Balancer (ALB)، یک معماری قوی ایجاد میکند که در دسترس بودن، مقیاسپذیری و تحمل خطا را برای یک سایت وردپرس تضمین میکند و آن را برای سایتهای وردپرسی مناسب میسازد. برنامه های کاربردی ترافیک
با استقرار وردپرس در یک معماری چند لایه، یاد گرفتم که چگونه از زیرساخت AWS برای رفع نیازهای برنامههای پرترافیک استفاده کنم و از در دسترس بودن و تحمل خطا اطمینان حاصل کنم.
پشته فناوری
-
آمازون VPC: محیط های شبکه ایزوله و کنترل های امنیتی را فراهم می کند.
-
آمازون RDS: میزبان یک پایگاه داده MySQL قابل اعتماد و بسیار در دسترس برای وردپرس است.
-
آمازون EFS: یک راه حل ذخیره سازی مشترک و مقیاس پذیر برای محتوای پویا که چندین نمونه EC2 را قادر می سازد به داده های مشابه دسترسی داشته باشند.
-
آمازون EC2: نمونه های وردپرس را میزبانی می کند و به صورت پویا با گروه های مقیاس خودکار مقیاس می شود.
-
Application Load Balancer (ALB): ترافیک ورودی را در چندین نمونه برای دسترسی بیشتر توزیع می کند.
پیش نیازها
-
حساب AWS: برای دسترسی و پیکربندی خدمات AWS مورد نیاز است.
-
AWS CLI: برای مدیریت منابع و وظایف استقرار.
-
دانش اولیه شبکه AWS: آشنایی با VPC ها، زیرشبکه ها و گروه های امنیتی.
-
دانش راه اندازی وردپرس: آشنایی با نصب و پیکربندی وردپرس.
بیان مشکل یا مورد استفاده
مشکل: برنامه های وردپرس اغلب با چالش هایی روبرو هستند مقیاس پذیری و در دسترس بودن، به خصوص در محیط های میزبانی سنتی که ظرفیت ممکن است به طور خودکار با نیازهای ترافیک تنظیم نشود.
راه حل: با استفاده از AWS، این پروژه نشان میدهد که چگونه میتوان وردپرس را در یک معماری بسیار در دسترس و مقیاسپذیر راهاندازی کرد که میتواند نوسانات ترافیک را مدیریت کند و از حداقل خرابی اطمینان حاصل کند. سرویسهای مدیریتشده AWS محیط را قادر میسازد تا بهطور خودکار مقیاسپذیری کند، خطا را مدیریت کند و تجربه کاربر را بهبود بخشد.
ارتباط با دنیای واقعی: این رویکرد برای برنامه های وردپرس درجه تولید با ترافیک بالا، مانند سایت های تجارت الکترونیک، پلت فرم های خبری و وبلاگ های شرکتی ایده آل است. با پیاده سازی این معماری، شرکت ها می توانند مدیریت دستی، کاهش هزینه ها و بهبود قابلیت اطمینان و سرعت برنامه وردپرس خود را کاهش دهند.
پیاده سازی گام به گام
شبکه را پیکربندی کنید
به عنوان نقطه شروع کارگاه، باید به حساب AWS خود وارد شوید، منطقه مورد نظر خود را انتخاب کنید و یک VPC جدید ایجاد کنید.
برای انجام این کار بر روی آن کلیک کنید VPC های شما در سمت چپ کنسول کلیک کنید VPC ایجاد کنید. wordpress-workshop را به عنوان نام VPC خود و محدوده CIDR مانند زیر وارد کنید. وقتی کارتان تمام شد کلیک کنید ایجاد کنید.
پس از ایجاد VPC، در صفحه جزئیات VPC بر روی آن کلیک کنید اقدامات و سپس انتخاب کنید تنظیمات VPC را ویرایش کنید.
مطمئن شوید که هر دو را فعال کنید وضوح DNS و نام میزبان DNS زیر تنظیمات DNS و کلیک کنید ذخیره کنید.
هنگامی که VPC ایجاد شد، گام بعدی ایجاد زیرشبکه هایی است که برای میزبانی برنامه در دو منطقه در دسترس بودن مختلف استفاده می شود. همانطور که در نمودار زیر نشان داده شده است، در مجموع شش زیرشبکه، سه زیر شبکه برای هر AZ ایجاد می کنیم:
اولین جفت زیرشبکه، عمومی، از طریق اینترنت قابل دسترسی خواهد بود و حاوی متعادل کننده های بار و دروازه های NAT است. جفت دوم، برنامه، شامل سرورهای برنامه و سیستم فایل EFS مشترک شما خواهد بود. سرورهای برنامه شما میتوانند از طریق دروازههای NAT با اینترنت ارتباط برقرار کنند، اما فقط از طریق متعادلکنندههای بار آدرسپذیر خواهند بود. در نهایت پایگاه داده جفت زیرشبکه پایگاه داده رابطه ای فعال / غیرفعال شما را نگه می دارند. برای سایر منابع موجود در VPC قابل دسترسی خواهد بود، اما به اینترنت دسترسی نخواهد داشت و نمیتواند توسط اینترنت یا متعادلکنندههای بار مورد بررسی قرار گیرد.
برای ایجاد هر یک از شش زیرشبکه لطفاً انتخاب کنید زیر شبکه ها در سمت چپ کنسول AWS VPC، سپس بر روی آن کلیک کنید زیر شبکه ایجاد کنید و از جزئیات جدول زیر برای تعریف ویژگی های هر یک از زیرشبکه های خود استفاده کنید. اطمینان حاصل کنید که همیشه انتخاب کنید وردپرس-کارگاه VPC هنگام ایجاد زیرشبکه ها.
اسکرین شات ها در این آزمایشگاه از یک استقرار در ایرلند (eu-west-1) منطقه، اگر در یک منطقه AWS متفاوت میسازید، لطفاً مطمئن شوید که زیرشبکههای خود را در 2 منطقه در دسترس متفاوت در همان منطقه ایجاد کردهاید، مانند us-west-2a و us-west-2b.
برای هر زیر شبکه یک نام و یک محدوده CIDR برای زیرشبکه مشخص کنید. مطمئن شوید و یک زیرشبکه عمومی، برنامه و داده در هر یک از دو منطقه در دسترس ایجاد کنید که در جدول زیر توضیح داده شده است.
در این مرحله همه زیرشبکههای صحیح ایجاد شدهاند و میتوانند ترافیک شبکه را بین خود هدایت کنند. در مجموعه مراحل بعدی شما یک دروازه اینترنتی ایجاد می کنید که امکان ارتباط بین VPC و اینترنت را فراهم می کند. شما همچنین جداول مسیریابی خود را طوری پیکربندی خواهید کرد که فقط با زیرشبکه های عمومی و نه برنامه های خصوصی یا زیرشبکه های داده اجازه ارتباط اینترنتی را بدهد.
مراحل زیر امکان اتصال از اینترنت به زیرشبکه های عمومی و همچنین اتصال از زیر شبکه های خصوصی به اینترنت از طریق دروازه های NAT را فراهم می کند.
ابتدا باید یک دروازه اینترنتی جدید (IGW) از داشبورد VPC خود ایجاد کنید و آن را به VPC wordpress-workshop متصل کنید. با کلیک کردن شروع کنید دروازه های اینترنت در سمت چپ کنسول VPC و سپس روی آن کلیک کنید ایجاد دروازه اینترنت دکمه یک نام برای IGW خود مانند WP Internet Gateway وارد کنید و کلیک کنید ایجاد دروازه اینترنت.
پس از ایجاد IGW، باید آن را با VPC خود با وصل کردن آن به VPC خود مرتبط کنید.
انتخاب کنید به VPC وصل کنید از اقدامات منوی کشویی و سپس wordpress-workshop VPC را از لیست کشویی VPC های موجود انتخاب کنید و بر روی دروازه اینترنت را وصل کنید.
این دروازه توسط نمونه ها و سرویس های در حال اجرا در زیرشبکه های عمومی (مانند زیرشبکه عمومی A و زیرشبکه عمومی B) برای برقراری ارتباط با اینترنت استفاده می شود.
هنگامی که دروازه ایجاد شد، باید یک جدول مسیریابی جدید ایجاد کنید و آن را با زیرشبکه های عمومی مرتبط کنید.
با انتخاب یک جدول مسیر جدید ایجاد کنید جداول مسیر در منوی سمت چپ کنسول و سپس روی دکمه کلیک کنید جدول مسیر را ایجاد کنید دکمه
به آن یک نام و wordpress-workshop را از منوی بازشو انتخاب کرده و بر روی آن کلیک کنید جدول مسیر را ایجاد کنید.
پس از ایجاد جدول مسیر، آن را از قسمت انتخاب کنید جداول مسیر بخش داشبورد VPC خود را، سپس بر روی آن کلیک کنید اقدامات -> مسیرها را ویرایش کنید و از طریق Internet Gateway ایجاد شده در مرحله قبل یک مسیر پیش فرض اضافه کنید و بر روی آن کلیک کنید ذخیره تغییرات.
در نهایت، شما باید جدول مسیر جدید ایجاد شده را با زیرشبکه های عمومی مرتبط کنید. برای انجام این کار، روی جدول مسیر عمومی کلیک کنید، سپس بر روی آن کلیک کنید انجمن های زیر شبکه، با کلیک بر روی آن ویرایش کنید پیوندهای زیر شبکه را ویرایش کنید و دو زیرشبکه عمومی که قبلا ایجاد شده اند را انتخاب کرده و بر روی آن کلیک کنید ذخیره انجمن ها.
نمونه های WordPress باید بتوانند به اینترنت متصل شوند و برنامه ها و به روز رسانی های سیستم عامل را دانلود کنند. برای جلوگیری از وابستگی در مناطق در دسترس، شما می خواهید دو دروازه NAT ایجاد کنید، یکی برای هر منطقه در دسترس که در آن برنامه مستقر است.
برای انجام این کار، یک دروازه NAT در هر منطقه دسترسی ایجاد میکنید، سپس یک جدول مسیر برای هر زیر شبکه برنامه ایجاد میکنید، جدول مسیر را با یک مسیر پیشفرض از طریق دروازه NAT در همان منطقه AZ به روز میکنید و سپس جدول مسیر را به زیر شبکه برنامه مربوطه
به داشبورد VPC در حساب خود بروید، انتخاب کنید دروازه های NAT و در هر یک از دو زیرشبکه عمومی (یعنی زیرشبکه عمومی A و عمومی B) یک دروازه ایجاد کنید. همیشه هنگام ایجاد دروازه مطمئن شوید که زیرشبکه عمومی صحیح را انتخاب کرده اید.
اکنون باید جداول مسیر را برای هر یک از دو زیرشبکه Application ایجاد کنیم و از دروازههای NAT که قبلاً ایجاد شدهاند به عنوان دروازه پیشفرض استفاده کنیم:
جدول مسیر را ویرایش کنید و مسیر پیش فرض را از طریق دروازه NAT در زیر شبکه Application A اضافه کنید:
جدول مسیر را با برنامه زیرشبکه A مرتبط کنید:
سه مرحله آخر را تکرار کنید تا یک جدول مسیر برای برنامه زیرشبکه B نیز ایجاد کنید که از دروازه NAT مستقر در منطقه دسترسی دوم استفاده می کند.
اکنون یک شبکه ابری خصوصی مجازی در دو منطقه در دسترس در یک منطقه AWS ایجاد کرده اید. شما شش زیرشبکه ایجاد کردهاید، سه زیرشبکه در هر منطقه در دسترس، و مسیری را پیکربندی کردهاید تا اینترنت بتواند با منابع موجود در زیرشبکههای عمومی و بالعکس ارتباط برقرار کند. زیرشبکه های برنامه از طریق جدول مسیریابی برای ارتباط با اینترنت از طریق دروازه های NAT در زیرشبکه های عمومی پیکربندی شده اند و زیرشبکه های داده فقط می توانند با منابع در شش زیرشبکه ارتباط برقرار کنند، اما نه اینترنت.
لطفاً توجه داشته باشید که اطلاعات زیر بر اساس یک VPC مستقر در آن است ایرلند (eu-west-1) منطقه اگر منطقه دیگری را برای تنظیم خود انتخاب کرده بودید، باید نام منطقه را بر این اساس تنظیم کنید.
میتوانید پیکربندی خود را بر اساس تصویر زیر مقایسه کنید و زمانی که تنظیمات خود را تأیید کردید، حرکت کنید.
بررسی کنید نقشه منابع بخشی از VPC شما که VPC، زیرشبکهها، جداول مسیر، دروازههای اینترنت، دروازههای NAT را نشان میدهد که به شما کمک میکند منابع را تجسم کنید.
ساخت ردیف داده
پایگاه داده RDS را راه اندازی کنید
شما 2 گروه امنیتی ایجاد خواهید کرد:
از کنسول VPC آمازون دیدن کنید و 2 گروه امنیتی ایجاد کنید.
ابتدا گروه امنیتی WP Database Clients را ایجاد کنید:
-
را کلیک کنید ایجاد گروه امنیتی
-
را پر کنید نام گروه امنیتی و توضیحات زمینه ها
-
wordpress-workshop را از منوی کشویی انتخاب کنید
-
به پایین صفحه بروید و روی آن کلیک کنید ایجاد گروه امنیتی
اکنون گروه امنیتی WP Database را ایجاد کنید:
-
در قوانین ورودی بخش، روی آن کلیک کنید قانون اضافه کنید
-
نوع را انتخاب کنید MySQL/Aurora که اجازه تردد در پورت 3306 را می دهد سفارشی منبع مشتریان پایگاه داده WP گروه امنیتی
لطفاً توجه داشته باشید که می توانید گروه امنیتی را با نام در قسمت منبع قانون گروه امنیتی جستجو کنید.
اکنون آماده ایجاد پایگاه داده RDS خود هستید.
Amazon RDS یک سرویس پایگاه داده رابطه ای آسان برای مدیریت است. هنگامی که از Amazon RDS برای استقرار یک پایگاه داده در یک راه اندازی بسیار در دسترس استفاده می کنید، 2 نمونه در 2 منطقه در دسترس بودن مختلف ایجاد می کند. برای انجام این کار، هنگامی که یک پایگاه داده ایجاد می کنید، یک گروه زیر شبکه را مشخص می کنید که به RDS می گوید که در کدام زیرشبکه ها می تواند نمونه های پایگاه داده شما را مستقر کند.
برای ایجاد یک گروه زیرشبکه DB، به کنسول RDS آمازون مراجعه کنید، روی آن کلیک کنید گروه های زیر شبکه **در پانل سمت چپ خود، روی **ایجاد گروه زیرشبکه DB کلیک کنید را فشار دهید و از جزئیات زیر استفاده کنید:
به پایین اسکرول کنید و این دو را اضافه کنید زیرشبکه های داده قبلا (یکی برای هر AZ) به گروه زیر شبکه جدید خود ایجاد کرده و کلیک کنید ایجاد کنید.
لطفاً توجه داشته باشید، برای دریافت شناسه زیرشبکههای داده، میتوانید یک تب دوم را باز کنید و به بخش **زیر شبکه**های کنسول VPC بروید. از لیست زیرشبکه ها، زیرشبکه مورد نظر خود را انتخاب کنید. در پایین صفحه می توانید آن را کپی کنید. شناسه زیر شبکه با کلیک بر روی نماد Copy to clipboard در کنار شناسه.
پس از ایجاد گروه زیرشبکه، آماده راه اندازی پایگاه داده تحت مدیریت RDS هستید.
به کنسول RDS آمازون بروید، انتخاب کنید پایگاه های داده **از منوی سمت چپ و روی **ایجاد پایگاه داده کلیک کنید.
جزئیات زیر را وارد کنید:
-
روش ایجاد پایگاه داده: ایجاد استاندارد
-
گزینه های موتور: Aurora (سازگار با MySQL)
-
نسخه موتور پیش فرض را حفظ کنید
-
از wpadminas استفاده کنید نام کاربری اصلی
-
هنگامی که از شما خواسته شد پسورد اصلی را انتخاب کنید، می توانید روی Auto create a password کلیک کنید یا رمز عبور خود را ایجاد کنید – در هر صورت لطفاً مطمئن شوید که رمز عبور را یادداشت کرده اید زیرا چند مرحله بعد هنگام تنظیم اتصال نمونه های WordPress لازم است. به پایگاه داده
اندازه نمونه DB را همراه با استقرار Multi-AZ انتخاب کنید، که برای در دسترس بودن بالا لازم است. برای پایین نگه داشتن هزینه ها، برای این کارگاه استفاده از کلاس نمونه انفجاری (db.t4g.medium یا مشابه) را توصیه می کنیم. نمونه های انفجاری ممکن است برای محیط های تولید مناسب نباشند.
در بخش اتصال، مطمئن شوید که wordpress-workshop VPC را به همراه گروه زیرشبکه aurora-wordpress DB و گروه امنیتی WP Database که قبلاً ایجاد شده است را انتخاب کنید:
در نظارت بخش، علامت را بردارید DevOps Guru را روشن کنید
گسترش دهید پیکربندی اضافی بخش و یک را مشخص کنید نام پایگاه داده اولیه از وردپرس.
در نهایت بر روی آن کلیک کنید ایجاد پایگاه داده برای شروع ساخت خوشه
تهیه و در دسترس قرار گرفتن پایگاه داده چند دقیقه طول می کشد.
پایگاه داده فعال/غیرفعال اکنون باید در دسترس باشد و در دو ناحیه در دسترس بودن متفاوت اجرا شود و منتظر اتصالات از هر منبع EC2 با گروه امنیتی کلاینت مرتبط با آن باشد.
لطفاً پیکربندی خود را بر اساس اسکرین شات های زیر مقایسه کنید و پس از تأیید تنظیمات خود، به سمت آن حرکت کنید.
گروه های امنیتی
گروه زیر شبکه
راه اندازی پایگاه داده
فایل سیستم مشترک را ایجاد کنید
Amazon Elastic File System (Amazon EFS) یک سیستم فایل ساده، مقیاس پذیر و الاستیک را برای بارهای کاری عمومی برای استفاده با خدمات AWS Cloud و منابع داخلی ارائه می دهد. در این آزمایشگاه شما یک کلاستر EFS ایجاد می کنید که یک سیستم فایل مشترک برای محتوای وردپرس شما فراهم می کند.
هنگام استفاده از Amazon EFS، گروههای امنیتی Amazon EC2 را برای نمونههای EC2 خود و گروههای امنیتی را برای اهداف نصب EFS مرتبط با سیستم فایل مشخص میکنید. یک گروه امنیتی به عنوان یک فایروال عمل می کند و قوانینی که اضافه می کنید جریان ترافیک را مشخص می کند.
در این کارگاه شما 2 گروه امنیتی ایجاد خواهید کرد:
برای ایجاد 2 گروه امنیتی از کنسول VPC آمازون دیدن کنید.
ابتدا گروه امنیتی WP EFS Clients را ایجاد کنید:
-
را کلیک کنید ایجاد گروه امنیتی
-
را پر کنید نام گروه امنیتی و توضیحات زمینه ها
-
از منوی کشویی wordpress-workshop VPC را انتخاب کنید
-
به پایین صفحه بروید و روی آن کلیک کنید ایجاد گروه امنیتی
Amazon EFS یک سیستم فایل مشترک ایجاد می کند و آن را به عنوان یک اشتراک NFS در معرض نمایش قرار می دهد. گروه امنیتی متصل به نقاط اتصال EFS باید به اتصالات ورودی در پورت NFS TCP 2049 اجازه دهد.
ایجاد گروه امنیتی WP EFS:
-
در قوانین ورودی بخش، روی آن کلیک کنید قانون اضافه کنید
-
نوع را انتخاب کنید NFS و مشخص کنید سفارشی منبع مشتریان WP EFS گروه امنیتی
لطفاً توجه داشته باشید که می توانید گروه امنیتی را با نام در قسمت منبع قانون گروه امنیتی جستجو کنید.
اکنون شما آماده ایجاد سیستم فایل EFS هستید.
برای ایجاد یک فایل سیستم EFS به کنسول آمازون EFS مراجعه کرده و کلیک کنید ایجاد سیستم فایل.
WordPress-EFSin را وارد کنید نام زمینه
از منوی کشویی VPC، wordpress-workshop VPC را انتخاب کرده و کلیک کنید سفارشی کنید.
در صفحه ایجاد، علامت را بردارید فعال کردن پشتیبان گیری خودکار برای جلوگیری از پشتیبان گیری از محتویات فایل سیستم. توصیه می شود هنگام استقرار یک محیط تولید، آن را فعال نگه دارید.
تمام تنظیمات دیگر را بدون تغییر نگه دارید و کلیک کنید بعدی.
در دسترسی به شبکه صفحه، زیر اهداف را سوار کنید، دو زیرشبکه ایجاد شده برای ردیف داده (زیر شبکه داده A و B) را انتخاب کنید. در سمت راست، زیر گروه های امنیتی، گروه امنیتی WP EFS ایجاد شده در بالا را به هر هدف mount مرتبط کنید و ارتباط را با آن حذف کنید پیش فرض گروه امنیتی
کلیک کنید بعدی.
پیش فرض ها را در صفحه بعدی بپذیرید سیاست سیستم فایل
کلیک کنید بعدی، ایجاد سیستم فایل را با کلیک کردن بررسی و تایید کنید ایجاد کنید.
با این کار دو هدف mount در زیرشبکه های Data ایجاد می شود و پس از چند لحظه سیستم فایل تبدیل می شود موجود است.
لایه برنامه را بسازید
متعادل کننده بار را ایجاد کنید
برای توزیع ترافیک در سرورهای برنامه وردپرس خود به یک متعادل کننده بار نیاز دارید. در این آزمایشگاه شما یک Application Load Balancer ایجاد خواهید کرد.
Application Load Balancer در سطح درخواست (لایه 7)، مسیریابی ترافیک به اهداف (نمونه های EC2، کانتینرها، آدرس های IP و توابع Lambda) بر اساس محتوای درخواست عمل می کند.
برای ایجاد گروه های امنیتی از کنسول VPC آمازون دیدن کنید.
ابتدا گروه امنیتی WP Load Balancer را ایجاد کنید:
-
را کلیک کنید ایجاد گروه امنیتی
-
را پر کنید نام گروه امنیتی و توضیحات زمینه ها
-
از منوی کشویی wordpress-workshop را انتخاب کنید
-
در قوانین ورودی بخش، روی آن کلیک کنید قانون اضافه کنید
-
نوع را انتخاب کنید HTTP که اجازه تردد در پورت 80 را می دهد آی پی من منبع برای محدود کردن دسترسی به IP عمومی فعلی شما.
-
به پایین صفحه بروید و روی آن کلیک کنید ایجاد گروه امنیتی
در خارج از محیط کارگاه، احتمالاً می خواهید گروه امنیتی را تغییر دهید تا از هر آدرس IP اجازه دسترسی داشته باشید. برای کسب اطلاعات بیشتر در مورد امنیت در فضای ابری و فضای ابری، لطفاً به وب سایت AWS Cloud Security مراجعه کنید.
اکنون گروه امنیتی WP Web Servers را ایجاد کنید:
-
در قوانین ورودی بخش، روی آن کلیک کنید قانون اضافه کنید
-
نوع را انتخاب کنید HTTP که اجازه تردد در پورت 80 را می دهد سفارشی منبع WP Load Balancer گروه امنیتی
لطفاً توجه داشته باشید که می توانید گروه امنیتی را با نام در قسمت منبع قانون گروه امنیتی جستجو کنید.
یک متعادل کننده بار ترافیک ورودی برنامه را در چندین هدف، مانند نمونه های EC2، در چندین منطقه در دسترس توزیع می کند و در دسترس بودن پلت فرم وردپرس را افزایش می دهد.
از کنسول EC2 کلیک کنید Load Balancers **در منوی سمت چپ و سپس روی **Create load balancer کلیک کنید.
کلیک کنید **زیر **Application Load Balancer ایجاد کنید.
یک نام و زیر به بار متعادل کننده خود بدهید نقشه برداری شبکه wordpress-workshop VPC را انتخاب کنید.
سپس چک باکس هر دو منطقه در دسترس را علامت بزنید و زیرشبکه های عمومی ایجاد شده در اولین آزمایشگاه را انتخاب کنید.
زیر گروه های امنیتی را انتخاب کنید WP Load Balancer قبلا ایجاد شده و هر گروه امنیتی پیش فرض را حذف کنید.
زیر شنوندگان و مسیریابی روی لینک کلیک کنید گروه هدف ایجاد کنید.
این یک پنجره جدید برای ایجاد یک گروه هدف جدید برای شما باز می کند. از جزئیات زیر استفاده کنید
سپس، در بررسی های سلامت بخش، مسیر زیر را وارد کنید:
- /phpinfo.php در آزمایشگاه بعدی شما الگوی راه اندازی را برای سرورهای برنامه وب ایجاد می کنید که phpinfo.php را به عنوان بخشی از اجرای اسکریپت UserData در هنگام بوت نمونه ایجاد می کند. اگر بررسیهای سلامت ناموفق باشد، اسکریپت دادههای کاربر به احتمال زیاد شکست خورده است.
را کلیک کنید بعدی و سپس در گروه هدف ایجاد کنید بدون تعیین هدف
پنجره را ببندید، شنونده را رفرش کنید تا گروه هدف ایجاد شده را انتخاب کنید.
در خلاصه بخش، بررسی و کلیک کنید ایجاد متعادل کننده بار برای ایجاد متعادل کننده بار.
را یادداشت کنید نام DNS برای متعادل کننده بار شما ایجاد شده است زیرا در مراحل زیر به آن نیاز خواهید داشت.
یک الگوی راه اندازی ایجاد کنید
شما یک شبکه نرمافزاری تعریفشده در چندین منطقه دسترسی ایزوله شده با خطا ایجاد کردهاید، یک پایگاه داده Aurora MySQL بسیار در دسترس و یک سیستم فایل EFS را برای ذخیرهسازی مشترک مستقر کردهاید. در این آزمایشگاه، قالبهایی را برای سرورهای برنامهای که PHP را اجرا میکنند، به عنوان بخشی از نصب وردپرس مقیاسپذیر تعریف میکنید.
یک الگوی راهاندازی اطلاعات پیکربندی نمونهای است که به شما امکان میدهد یک پیکربندی نمونه ذخیرهشده ایجاد کنید که میتواند برای راهاندازی نمونهها در زمان بعدی استفاده شود. این شامل شناسه تصویر ماشین آمازون (AMI)، نوع نمونه، یک جفت کلید، گروههای امنیتی و سایر پارامترهای مورد استفاده برای راهاندازی نمونههای EC2 است. علاوه بر این، به شما امکان می دهد چندین نسخه از یک الگوی راه اندازی را داشته باشید.
انتخاب کنید قالب ها را راه اندازی کنید در پنل سمت چپ کنسول EC2 خود، سپس بر روی آن کلیک کنید ایجاد قالب راه اندازی.
- به الگوی Launch نام WP-WebServers-LT بدهید
- را انتخاب کنید لینوکس آمازون AMI پس از انتخاب شروع سریع در تصاویر برنامه و سیستم عامل (Amazon Machine Image) بخش
- نوع نمونه t3.micro را انتخاب کنید:
-
جفت کلید را وارد نکنید و موارد زیر را انتخاب کنید گروه های امنیتی برای پیوست کردن به نمونههای راهاندازی شده از این الگوی راهاندازی:
-
سرورهای وب WP برای اجازه اتصال از Application Load Balancer
-
سرویس گیرندگان پایگاه داده WP برای اجازه دادن به نمونه ها برای اتصال به Aurora MySQL DB
-
سرویس گیرندگان WP EFS به نمونه ها اجازه می دهد تا صادرات NFS سیستم فایل EFS را نصب کنند.
گسترش دهید جزئیات پیشرفته و از اسکریپت زیر برای پر کردن قسمت User Data به عنوان متن استفاده کنید.
متغیرهای موجود در اسکریپت Bash زیر را با مقادیر محیط خود به روز کنید.
-
EFS_FS_ID
-
این باید روی شناسه سیستم فایل Elastic Filesystem مستقر در آزمایشگاه قبلی تنظیم شود. برای دریافت شناسه فایل سیستم به کنسول EFS مراجعه کنید.
-
DB_NAME
-
این نام پایگاه داده ای است که وردپرس باید از آن برای ذخیره داده های خود استفاده کند. اگر مقادیر پیشفرض را در آزمایشگاه 2 وارد کردهاید، باید مقدار wordpress باشد. برای تأیید، از صفحه جزئیات پایگاه داده RDS خود دیدن کنید و به دنبال آن بگردید نام DB زیر پیکربندی.
-
DB_HOST
-
این نام میزبان نمونه Writer پایگاه داده شما است. برای به دست آوردن این، از صفحه جزئیات پایگاه داده RDS خود دیدن کنید و به زیر نگاه کنید اتصال و امنیت. استفاده کنید نویسنده نمونه hostname را تایپ کنید، مقداری مانند wordpress-workshop.cluster-ctdnyvvewl6s.eu-west-1.rds.amazonaws.com.
-
DB_USERNAME
-
این نام کاربری پایگاه داده ای خواهد بود که در آزمایشگاه 2 مشخص کرده اید. می توان آن را به صورت پیدا کرد نام کاربری اصلی زیر پیکربندی در صفحه جزئیات برای نمونه RDS شما.
-
DB_PASSWORD
-
این رمز عبور برای کاربر پایگاه داده ایجاد شده در آزمایشگاه 2 است.
#!/bin/bash
DB_NAME="wordpress"
DB_USERNAME="wpadmin"
DB_PASSWORD=""
DB_HOST="wordpress-workshop.cluster-xxxxxxxxxx.eu-west-1.rds.amazonaws.com"
EFS_FS_ID="fs-xxxxxxxxx"
dnf update -y
#install wget, apache server, php and efs utils
dnf install -y httpd wget php-fpm php-mysqli php-json php amazon-efs-utils
#create wp-content mountpoint
mkdir -p /var/www/html/wp-content
mount -t efs $EFS_FS_ID:/ /var/www/html/wp-content
#install wordpress
cd /var/www
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
cp wordpress/wp-config-sample.php wordpress/wp-config.php
rm -f latest.tar.gz
#change wp-config with DB details
cp -rn wordpress/* /var/www/html/
sed -i "s/database_name_here/$DB_NAME/g" /var/www/html/wp-config.php
sed -i "s/username_here/$DB_USERNAME/g" /var/www/html/wp-config.php
sed -i "s/password_here/$DB_PASSWORD/g" /var/www/html/wp-config.php
sed -i "s/localhost/$DB_HOST/g" /var/www/html/wp-config.php
#تغییر فایل httpd.conf به allowoverride
# فایل های .htaccess را در پیکربندی آپاچی با استفاده از دستور sed فعال کنید
sed -i '//,/<\/Directory>/ s/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf
# create phpinfo file
echo "" > /var/www/html/phpinfo.php
# Recursively change OWNER of directory /var/www and all its contents
chown -R apache:apache /var/www
systemctl restart httpd
systemctl enable httpd
تنظیمات نهایی را در زیر مرور کنید خلاصه و کلیک کنید ایجاد قالب راه اندازی. شما می توانید هشدارهای مربوط به امکان SSH را به سرور نادیده بگیرید و همچنین می توانید انتخاب کنید بدون جفت کلید ادامه دهید زیرا نیازی به دسترسی از راه دور به این سرورها نخواهید داشت.
سرور برنامه را ایجاد کنید
در این آزمایشگاه شما از load balancer و راه اندازی پیکربندی از 2 آزمایشگاه قبلی برای ایجاد یک ناوگان مقیاس خودکار از سرورهای برنامه وردپرس استفاده خواهید کرد.
هنگامی که پیکربندی راه اندازی را ایجاد کردید، می توانید به ایجاد گروه مقیاس خودکار برای سرورهای وب وردپرس ادامه دهید.
برای انجام آن را انتخاب کنید گروه های مقیاس خودکار در کنسول EC2 بر روی آن کلیک کنید یک گروه مقیاس خودکار ایجاد کنید نامی را مشخص کنید و الگوی راه اندازی قبلی ایجاد شده را انتخاب کنید:
در صفحه بعدی مطمئن شوید که wordpress-workshop VPC به همراه زیرشبکه های Application Subnet A و Application Subnet B برای سرورهای وب انتخاب شده است:
در صفحه بعدی گزینه های پیشرفته را پیکربندی کنید گزینه را انتخاب کنید به یک بار متعادل کننده موجود وصل کنید و گروه هدفی را که قبلاً ایجاد کردید از بین انتخاب کنید گروه های هدف متعادل کننده بار موجود فهرست
در بررسی های سلامت بخش، حتما بررسی های سلامتی Elastic Load Balancing را روشن کنید.
کلیک کنید بعدی برای پیکربندی سیاست های اندازه و مقیاس بندی گروه با مقادیر زیر:
-
در اندازه گروه بخش، 2 را در قسمت وارد کنید ظرفیت مورد نظر زمینه
-
در مقیاس بندی بخش، 2 را به عنوان وارد کنید حداقل ظرفیت مورد نظر و 4 به عنوان حداکثر ظرفیت مورد نظر
-
انتخاب کنید سیاست مقیاس گذاری ردیابی هدف و عدد 80 را به عنوان وارد کنید ارزش هدف برای میانگین استفاده از CPU
کلیک کنید و پیش فرض های باقیمانده را بپذیرید تا با کلیک کردن بر روی ایجاد Auto Scaling Group تکمیل شود ایجاد گروه مقیاس خودکار.
گروه مقیاس خودکار اکنون شروع به ایجاد تعداد مورد نظر از نمونه های EC2 بر اساس الگوی راه اندازی می کند که شما ایجاد کرده اید. همانطور که سیستم ها آنلاین می شوند، گروه هدف با جزئیات نمونه برای نمونه های EC2 شما به روز می شود و متعادل کننده بار شروع به توزیع ترافیک در بین نمونه ها می کند. همانطور که نمونهها اضافه یا حذف میشوند، گروه مقیاس خودکار و متعادلکننده بار با یکدیگر هماهنگ کار خواهند کرد تا اطمینان حاصل کنند که فقط نمونههای سالم ترافیک دریافت میکنند.
هنگامی که اهداف شما در گروه هدف شما سالم تلقی می شوند، می توانید نام DNS را برای Application Load Balancer در مرورگر وب خود باز کنید تا نصب وردپرس تازه ایجاد شده خود را مشاهده کنید.
شما اکنون یک استقرار مقیاس خودکار بسیار در دسترس از وردپرس ایجاد کردهاید که در پاسخ به ترافیک مشتری که به وبسایت برخورد میکند، به داخل و خارج میشود.
پاک کردن
اگر از حساب شخصی خود برای دنبال کردن این کارگاه استفاده کردهاید، لطفاً اقدامات زیر را انجام دهید تا همه منابعی که ایجاد کردهاید حذف کنید و هزینهای برای آنها تحمیل نکنید.
برو به گروه های مقیاس خودکار بخش EC2 Console، Autoscaling Group ایجاد شده در آزمایشگاه 6 را انتخاب کنید، آن را باز کنید اقدامات ** منو و انتخاب کنید **حذف. برای تایید حذف، در فیلد متنی که باز می شود، delete را تایپ کرده و کلیک کنید حذف کنید.
در کنسول EC2، به این قسمت بروید متعادل کننده های بار بخش، Application Load Balancer ایجاد شده در Lab 4 را انتخاب کنید، آن را باز کنید اقدامات **منو و **حذف متعادل کننده بار را انتخاب کنید. برای تایید حذف، در فیلد متنی دیالوگی که باز می شود، تایید را تایپ کرده و کلیک کنید حذف کنید.
برو به گروه های هدف بخش، گروه هدف ایجاد شده در آزمایشگاه 4 را انتخاب کنید، آن را باز کنید اقدامات ** منو و انتخاب کنید **حذف. را کلیک کنید بله حذف کنید در گفتگویی که باز می شود.
حرکت به قالب ها را راه اندازی کنید بخش Launch Template ایجاد شده در Lab 5 را انتخاب کرده و باز کنید منوی اقدامات **و **حذف الگو را انتخاب کنید.
برای تایید حذف، Delete را در فیلد تایپ کرده و کلیک کنید حذف کنید
پس از حذف Auto Scaling Group، نمونهها شروع به خاموش شدن میکنند و در نهایت خاتمه مییابند. بررسی کنید که تمام نمونههای راهاندازی شده توسط Auto Scaling Group به درستی خاتمه یافتهاند.
می توانید استفاده کنید aws:autoscaling:groupName ویژگی برای فیلتر نمونههای راهاندازی شده توسط Auto Scaling Group ایجاد شده در آزمایشگاه 6.
-
به کنسول RDS بروید، آن را انتخاب کنید wordpress-workshop ***خوشه منطقه ای *و روی **Modify کلیک کنید.
-
به پایین صفحه بروید، تیک آن را بردارید حفاظت حذف را فعال کنید و بر روی کلیک کنید ادامه دهید
- گزینه را انتخاب کنید بلافاصله درخواست دهید و کلیک کنید خوشه را اصلاح کنید
- در کنسول RDS، را انتخاب کنید نمونه خواننده، برو به اقدامات ** منو و انتخاب کنید **حذف. برای تایید حذف، delete me را در فیلد تایپ کرده و کلیک کنید حذف کنید.
-
حالا گزینه را انتخاب کنید به عنوان مثال Writer، به **اقدامات بروید* منو و انتخاب کنید حذف کنید.
برای تایید حذف، delete me را در فیلد تایپ کرده و کلیک کنید حذف کنید. -
شما می توانید حذف کنید خوشه منطقه ای اکنون آن را انتخاب کنید، به اقدامات منو و انتخاب کنید حذف کنید.
مطمئن شوید که
برای تایید حذف، Delete me را در فیلد تایپ کنید و روی آن کلیک کنید حذف خوشه DB
هنگامی که RDS Aurora Cluster به طور کامل حذف شد، به صفحه RDS Snapshots بروید، سیستم را بزنید و مطمئن شوید که هیچ عکس فوری خودکاری برای خوشه Aurora ایجاد شده در طول کارگاه وجود ندارد.
به کنسول EFS بروید، سیستم فایل ایجاد شده در Lab 3 را انتخاب کنید و کلیک کنید حذف کنید.
با وارد کردن شناسه فایل سیستم در گفتگوی ظاهر شده، حذف را تأیید کنید و کلیک کنید تایید کنید.
Gateway های NAT را حذف کنید
به صفحه دروازه های NAT کنسول VPC بروید، هر بار یک دروازه NAT را انتخاب کنید، به اقدامات **منو و **حذف دروازه NAT را انتخاب کنید.
برای تایید حذف، حذف را در فیلد تایپ کرده و کلیک کنید حذف کنید
VPC را حذف کنید
VPC wordpress-workshop را از صفحه VPCs خود در کنسول VPC انتخاب کنید. برو به اقدامات ** منو و انتخاب کنید **حذف VPC.
تنها در صورتی میتوانید VPC را حذف کنید که هنوز هیچ واسط شبکه در هیچ یک از زیرشبکههای VPC وجود نداشته باشد. گفتگویی که با کلیک بر روی آن ظاهر می شود VPC را حذف کنید ENI های باقی مانده را نشان می دهد.
بر روی کلیک کنید رابط های شبکه برای بررسی اینکه کدام سرویسها هنوز از VPC استفاده میکنند پیوند دهید و اقدامات لازم را انجام دهید.
هنگامی که تمام ENI ها حذف شدند، می توانید VPC را حذف کنید.
گفتگوی ظاهر شده نشان می دهد که پس از حذف VPC کدام منابع حذف خواهند شد.
برای تایید حذف، حذف را در فیلد تایپ کرده و کلیک کنید حذف کنید
آی پی های الاستیک را آزاد کنید
به صفحه Elastic IP های کنسول VPC بروید، همه IP های الاستیک غیر مرتبط را انتخاب کنید (شناسه ارتباط *مقدار – است)، منوی **اقدامات** را باز کرده و **آدرسهای IP الاستیک را انتخاب کنید.*.
اگر کاربر IAM کاربر کارگاه را برای دنبال کردن آزمایشگاههای کارگاه ایجاد کردهاید، مطمئن شوید که آن را از کنسول IAM حذف کردهاید که با یک کاربر IAM یا نقش IAM با مجوزهای مناسب وارد سیستم میشود.
چالش های پیش رو و راه حل ها
-
مشکلات اتصال پایگاه داده: هنگام تنظیم RDS، برخی از مشکلات پیکربندی با کنترل دسترسی وجود داشت.
-
راه حل: گروه های امنیتی VPC را تنظیم کرد و اطمینان حاصل کرد که نمونه های EC2 دارای مجوزهای صحیح برای دسترسی به RDS هستند.
-
مدیریت فایل وردپرس: مدیریت فایل های رسانه ای وردپرس در چندین نمونه در ابتدا چالش برانگیز بود.
-
راه حل: Amazon EFS را بهعنوان یک سیستم فایل مشترک پیادهسازی کرد که مدیریت یکپارچه رسانه را در بین نمونهها امکانپذیر میکند.
نتیجه گیری
این پروژه AWS نحوه ایجاد یک محیط وردپرس بسیار در دسترس و مقیاس پذیر را نشان می دهد که برای سایت های درجه تولید با ترافیک بالا ایده آل است. این قابلیتهای AWS را در مدیریت زیرساخت برای به حداقل رساندن مداخله دستی و در عین حال به حداکثر رساندن زمان کار به نمایش میگذارد.
مخزن GitHub من را کاوش کنید.
شوبهام مورتی — مهندس امنیت ابر مشتاق | آموزش ابری هفتگی!!
بیایید وصل شویم: لینکدین، توییتر، گیتهاب