アンケートご協力のお願いgihyo.jpでは,2010年度に向けて豪華プレゼントが当たる読者属性アンケートを実施しております。ご協力ください。

gihyo.jp » ADMINISTRATOR STAGE » 連載 » UNIX的なアレ:gihyo.jp出張所 » 第4回 知っておきたいスケールアウトの基礎知識 その3

UNIX的なアレ:gihyo.jp出張所

第4回 知っておきたいスケールアウトの基礎知識 その3

より実践的なスケールアウトへ

前回までは,スケールアウトの基本的な考え方について説明をしてきました。

しかし,前回までの方法だと,WebサーバーやApplicationサーバーがどうしてもシングルポイントになってしまい,より多くのアクセスを受けた場合に,さばけなくなってしまいます。

それでは,より多くのアクセスをうけることができるシステムの設計はどうすればよいでしょうか?

今回は,より実践的なスケールアウトの方法を紹介していきたいと思います。

DNSラウンドロビンでアクセス分散をする

もっとも単純にアクセスを振り分ける方法として,DNS(Domain Name System)の仕組みを活用した方法があります。

DNSラウンドロビンという方法です。

DNSはホスト名に対してIPアドレスを返す仕組みになっていますが,1つのホストに対して複数のIPアドレスを登録することで,複数のIPアドレスをブラウザに返すことができます。

また,この複数のIPアドレスの順番はアクセスする度に変わるので,実際にアクセスをうけるサーバーはアクセスの度に変わるようになります。

この仕組みを使うことで,より多くのアクセスを受けることができるシステムを構築することができます。

例えば,http://foobar.comにアクセスした場合,返されるIPアドレスの順序によって,Server AとServer Bにそれぞれアクセスが分散されるようになっています(図1)。

図1

図1

それでは,DNSラウンドロビンで返したIPアドレスを持っているサーバーがアクセスできない状態になったらどうなるのでしょうか?

この問題に関しては,ブラウザ側で実装をしてくれています。

複数のIPアドレスを返された場合,接続できるまでアクセスをトライし続けてくれるようになっています。

そのため片方のサーバーが落ちてしまった際も,アクセスができなくなってしまうということは起きません。

しかし,1台だけサービスから外してシステムのメンテナンスを行う際はやはり手間になってまいます。DNSのレコードを 書き換えて,反映をまってという流れになるので,手軽にメンテナンスができる環境とは言い難いでしょう。

バランシングの基本,L4ロードバランサを利用する

さて,サーバー毎のアクセス分散において本命の技術です。ロードバランサ(負荷分散装置)をつかって,サーバーに対してのアクセスを振り分けます。

ここで紹介するのはL4ロードバランサで,OSI階層モデルで言われる第4層(トランスポート層)のレイヤーでアクセスを分散させる装置です。

アクセスをするためのグローバルIPアドレスはロードバランサが保持しています。各サーバーはローカルIPアドレスを保持していて,NATさせてアクセスを分散させます(図2)。

図2

図2

分散の方法は様々な方法を選択することができますが,Least Connectionと呼ばれる方法が一般的です。

これは各サーバーのセッション数を調べ,セッション数がもっとも少ないサーバーに対してアクセスを分散させる方式です。

片方のサーバーだけアクセスを分散させない状態にすることもでき,システムのメンテナンスもやりやすいと思います。

サーバーの障害時もロードバランサに検知させることができます。

ロードバランサからWebサーバーに対して,サービスを可能かどうかチェックをします。

その時,サービスができない状態であれば分散の対象から外してしまい,ほぼサービスを停止させずにすませることができます。

ロードバランサは高価なアプライアンス製品もありますが,Linuxで構築することも可能です。

LVS(Linux Virtual Server)と呼ばれる技術で,ここ最近で注目も高まってきています。

またロードバランサ自体も,VRRPDを使うことで冗長化することができますので,ロードバランサが落ちてしまったときもFailoverをしてサービスを稼働し続けることが可能です。

著者プロフィール

和田修一(わだしゅういち)

株式会社ロケットスタートCTO。PHPやPerlを中心としたアプリケーション開発から,Linuxなどの技術を中心としたインフラ系の設計・構築を担当。個人Blogは「Unix的なアレ」。

コメント

コメントの記入

パスサポ

多数の情報処理技術者試験対策書籍の発行実績を誇る技術評論社がお届けする,資格試験合格サイト「めざせ! 情報処理試験 パスサポ」が開設されました。

ピックアップ

サクセスストーリーに続く,快適サーバー運用管理のヒント!

データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた技術情報や心構え,その魅力について多角的に紹介。

テストエンジニア ステーション

いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

その他の連載

使ってみよう! Windows Live SDK/API

Windows Liveサービスの一部にはAPIやSDKとして提供されているものがあります。本連載では各API・SDKの紹介とそれらを利用したアプリケーションを開発していきます。

Lifelog~毎日保存したログから見えてくる個性

コンピュータを使って,日常のさまざまなことの記録(ログ)をとり,それを分析して活用することで,もう一段階上の「楽な生活」をめざす日々の研究報告です。

もっと便利に!jQueryでラクラクサイト制作(実践サンプル付き)

本連載では,実践サンプルとともに,jQueryを上手に活用してサイト制作の品質向上・効率化を実現するための実践テクニックを解説します。

Ruby Freaks Lounge

Rubyに関わる,執筆者自身の旬なテーマを扱った,リレー形式の連載です。

これでできる! クロスブラウザJavaScript入門

JavaScriptはウェブ制作において避けては通れない重要な言語ですが,JavaScriptに苦手意識を持たれている方は少なくないようです。 その最大の原因がクロスブラウザ対応という課題であり,本連載ではクロスブラウザ対応のテクニックを詳細に解説します。

ビジネスで成功するためのシステム運用管理のポイント

システムの多様化,技術進歩に伴い,ITシステムの運用管理の必要性が年々高まっています。本連載では,システムの運用管理とは何かについて,現場のニーズと具体的な指針を押さえながらを解説します。

2010年版SEO体得講座

本連載では,いまや企業サイトの戦略の1つとして欠かすことのできないSEOについて,最新トレンドからすぐに使えるTipsまでを紹介します。

小型Linuxサーバの最高峰 OpenBlockS 600活用指南

搭載メモリの増加,CPUクロックの向上など,あらゆる面が強化された期待の新モデルOpenBlockS 600。この記事ではOpenBlockS 600の紹介から,活用するためのさまざまなノウハウを紹介していきます。

連載一覧

gihyo.jp

  • DEVELOPER STAGE
  • ADMINISTRATOR STAGE
  • WEB+DESIGN STAGE
  • LIFESTYLE STAGE
  • SCIENCE STAGE
  • NEWS & REPORT

書籍案内

  • 新刊書籍
  • 書籍ジャンル一覧
  • 書籍シリーズ一覧
  • 新刊ピックアップ
  • ロングセラー
  • 電脳会議

定期刊行物一覧

  • Software Design
  • WEB+DB PRESS
  • Web Site Expert
  • 組込みプレス