アクセスの分散の実際

   スケールアウトとは、サーバーを追加することによりシステム全体の性能を向上することです。追加したサーバーに処理を行わせるには、見かけ上は同じ Webサーバーへのアクセスとしながら、実際は複数のWebサーバーに処理を分散しなければなりません(図8)。アクセスの分散にはいろいろな方法があり ます。コンピュータ名からIPアドレスを参照するDNS、レイヤー3スイッチとして利用可能なIPTables、IPRoute2などが利用できます。
現在のWebシステム

図8:ラウンドロビンDNSによる負荷分散


   以下、実際の手法について詳しく解説していきます。

DNSによるアクセス分散

   ご存知のようにDNSとは、コンピュータ名から実際のネットワーク接続に利用す るIPアドレスを検索するサービスです。DNSでは、同じ名前のコンピュータに対して、複数のIPアドレスの割り当てが可能となっています。複数のIPア ドレスが登録されている場合、そのコンピュータ名のIPアドレスはラウンドロビン方式で返されます。

   ラウンドロビンDNSは古くから利用され、現在も広く利用されているアクセス分散手法です。実際のWebサイトがどのようにDNSに登録されている かはdigコマンドで簡単に調べられます。執筆時点の筆者の環境では、www.google.co.jpのDNS登録は図9のように表示されています。

[yohgaki@dev yohgaki]$ dig www.google.co.jp

; >> DiG 9.2.3 >> www.google.co.jp
;; global options: printcmd
;; Got answer:
;; ->>HEADER- opcode: QUERY, status: NOERROR, id: 45787
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.google.co.jp.INA

;; ANSWER SECTION:
www.google.co.jp.66392INCNAMEwww.google.com.
www.google.com.838INCNAMEwww.google.akadns.net.
www.google.akadns.net.238INA216.239.57.103 ………(1)
www.google.akadns.net.238INA216.239.57.99
www.google.akadns.net.238INA216.239.57.147
www.google.akadns.net.238INA216.239.57.104

;; Query time: 1 msec
;; SERVER: 192.168.100.1#53(192.168.100.1)
;; WHEN: Sun Sep 12 10:40:58 2004
;; MSG SIZE rcvd: 161
図9:www.google.co.jpのDNS登録


   DNSサーバーは、同じコンピュータ名に複数のIPアドレス登録がある場合、名前解決の 問い合わせが行われると順番にIPアドレスを返していきます。したがって、コンピュータがwww.google.co.jpにアクセスすると、 216.239.57.103、216.239.57.99、216.239.57.147、216.239.57.104のIPアドレスがDNSサー バーから順番に返され、複数のIPアドレスにアクセスが分散されます。ラウンドロビンDNSを利用する場合、より均等にアクセスを分散するために通常より かなり短いTTL(有効期限)を設定します。www.google.co.jpのDNSのAレコード(ドメイン名をIPアドレスに対応付けるDNSレコー ド)も、通常設定される86400秒(1日)のTTLではなく、238秒のTTLが設定されていることがわかります(図9の(1))。ラウンドロビン DNSを利用し、まったく別のデータセンターのコンピュータにアクセスを行わせる場合は、接続の永続性の維持に問題があるので注意が必要です。

   次回はIPTablesとIPRoute2によるアクセス分散手法を解説します。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30