ユーザ事例
成長を続けるWebサービスにCisco Catalyst 6500 ACEモジュールを採用
柔軟な拡張性とパフォーマンスを重視
株式会社サイバーエージェント
導入の背景 / 課題
- さまざまなサービスを順次提供開始したため、多数の個別システムが散在し、余剰リソースが問題になっていた。また、事業拡大に伴い既存データセンターの物理的なキャパシティに限界が来ており、データセンターの移転や統合が必要だった。
- 動画や画像のサービスがあり、大容量トラフィックを安定的にロードバランスする仕組みが必要だった。
- 新しいデータセンターでは、事業の拡大に柔軟に対応できるスケーラビリティの確保が必要だった。
- パフォーマンスとスケーラビリティの両方を満たすロードバランサーとして、負荷分散モジュール ACE20を採用した。
導入ソリューション
- Cisco Catalyst 6500
- 負荷分散モジュール ACE20
- その他ファイアウォールモジュールなど
導入効果
- 仮想化によりロードバランサーを物理的な筐体ではなく論理的なバーチャルコンテキストに置き換えたことで、省スペース・省電力を実現。
- 仮想化を利用してネットワーク機器リソースを論理的に切り分けたことで、状況に合わせたフレキシブルな構成変更が可能になった。さらに、拡張や構成変更の作業がリモートから行えるため、管理・運用負荷が軽減した。
- システム全体の拡張性のために複数の回線を利用したユニットごとの構成にしたが、パフォーマンスを維持したままのロードバランスを実現した。
サイバーエージェントは、数多くのコミュニケーション サービスを提供するインターネット総合サービス企業である。Amebaブランドで知られ、ブログメディア「Ameba」の他、キャラクターコミュニティや動画投稿サイトなどを展開している。そのアクセス数はすでに1か月当たり100 億PV(ページビュー)を超えている。このようなトラフィックを処理し、動画配信サービスなどの大容量コンテンツを扱うためには、データセンターの統合と、今後のビジネスの成長にも対応可能なトラフィック処理技術が必要であった。そこに採用されたのが、Cisco Catalyst 6500スイッチに搭載するACE(Application Control Engine)モジュールである。
乱立・点在するサービスごとのシステムを統合せよ
「Ameba」では、新しいサービスを追加するたびにサービス設計とシステム開発を行っていったという経緯がある。そのために、サービスによってインフラが異なっていたり、場合によっては全く別のロケーションにあるデータセンターにそれぞれのシステムが収容されていることもあった。これでは統一した管理が難しくなり、バージョンアップやトラブル発生時の対応にも時間を要することになる。また、このように各サービスが独立したシステム構成になっていると、サーバやネットワーク機器群に余剰リソースが発生するという問題も起きる。データセンターの統合は、サイバーエージェントにとって避けては通れない課題として立ち上がってきていたのだ。
コンシューマ向けWebサービスを提供している場合、事業の達成度を表すためによく用いられるのがPV(ページビュー)という数字だ。いわゆる、アクセス数である。サイバーエージェントでも、目標PVを設定して事業を進めている。2006年末、Ameba事業のPVは月間10億という数字を突破した。巨大メディアの仲間入りである。今後も急成長していくことが見込まれるし、当然目指してもいる。そのために、データセンターの統合とインフラの刷新というプロジェクトが開始された。
このプロジェクトのファーストケースとして白羽の矢が立ったのは、動画投稿サイトの「AmebaVision」。2006年から爆発的にアクセス数が伸び、毎月のように増設が必要になっていた。しかも、「AmebaVision」をホスティングしているデータセンターは、首都圏ではない地方都市にあったため、そこへ毎回出向いて作業しなければならず、手間も時間もかかる状態だったのだ。このプロジェクトを担当した新規事業開発局インフラテクノロジーグループの吉川 出氏と怡土 研也氏は、首都圏に大きなスペースを確保して移転すること、そして今後の事業成長に柔軟に対応できるスケーラビリティの確保のほか、動画の配信というサービスの特性から大容量トラフィックをうまくロードバランスしてシステムを安定稼働させるという条件のもとで機器を選択した。そこで採用されたのが、Cisco Catalyst 6500のロードバランサー サービス モジュールCisco Application Contral Engine(以下、ACE)である。
高パフォーマンスと柔軟な拡張性で選んだACE
Cisco Catalyst 6500シリーズ スイッチは、大規模および中規模の企業ネットワークやキャリア ネットワーク向けに設計された、モジュラ型のLANスイッチ プラットフォームである。スロットにサービス モジュールを追加していくことで、LANスイッチ本来のスイッチング パフォーマンスを維持したまま、さまざまな機能を追加することができる。
「AmebaVision」のロードバランサーとしてCisco ACEモジュールを採用した理由について吉川氏は、「大容量のトラフィックを平然とさばける」という点を挙げている。トラフィック負荷が非常に高いときも、Cisco ACEモジュールの処理は実に安定しているという。さらにCisco ACEモジュールの仮想化機能も重要であった。仮想化によってリソースを論理的に分割して複数の機器があるかのように利用できる。それぞれの論理リソースはバーチャル コンテキスト(以下、VC)と呼ばれ、必要に応じてリソース割り当てを変更できるので、余剰リソースを有効活用できるし、拡張にも柔軟に対応できる。
サイバーエージェントでは、サービスごとに複数のサーバ群をまとめて1つのユニットとして構成して管理している。それぞれのユニットをCisco ACEのVCに対応させ、論理的なリソースの割り当てだけで各ユニットを拡張できるようにしているのだ。
Cisco ACEの、大容量トラフィック時も安定したロードバランシング処理と仮想化技術の組合せにより、ネットワーク管理にかかる負担は大きく軽減された。たとえば、ロードバランサーと物理サーバ間にルーティング ドメインを切り、Cisco ACEモジュールのVCを使って上流に向けたVLANインターフェイスを追加することで、システム拡張時の構成変更をリモートからできるようになった。これにより、ネットワーク担当者がデータセンターに出向く必要も少なくなった。
「一番心配だったのがパフォーマンス。もともと持っている経路情報の一部分であるMACアドレスを見るmac-adress stickyは機器負荷がないので安心して導入できた」
株式会社サイバーエージェント
新規開発局
インフラテクノロジーグループ
吉川 出氏
製品の癖を見抜いて適材適所で使うべし
サイバーエージェントのCisco ACEの導入は、日本では早期と言えた。前例の少ない導入であったため、全てが最初から順風満帆というわけにもいかなかった。サイバーエージェントがCisco ACEを導入した2006年当時、OSはまだ初期バージョンであり、未完成な部分も残っていた。そのためのトラブルも少なくなかったという。現在、OSのバージョンは2.0になって、それらのトラブルの原因の多くは改善されている。それでも、Cisco ACEには設定や運用上の癖のようなものがある。それをあらかじめ知っていれば、いらぬ手間を省けるのも事実だ。
例えば、コンフィギュレーションの作成手順。多くの機器がGUIで簡単に設定できるようになった昨今、特にサーバ管理を主に行っているエンジニアは機器動作の順序まで考えていない場合が多い。しかし、Cisco ACEはネットワーク機器なのだ。動作順序と設定順序が違っているとうまく機能しない場合がある。サイバーエージェント内で実際にあった例だが、若いエンジニアがCisco ACEの設定をしたがどうしてもうまく動かない。原因をよく調べてみると、アクセス コントロール リストの作成とそのリストを参照するポリシーを設定順序が逆であったことが判明した。ネットワーク管理者にとっては当然の知識である。しかし、「先にリストを作るようにというアラートが出るようになっていれば」(吉川氏)という要望はもっともだ。
あるいは、日本国内に特有な問題もある。日本の携帯電話向けサイトはキャリアごとに多少の作法の違いがあるが、極端にHTTPヘッダが長いというケースがあった。Cisco ACEのデフォルト値はHTTPヘッダが2048バイトまでという制限があり、特定のキャリアだけまったくサービス提供ができないという事態が発生したことがあったという。これは、上限を最大値の8192バイトに変更することでトラブルを解消しているが、米国ではあまり考えられない現象であるために原因が特定しにくいトラブルの1つである。
数々のトラブルを経験しながらサービス開始までたどりついた吉川氏は、「こうした現場のエンジニアだからこそ知っている情報は、散逸してしまっているのが現状。ぜひ、技術情報の共有や交換の場を設けて欲しい」と切望している。
「新しいデータセンターでは2006年当時の約10倍のアクセスをさばける状態になった。しかも、さらに今の2倍程度までキャパシティを拡張する余地がある。その礎をCisco ACEが築いた」
株式会社サイバーエージェント
CAネットワーク 新規開発局
インフラテクノロジーグループ
マネージャー
怡土 研也氏
それでもACEでなければ不可能だった
※画像をクリックすると、大きな画面で表示されます
トラブルが頻発していた当初、Cisco ACE以外の選択肢を検討したこともあったという。しかし、実際に他の製品に置き換えてみたところ、それはまったく代替不可能だった。1か所だけを試験的に置き換えただけでも、機器のキャパシティをオーバーしてしまった。
またCisco ACEが搭載しているmac-adress stickyという技術にも代わりがなかった。これは、リクエストが来た通信回線のインターフェイスのMACアドレスをロードバランサが参照し、レスポンスを必ずその回線へ返すという機能だ。リクエストパケットに目印をつけておき、レスポンスパケットのその目印を見て返すというレイヤ3で処理する方法もあるが、オーバーヘッドが大きくパフォーマンスはかなり犠牲になる。mac-adress stickyは、元々ACEのルーティングテーブルにあるMACアドレスを参照して返し先を判別するレイヤ2処理であるため、パフォーマンスには全く影響しない。「負荷が高いところはパケットレベルで最適化されていた方がいい」(吉川氏)のである。冗長性の観点から、データセンターにはインターネット側の回線が複数あるため、このように必ずリクエストが来た回線にレスポンスを返せるということは、非常に重要なポイントとなった。
現在、サイバーエージェントでは、パフォーマンス優先のコンテンツや大容量トラフィックの流れるサービスはACEでロードバランスし、サーバ管理者が運用する場合はGUIの充実した他のロードバランサを、トラフィック制御を含めて専門のエンジニアが張り付くことができるようなサービスはオープンソースのものでと使い分けているという。
株式会社サイバーエージェント
| 本 社: |
東京都渋谷区道玄坂一丁目12番1号 |
| 設 立: |
1998年3月18日 |
| 資本金: |
6,771,574,584円 (2009年6月末現在) |
| 従業員数: |
2,036人(2009年3月末時点) |
| 売上高: |
87,097,000,000円(2008年9月期) |
サイバーエージェントの「Ameba」は会員数約560万人(2009年6月末時点)を誇る国内最大のブログメディアで、4,800 名を越える著名人のブログが大きな特徴。また、ブログ機能だけでなく、様々なコミュニケーション機能や「アメーバピグ」などのコミュニティサービスを展開している。
http://www.cyberagent.co.jp/
急激な成長にも対応できる準備はできた
2009年6月、サイバーエージェントのデータセンターは首都圏に集約が完了したところだ。2006 年当時10 億だったPV はすでに 100 億を突破している。Cisco ACEのパフォーマンスと柔軟な拡張性により、サイバーエージェントは今後もさらにアクセス数増加やサービスの拡大に邁進することが可能だ。
また、コンピューティングが比較的静的で、データセンター内の物理サーバはめったに移動されないことを前提としたネットワークに実装されているその他の機能にも、仮想マシンのモビリティは影響を及ぼします。たとえば、物理ポートに基づいてステート情報を保持するポート セキュリティ、IEEE 802.1x、IP ソース ガードなどの機能は、新世代のアクセスレイヤ スイッチには適用できません。なぜなら、仮想マシンは、任意の時点で移行するからです。さらに、仮想マシンは 1 つの物理サーバから他の物理サーバに移行するので、仮想マシンがネットワーク上のどこに配置されているとしても、ネットワークに定義されている仮想マシン用のすべてのネットワーク ポリシー(ACL など)が、一貫して適用されることが望ましいです。