勉強したことのメモ

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

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

 - サーバー

  関連記事

サーバー監視はNew Relicが楽に導入できて便利

サーバー監視はNew Relicが楽に導入できて便利だった。メモリ使用率やCPU ...

Let's Encryptの自動更新時「Failed to renew certificate~」エラーの対応方法

CentOSからAlmaLinuxに移行後、初めてのLet's Encrypt更 ...

htaccessファイルにて特定のIPの場合のみBasic認証無し、その他の場合はBasic認証有りにする方法

開発中の環境で指定したIPからのアクセスはBasic認証無しに、それ以外のアクセ ...

apacheのアクセスログ等、ログファイルをリアルタイムで監視する方法

Apacheのエラーログやアクセスログをリアルタイムで監視したい。リアルタイムと ...

.htaccessでURLの末尾のphpという拡張子が無い場合でもページを表示させる方法

「/hoge/test.php」のようなディレクトリ・ファイル名の場合は「htt ...