CDP:Multi-Datacenterパターン

From AWS-CloudDesignPattern
Jump to: navigation, search
Architect

データセンターレベルの冗長化

Contents

解決したい課題

Multi-Serverパターンを適用すると、複数の仮想サーバとロードバランサを使用して、個々のサーバレベルの障害に耐えうるという観点でシステムのアベイラビリィを向上させることができる。しかし、停電、地震、ネットワーク障害等、データセンタそのものに障害があった場合は、Multi-Serverパターンだけでは対処できない。

このようなユースケースに対処するために、利用するデータセンタそのものを冗長化することが必要になる。しかし、距離が十分に離れたデータセンタを複数確保し、さらにシステムを冗長化するために物理ハードウェアを購入するのは非常にコストがかかるうえに、調達やセッティングにも時間がかかるため、費用対効果を考えると、実現するのが困難な場合が多い。また冗長化を実現するためには単に複数のデータセンターを用意するだけでなく、データの同期やデータセンター間の通信を考慮して高速な専用線で結ぶ必要があり、これもまた実現を妨げる要因である。

クラウドでの解決/パターンの説明

クラウドでは、リモートから利用者が利用するデータセンターを指定できる。また、各データセンター間は専用線で結ばれていることが多い。クラウドを用いることで、システム全体を複数のデータセンターに渡って配置する事がこれまでと比べて非常に安価に容易になった。

このパターンは、システム全体を複数のデータセンターに渡って配置する事で、データセンターレベルの障害や災害にも耐えられる冗長性をもたせるパターンである。

実装

AWSクラウドには、東京やシンガポールなどのリージョン(地域)の中に、アベイラビリティゾーン(AZ)と呼ばれるデータセンターが複数存在する。利用するAZは選択でき、EC2インスタンスをどのAZに配置するかは利用者側で自由に決められる。AZ間は高速な専用線で結ばれており、AZをまたいだシステムを構築できる。

このパターンは、システム全体を複数のAZに渡って配置する事で、データセンターレベルの障害や災害にも耐えられる冗長性をもたせるパターンである。 実装はMulti-Serverパターンとほぼ同一である。異なるのはEC2インスタンスの配置で、インスタンス起動時に、それぞれ別のAZを選択するようにする。ELBは自動的に複数AZにまたがって構成されるため、利用者が設定などを意識する必要はない。

構造

6wNg0ISJczU5Pz1m-221B9.png

利点

  • データセンターレベルの大きな障害が発生しても、サービス継続可能なシステムを構築できる
  • 特に、日本では東日本大震災以降注目されているディザスタリカバリ(DR)構成を、安価に迅速に構築できる

注意点

  • マスタースレーブ構成でDBを使用する場合は、どちらかのAZにマスターを置くことになる。AZ間は高速な専用線で結ばれているが、やはりAZ内の通信よりは速度が劣るため、AZ間の通信速度がボトルネックにならないかどうか注意する
  • リージョン間をまたがった冗長構成は、現時点ではELBはサポートしていない。

その他

AWSでは、単一のAZを使用しても、複数のAZを使用しても、費用に変わりはない(AZ利用ごとに初期費用や月額利用料がかかるわけではない)。 複数AZを利用すると、AZ間の通信費用はかかる。ただし非常に安価(例えば、執筆時点で$0.01/GB)であるため、複数サーバで冗長構成を取る場合は、基本的にMulti-Datacenterパターンを適用することを推奨する。

寄贈したアーキテクト

Ninja of Three

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox