現在JavaScriptの設定が無効になっています。このページを利用するにはJavaScriptの設定を有効にしてください。トップ全記事一覧テクノロジー2011.08.12ヤフーネットワーク10年はじめにこんにちは、ヤフーでネットワーク設計に携わって早10年の松谷と申します。今回はヤフーネットワーク10年と題し、ヤフーの重要配信インフラの一部であるネットワークについて、過去の課題と共にご紹介していきたいと思います。2000年この頃のヤフーでは検索やオークションといったサービスのウェブサーバーへ、大量のアクセスが集中し高負荷になる事が多々ありました。Robin(以下DNSRR)で運用していました。DNSRRは非常にシンプルで優れた機能ですが、サーバー障害時にはAレコードを手動で抜く作業が必要です。DNSの512byte問題でAレコードを束ねるのが限界になっていました。Balancer(以下LB)です。Return(以下DSR)といった他ではあまり使われてない方法で使用していました。DSRでは一般的に以下のようなパケットフローで動作します。リアルサーバーは直接クライアントへレスポンスを送るまたDSRでは以下のようなメリットがあります。ウェブトラフィックは圧倒的にサーバー→クライアント間のトラフィックが多いためLBへ負荷をかけない1台のLBで数百台のリアルサーバーを設定できるため、費用対効果が非常に高く、安定した運用が可能となりました。2001年2001年はサービスの性質に合わせた、よりセキュアな構成を検討する事になりました。FirewallやSSLアクセラレータの導入検討です。当時のトラフィックを受けきれる機器が少なく検証に非常に時間がかかりました。2002年この年までは各サービスの立ち上げと同時にネットワークを構築している事が多かっため、構成が標準化されていなく拡張が難しい構成が多く、運用負荷が上がってきた年でした。そこで構成を標準化した、さまざまな構成を柔軟に構築できるネットワーク設計を行う事になりました。以下のようにvlanを多用し、一つのコアスイッチ配下にさまざまなネットワークを構築するモデルにシフトしていきました。2003年サービスの拡大とともにトラフィック増加は進み、1つのデータセンタでuplinkを1Gから10G化する事となりました。uplinkトラフィックの増加とともに、複数あったデータセンタ間のトラフィックも増え続け、10Gのデータセンタ間バックボーンの構築を行う必要が出てきました。ここで各データセンタ間の経路交換を行う上で下記の事が少し問題になってきました。各データセンタのIGPとしてOSPFを使用していたつまるところ、各データセンタ間でデフォルトルートをフィルタし経路交換する必要がありました。方法としていろいろあるかと思いますが、下記の方法で構築してみました。上記構成で課題は克服しましたが、本構成の難点はアドレスが増えるたびにルールを更新しないといけないため、運用が少々大変でした。なってくると解決方法としてはBGPへの移行が必要となり、2004年はBGP化の話となります。良い事ずくめのため、やる事自体は問題なかったのですが大きな問題がひとつありました。IPアドレスのリナンバです。レジストリからAS番号とIPアドレスを取得し、それに切り替えるには、当然、サーバーのIPアドレスのリナンバが発生します。大量のサーバーのリナンバは大量の手間だけが発生するというデメリットが多いため、並行運用する事としました。2006年にはほとんどのサーバーがBGPで広報しているアドレスへ移行できていました。Recoveryを意識したネットワークを構築し始めました。データセンタのライフラインは何でしょうか?一つは電気、もう一つはネットワークだと考えます。どちらか一方が機能しなくなった時点で、データセンタとしての機能は停止するでしょう。データセンタは異キャリア、異ルート、異なる電力会社で複数配置した方が、より可用性が上がる事になります。ISPとトラフィックを交換する場所についても複数準備する必要があります。Exchange(以下IX)は東京に集中していましたし、接続するISPもほとんどが東京に存在していました。今後、日本全体のトラフィックはさらに増大し必ず大阪でトラフィック交換が活発になると予想し、大阪での拠点構築を始めました。現在では東京と大阪を中心としてトラフィック交換を行い、その2拠点にぶら下がるような形でデータセンタを配置しています。Balancing(以下GSLB)を行う事によって、データセンタレベルの障害が発生しても、サービスを継続できる構成となりました。2008年データセンタを広域に分散して行く過程で、社内システムなど異なったポリシーを持つネットワークをデータセンタ間で接続する案件が増えてきました。都度データセンタ間の回線を増強したりルーターを買っていては、費用がかかって仕方がないので、バックボーン機材を有効に使い解決する事としました。Routerを使用してルーターを仮想化し、仮想化したルーター上でVPLSを動かすことにより、データセンタ間をLayer2で接続する事にしました。2009年~2010年techblogでも何回か掲出しているIPv6について、この辺りより本格的に取り組んでいく事としました。Dayに参加したのもtechblog読者ならすでにご存じだと思いますが、ネットワークのIPv6化を順次進めています。2011年~さてここまで10年ですが、11年目となるこの年より、何を行っているのかも少し紹介したいと思います。laas時代はクラウド真っ只中ですが、ヤフーでも社内向けに、仮想サーバーやストレージはもちろんのこと、ネットワークリソースについてもブラウザー上からAPIを通してコントロールできる仕組みを独自に開発し提供しています。この仕組みによりエンジニアは好きな時に仮想サーバーをインストールし、ディスク容量、アクセスリストのコントロールやVIP、GSLB、DNSの作成といった事をオンデマンドで利用する事が出来ます。データセンターをスケールアウトヤフーのサーバーは大昔から電源を一つしか搭載していませんし、ネットワークポートも1つしか利用していません。コストが安くなるのもありますが、サーバーが1台、2台故障したところで稼働できる用にシステムを組んでいるからです。現在、この考えをデータセンタにも適用する実験が進めらています。データセンタをある程度の最小単位にし、接続する設備はネットワーク回線も電力も1回路のみ準備します。無駄な設備排除しているので、コストが下がる他、電力効率も良くなります。瞬時電圧低下に備え、サーバーメーカと協力してバッテリーを搭載したサーバーの実験も行っています。以下のように、スイッチにサーバーを接続していた構成から、スイッチにデータセンタを接続する構成と変化する予定です。まとめ駆け足になってしまいましたが、以上が10年+αの説明となります。個々の技術については、また説明させていただく機会があるかもしれません。今後も課題に対し、新しい技術で解決していく姿勢を取り続け、安定したネットワーク運用を心掛けて行きたいと思います。JAPANでは情報技術を駆使して人々や社会の課題を一緒に解決していける方を募集しています。詳しくは採用情報をご覧ください。JAPANのサービス開発を支える技術やデザイン、文化を発信しています。Reserved.このページの先頭へ。