ابرآراز | ArazCloud

پیکربندی توازن بار برای سرورهای ابری با ترافیک بالا

این مستند راهنمایی برای پیکربندی توازن بار (Load Balancing) برای سرورهای ابری با ترافیک بالا است. در این مستند، از ابزارهایی مانند Nginx و HAProxy استفاده خواهیم کرد تا نحوه تنظیم و پیکربندی توازن بار را نشان دهیم.

پیش‌نیازها

  • چندین سرور ابری با سیستم‌عامل Ubuntu 20.04
  • دسترسی به اینترنت
  • دسترسی sudo به سرور
  • نصب Nginx یا HAProxy

نصب و پیکربندی Nginx برای توازن بار

مرحله 1: نصب Nginx

ابتدا باید Nginx را بر روی سرور خود نصب کنید.

sudo apt update
sudo apt install -y nginx

مرحله 2: پیکربندی Nginx به عنوان Load Balancer

فایل تنظیمات Nginx را برای پیکربندی توازن بار ویرایش کنید.

sudo nano /etc/nginx/sites-available/load_balancer

تنظیمات زیر را در فایل وارد کنید:

upstream backend_servers {
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
}

server {
    listen 80;

    location / {
        proxy_pass http://backend_servers;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

مرحله 3: فعال‌سازی تنظیمات Nginx

sudo ln -s /etc/nginx/sites-available/load_balancer /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

نصب و پیکربندی HAProxy برای توازن بار

مرحله 1: نصب HAProxy

برای نصب HAProxy، دستورات زیر را اجرا کنید:

sudo apt update
sudo apt install -y haproxy

مرحله 2: پیکربندی HAProxy

فایل تنظیمات HAProxy را ویرایش کنید.

sudo nano /etc/haproxy/haproxy.cfg

تنظیمات زیر را در فایل وارد کنید:

global
    log /dev/log local0
    log /dev/log local1 notice
    chroot /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 660 level admin
    stats timeout 30s
    user haproxy
    group haproxy
    daemon

defaults
    log     global
    mode    http
    option  httplog
    option  dontlognull
    timeout connect 5000
    timeout client  50000
    timeout server  50000
    errorfile 400 /etc/haproxy/errors/400.http
    errorfile 403 /etc/haproxy/errors/403.http
    errorfile 408 /etc/haproxy/errors/408.http
    errorfile 500 /etc/haproxy/errors/500.http
    errorfile 502 /etc/haproxy/errors/502.http
    errorfile 503 /etc/haproxy/errors/503.http
    errorfile 504 /etc/haproxy/errors/504.http

frontend http_front
    bind *:80
    default_backend http_back

backend http_back
    balance roundrobin
    server backend1 backend1.example.com:80 check
    server backend2 backend2.example.com:80 check
    server backend3 backend3.example.com:80 check

مرحله 3: راه‌اندازی مجدد HAProxy

sudo systemctl restart haproxy

تست توازن بار

مرحله 1: پیکربندی تست سرورها

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

مرحله 2: ارسال درخواست به Load Balancer

با ارسال چندین درخواست به آدرس Load Balancer، می‌توانید بررسی کنید که درخواست‌ها به صورت متوازن بین سرورهای backend توزیع می‌شوند.

curl http://your_load_balancer_ip

نتیجه‌گیری

با این راهنمای مستند، شما می‌توانید توازن بار را برای سرورهای ابری با ترافیک بالا با استفاده از Nginx یا HAProxy پیکربندی کنید. این سیستم به شما کمک می‌کند تا عملکرد و پایداری سرورهای خود را بهبود بخشید و ترافیک را به صورت کارآمد بین سرورها توزیع کنید.