برای پیکربندی تعادل بار در Google Cloud Platform (GCP) برای یک مورد استفاده که شامل چندین سرور وب پشتیبان در حال اجرا وردپرس است، با این الزام که پایگاه داده در این موارد ثابت بماند، لازم است از یک رویکرد ساختاریافته شامل چندین مؤلفه کلیدی و خدمات ارائه شده پیروی کنید. توسط GCP. این فرآیند در دسترس بودن، مقیاس پذیری و سازگاری داده ها را تضمین می کند که برای یک برنامه وب قوی حیاتی هستند.
پیکربندی گام به گام
1. راه اندازی وب سرورهای Backend
1. ارائه ماشینهای مجازی (VM):
– از Google Compute Engine برای ایجاد چندین ماشین مجازی که میزبان نمونه های وردپرس هستند استفاده کنید. اطمینان حاصل کنید که این ماشین های مجازی در یک منطقه هستند اما می توانند در مناطق مختلف برای دسترسی بالا باشند.
– مثال: سه ماشین مجازی به نامهای «wordpress-vm-1»، «wordpress-vm-2» و «wordpress-vm-3» ایجاد کنید.
2. وردپرس را نصب کنید:
– پشته نرم افزار لازم (مانند Apache/Nginx، PHP) را روی هر ماشین مجازی نصب کنید.
– وردپرس را روی هر ماشین مجازی مستقر کنید. مطمئن شوید که فایلهای پیکربندی وردپرس (wp-config.php) برای اتصال به پایگاه داده مرکزی تنظیم شدهاند که در مراحل بعدی مورد بحث قرار خواهد گرفت.
2. راه اندازی پایگاه داده متمرکز
1. استفاده از Cloud SQL برای MySQL:
- یک نمونه Cloud SQL در GCP ایجاد کنید تا به عنوان پایگاه داده متمرکز برای تمام نمونه های وردپرس خدمت کند. این امر ثبات را تضمین می کند و مدیریت پایگاه داده را ساده می کند.
– مثال: یک نمونه Cloud SQL با نام «wordpress-db» ایجاد کنید.
2. پیکربندی پایگاه داده:
– نمونه Cloud SQL را با پایگاه داده های لازم و کاربران مورد نیاز وردپرس پیکربندی کنید.
– مطمئن شوید که فایل «wp-config.php» در هر نمونه وردپرس به این نمونه Cloud SQL اشاره دارد.
3. فعال کردن IP خصوصی:
– IP خصوصی را برای نمونه Cloud SQL فعال کنید تا از ارتباط ایمن و کارآمد بین وب سرورها و پایگاه داده در همان VPC اطمینان حاصل کنید.
3. ذخیره سازی شی برای فایل های رسانه ای
1. استفاده از فضای ذخیره سازی ابری:
- فایل های رسانه ای (آپلود) را در یک مکان مشترک ذخیره کنید تا از یکپارچگی در همه موارد اطمینان حاصل کنید. برای این منظور از Google Cloud Storage استفاده کنید.
– مثال: یک سطل فضای ذخیره سازی ابری با نام «وردپرس رسانه» ایجاد کنید.
2. وردپرس را برای استفاده از فضای ذخیره سازی ابری پیکربندی کنید:
– از یک پلاگین یا کد سفارشی برای پیکربندی وردپرس برای آپلود فایل های رسانه ای در سطل ذخیره سازی ابری به جای سیستم فایل محلی استفاده کنید.
4. پیکربندی Load Balancer
1. ایجاد تعادل بار جهانی HTTP(S):
- به کنسول GCP بروید و یک متعادل کننده بار جهانی HTTP(S) جدید ایجاد کنید.
– قسمت جلویی را برای استفاده از یک آدرس IP جهانی پیکربندی کنید و در صورت نیاز به HTTPS، گواهیهای SSL لازم را تنظیم کنید.
2. پیکربندی Backend:
– ماشین های مجازی ایجاد شده قبلی ('wordpress-vm-1', 'wordpress-vm-2', 'wordpress-vm-3') را به سرویس backend load balancer اضافه کنید.
- بررسی های سلامت را برای نظارت بر وضعیت هر نمونه وردپرس پیکربندی کنید. یک بررسی سلامت معمولی ممکن است شامل ارسال درخواستهای HTTP به یک نقطه پایانی خاص (به عنوان مثال، «/سلامت») و انتظار یک پاسخ OK 200 باشد.
3. شباهت جلسه:
- در صورت لزوم، پیوند جلسه را پیکربندی کنید تا اطمینان حاصل شود که کاربران در طول تعامل خود با وب سایت، یک جلسه ثابت با یک نمونه پشتیبان واحد را حفظ می کنند.
5. پیکربندی خودکار مقیاس
1. فعال کردن مقیاس خودکار:
– سرویس Backend را برای استفاده از مقیاس خودکار بر اساس معیارهایی مانند استفاده از CPU یا نرخ درخواست پیکربندی کنید. این تضمین میکند که تعداد نمونههای وردپرس بر اساس تقاضای ترافیک میتواند افزایش یا کاهش یابد.
– مثال: استفاده از CPU هدف را 60% تنظیم کنید و حداقل و حداکثر تعداد نمونه ها را پیکربندی کنید.
6. پیکربندی DNS
1. به روز رسانی سوابق DNS:
– سوابق DNS دامنه خود را به آدرس IP متعادل کننده بار اشاره کنید. این تضمین می کند که تمام ترافیک ورودی از طریق متعادل کننده بار هدایت می شود.
پیکربندی نمونه
ساخت VM و نصب وردپرس
bash gcloud compute instances create wordpress-vm-1 --zone=us-central1-a --machine-type=e2-medium --image-family=debian-10 --image-project=debian-cloud gcloud compute instances create wordpress-vm-2 --zone=us-central1-b --machine-type=e2-medium --image-family=debian-10 --image-project=debian-cloud gcloud compute instances create wordpress-vm-3 --zone=us-central1-c --machine-type=e2-medium --image-family=debian-10 --image-project=debian-cloud
Apache، PHP و WordPress را روی هر نمونه نصب کنید:
bash sudo apt update sudo apt install apache2 php php-mysql -y wget https://wordpress.org/latest.tar.gz tar -xvf latest.tar.gz sudo mv wordpress/* /var/www/html/ sudo chown -R www-data:www-data /var/www/html/ sudo systemctl restart apache2
پیکربندی Cloud SQL
یک نمونه Cloud SQL ایجاد کنید:
bash gcloud sql instances create wordpress-db --tier=db-n1-standard-1 --region=us-central1 gcloud sql users set-password root --host=% --instance=wordpress-db --password=yourpassword
پیکربندی Load Balancer
ایجاد تعادل بار جهانی HTTP(S):
1. پیکربندی Frontend:
- یک آدرس IP جهانی تنظیم کنید.
- در صورت استفاده از HTTPS، گواهی های SSL را پیکربندی کنید.
2. پیکربندی Backend:
– VM ها را به سرویس Backend اضافه کنید.
- بررسی های بهداشتی را تنظیم کنید.
bash gcloud compute health-checks create http wordpress-health-check --request-path=/health gcloud compute backend-services create wordpress-backend-service --protocol=HTTP --health-checks=wordpress-health-check --global gcloud compute backend-services add-backend wordpress-backend-service --instance-group=wordpress-vm-group --global
3. نقشه URL و پروکسی هدف:
– یک نقشه URL ایجاد کنید و پروکسی HTTP(S) را هدف قرار دهید.
bash gcloud compute url-maps create wordpress-url-map --default-service=wordpress-backend-service gcloud compute target-http-proxies create wordpress-http-proxy --url-map=wordpress-url-map gcloud compute forwarding-rules create wordpress-http-forwarding-rule --global --target-http-proxy=wordpress-http-proxy --ports=80
اطمینان از ثبات
دسترسی مداوم به پایگاه داده با استفاده از یک نمونه متمرکز Cloud SQL به دست می آید. سازگاری فایلهای رسانه با استفاده از فضای ذخیرهسازی ابری، که همه نمونهها به طور یکسان به آن دسترسی دارند، تضمین میشود. Session affinity میتواند برای حفظ جلسات کاربر با نمونههای باطن خاص، در صورت لزوم، پیکربندی شود.
ملاحظات نهایی
- امنیت: اطمینان حاصل کنید که قوانین فایروال مناسب برای محدود کردن دسترسی به پایگاه داده و سایر اجزای حساس وجود دارد.
- نظارت و ثبت گزارش: از خدمات نظارت و ثبت گزارش GCP برای پیگیری عملکرد و سلامت زیرساخت خود استفاده کنید.
- پشتیبان گیری و بازیابی: برای جلوگیری از از دست رفتن داده ها، یک استراتژی پشتیبان برای نمونه Cloud SQL و سطل ذخیره سازی ابری خود اجرا کنید.
با دنبال کردن این مراحل، میتوانید یک محیط وردپرس با بار متعادل و قوی و مقیاسپذیر را در GCP پیکربندی کنید و از در دسترس بودن و سازگاری دادهها در چندین نمونه پشتیبان اطمینان حاصل کنید.
سایر پرسش ها و پاسخ های اخیر در مورد EITC/CL/GCP Google Cloud Platform:
- GCP تا چه حد برای توسعه، استقرار و میزبانی صفحات وب یا برنامه های کاربردی مفید است؟
- چگونه محدوده آدرس IP را برای یک زیر شبکه محاسبه کنیم؟
- تفاوت بین Cloud AutoML و Cloud AI Platform چیست؟
- تفاوت بین Big Table و BigQuery چیست؟
- آیا هنگام استفاده از تنها یک وب سرور باطن، اجرای تعادل بار منطقی است؟
- اگر Cloud Shell یک پوسته از پیش پیکربندی شده با Cloud SDK فراهم می کند و نیازی به منابع محلی ندارد، مزیت استفاده از نصب محلی Cloud SDK به جای استفاده از Cloud Shell با استفاده از Cloud Console چیست؟
- آیا اپلیکیشن موبایل اندرویدی وجود دارد که بتوان از آن برای مدیریت Google Cloud Platform استفاده کرد؟
- راههای مدیریت Google Cloud Platform چیست؟
- محاسبات ابری چیست؟
- تفاوت بین Bigquery و Cloud SQL چیست؟
سوالات و پاسخهای بیشتر را در EITC/CL/GCP Google Cloud Platform مشاهده کنید
پرسش و پاسخ بیشتر:
- رشته: ابر رایانه
- برنامه: EITC/CL/GCP Google Cloud Platform (به برنامه صدور گواهینامه بروید)
- درس: شبکه GCP (به درس مربوطه بروید)
- موضوع: تعادل بار (برو به موضوع مرتبط)