勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

お手軽に負荷分散(DNSラウンドロビン)を行う方法

   2024/01/12  サーバー

サーバ設定か何かの記事を見ていて「DNSラウンドロビン」という聞いたことのない言葉が出ていた。負荷分散技術の一つらしい。調べたことをメモ。

 

概要

1つのドメインに対して複数のIPアドレスを割り当てて、ドメインをリクエストしたユーザーに対して、ある程度均等にアクセスを振り分ける。

 

設定方法

「111.111.111.111」と「222.222.222.222」いう2つのサーバがあったとする。全く同じコンテンツになるよう、2つのサーバにサイトを作成する。

「aaa.com」というドメインのDNSのAレコードを「111.111.111.111」と「222.222.222.222」の2つ割り当てる。

 

メリット

設定が簡単。2つとは言わず、3つ目のサーバが必要になった場合もAレコードを追加するだけでいける。

 

デメリット

ログイン制のサイトだったりするとセッションの引継ぎが難しい。アクセスが完全に等分されるわけではない。偏る場合もある。

更新が多いサイトの場合、同一コンテンツを複数サーバで同期させるのが難しい。MySQLとか使う場合はレプリケーションしないといけないので手間がかかる。

 

その他

負荷分散と聞くとロードバランサが思いついた。ロードバランサだと高価というイメージがあり、縁がないものと思っていた。

DNSラウンドロビンだと様々なデメリットはあるものの、お手軽に試すことは出来るので、知識として覚えておく。

あと実際に試してみたところ、アクセスにけっこうな偏りが見受けられた。

 - サーバー

  関連記事

サーバファイルいじる際に「E325: ATTENTION」が出る場合の対処
サーバファイルいじる際に「E325: ATTENTION」が出る場合の対処

httpd.confとかをSSH接続で触っている際に、例えばSSHクライアントソ ...

Sysstat Graphical Viewerにロードアベレージを追加
Sysstat Graphical Viewerにロードアベレージを追加

sysstatの各種情報をグラフ表示するSysstat Graphical Vi ...

LAMP環境内の各種ソフトウェアやOSのバージョン確認方法のまとめ
LAMP環境内の各種ソフトウェアやOSのバージョン確認方法のまとめ

サーバ内の各種ソフトウェアやOSのバージョンを確認する際にいつもGoogle検索 ...

SSLのセキュリティ設定について(ssl.conf)
SSLのセキュリティ設定について(ssl.conf)

SSLのセキュリティ設定をする事があった。指定されたファイルに指定された内容を書 ...

Nginxでアクセス量の制御を行う方法(ngx_http_limit_req_module)
Nginxでアクセス量の制御を行う方法(ngx_http_limit_req_module)

サイト内のあるファイルやページに対してアクセス拒否はできない(したくない)が、不 ...