Scribble at 2021-12-09 16:13:32 Last modified: unmodified

先日、アメリカ北部のリージョンで Amazon Web Services (AWS) のネットワーク機器が障害を起こしたという。そのせいで、AWS を利用する多くのオンライン・サービスが利用不能となって、各所で話題となったり報道された。

このような場合に、サーバが停止したりアクセス不能になると困るのは誰でも同じである。そこで、AWS では可用性レベルを維持するために幾つかの手法が紹介されていて、情報セキュリティの観点から採用するべきだと言われる。今回、ヴァージニア州を拠点とする "US-EAST-1" というリージョン(AWS を世界中に分割している区域の一つ)で障害が発生した。すると、AWS には他のリージョンに全く同じ構成のインスタンスやロード・バランサを配置して、何か一つのリージョンで障害が起きたときに他のリージョンでアクセスを処理するという「マルチ・リージョン」という構成(デプロイメント)がある。そういう構成をとっておけば、US-EAST-1 にあるサーバ群で問題が起きても、たとえば eu-west-3(パリ)リージョンとか、ap-northeast-3(大阪)リージョンに同じ構成のサーバやロードバランサを配置しておくと、そちらが無事に動いている限りはアクセスを無事なリージョンに振り向けて対処できる。

しかし、問題は金だ。ふだんからアクセスを両方のリージョンで分散して処理するのであれ、あるいは一方だけで運用して他方はホット・スタンバイしておくのであれ、同じシステムに二つの構成が必要となるから、当然ながらコストはかかる。なるほど、AWS のようなクラウド・サービスでは、実際にリクエストを処理したりデータ転送が行われない限りはコストがかからないから、インスタンスを単に立ち上げたというだけで単純に同じだけのコストがかかるわけではないが、一定のコストがかかることに違いはない。

そういうわけで、仮に一方だけで運用し、他方をホット・スタンバイで運用させるとすれば、どういう仕組でシステムを組めばいいのか、それを最初から適切に設計しなくてはいけない。恐らく、すぐに切り替えられるようにするなら、特にデータベースを運用する場合には、ふだんから両方のリージョンでデータの同期をとるよりも、両方のリージョンからデータベースへ接続するためのロード・バランサを単独で立てておくほうが安全だ。こうした、堅い組み方はコストが許す限り丁寧に設計できる余地があるため、AWS での運用を考える方は、最もシンプルに運用するケースから、最も手堅く運用するケースに至るまで、予算規模やセキュリティ・レベルに応じて幾つかの段階を想定して、できればテストとして実際に組んでみることをお勧めするが、設計プランを持つことが望ましい。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook