はじめに
今回は、2016年に公開された論文「Evolve or Die: High-Availability Design Principles Drawn from Google's Network Infrastructure」をもとにして、Googleのネットワークインフラの信頼性を高めるための取り組みと、障害事例の分析結果を紹介します。
ネットワークの基本構成と管理上の課題
前回の図1で紹介したように、Googleのネットワークインフラは、次の3つのパートで構成されています。
•クラスターネットワーク:データセンター内のサーバー群を相互接続するネットワーク
•B2:外部ISPと相互接続するためのグローバルネットワーク
•B4:データセンター内のアプリケーションが相互通信するためのグローバルな内部ネットワーク
この中でも、クラスターネットワークとB4は、データプレーンとコントロールプレーンを分離してソフトウェアでネットワークを制御する、SDN(Software Defined Network)のアーキテクチャーが採用されています。それぞれの詳細は、第13回〜第17回の記事を参考にしてください。そして、これらのネットワークの信頼性を確保する上での克服するべき課題として、次の点があげられています。
・大規模な異機種混在環境
クラウドの利用が広がるにつれて、大規模なサーバー環境では、常に一部の機器で故障が発生している前提でシステムを管理するという考え方が一般的になってきました。これは、ネットワークについても同様です。Googleの大規模なネットワークインフラでは、常に一部の機器に故障が発生している前提で管理を行う必要があります。この際、システム環境を均一化して、一部の機器の障害がシステム全体の稼働に影響を与えないようにするというのが、基本的な考え方になりますが、ネットワークのシステム環境を均一化するというのは、それほど簡単なことではありません。
たとえば、B2では、外部ISPとの相互接続性を確保するために、一般的なベンダー機器を使用する必要があります。この際、特定機器の潜在的な問題がシステム全体に影響を及ぼさないように、あえて、複数ベンダーの機器を混在させると言った対策が必要となります。あるいは、データセンターのクラスターネットワークにおいても、すべてのクラスターを一斉にアップグレードすることは不可能ですので、常に複数世代のネットワークが混在することになります。このように、アーキテクチャーや管理手法の異なる複数のネットワーク環境を効率的に維持・管理するための取り組みが必要となります。
この続きは以下をご覧ください
(リンク »)
お問い合わせにつきましては発表元企業までお願いいたします。