Memo

メモ > サーバ > 各論: エトセトラ > nginxをロードバランサーにする

nginxをロードバランサーにする
Nginx ロードバランサー基本設定 #nginx - Qiita https://qiita.com/noblin_1031/items/751cbe6d62125f851ee8 以降は古いメモ&未検証。 nginxをHTTPロードバランサのように使う http://mogile.web.fc2.com/nginx/http/load_balancing.html upstreamコンテキストで複数のプロキシ先サーバを定義できる。 このプロキシサーバ群をリバースプロキシの対象にすれば、nginxをロードバランサーとして使えるみたい。 /etc/nginx/nginx.conf で以下の設定を追加し、
upstream myapp { server web1.example.com; server web2.example.com; server web3.example.com; }
/etc/nginx/conf.d/proxy.conf で以下のように設定すれば、処理の振り分けができるみたい。
location / { proxy_pass http://myapp; }
/etc/nginx/nginx.conf で以下のように設定すると、リクエストの 3/5 はweb1に向かうみたい。
upstream myapp { server web1.example.com weight=3; server web2.example.com; server web3.example.com; }
AWSならELBを使う方が可用性の担保が容易。 nginxをロードバランサーにする場合、ELBとは違い可用性は独自に担保する必要がある。 FloatingIPにするなどを検討する。 EC2 Nginx で高可用性+ロードバランス(Floating IP パターン) https://blog-kazuhisya.rhcloud.com/2014/08/10/floating-ip-with-nginx-load-balancer/

Advertisement