勉強したことのメモ

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

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

 - サーバー

  関連記事

PHPで作成したプログラムをcron設定し自動実行する方法

cronの設定方法。サーバー側での設定とPHP側での書き方を以下にメモ。 &nb ...

ブログサービスの様にサブドメインを動的に生成する方法  

ブログサービスの様に「hoge」というログインIDを作成した際「hoge.blo ...

フォルダにリンク制限をかける

imgというフォルダがあり、直接URLを叩いても 中身を見られないけど、同一サー ...

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

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

CentOS7系にLEMP環境(Linux + Nginx + MySQL + PHP)を構築

先日KAGOYAのVPSからIndigoに移行した際にCentOS6から7へバー ...