高可用性

ミッション クリティカルなシステムの稼働時間を維持するには、障害や予期しない負荷の変化にも対応できる、復元性の高いアプリケーションを設計する必要があります。高可用性とは、システム内のコンポーネントに障害が発生しても機能し続けるアプリケーションの能力を意味します。高可用性のアーキテクチャでは、通常コンピューティング リソースを分散し、負荷分散やデータのレプリケーションが行われています。

特定のゾーンの障害から保護するため、Compute Engine VM インスタンスをリージョン内の複数のゾーンに分散して配置します。 場合によっては、広域災害も考慮し、複数のリージョンに分散して配置することも考えられます。広域災害への対応については「災害対策」で触れます。

また HTTP(S) ロードバランサは、グローバルな負荷分散を行うため、異なるリージョンの負荷分散が可能です。ゾーンまたはリージョンが使用不能となると、ロードバランサが使用可能なゾーンにトラフィックを転送します。

データ ストレージを選択する際には、可用性も考慮する必要があります。一部の Google Cloud データ ストレージ サービスでは、1 つのリージョンの中の複数のゾーンでデータを複製できます。また、複数のリージョンでデータを複製するものがありますが、レイテンシや整合性モデルがトレードオフとなることがあります。アプリケーションや可用性の要件に合わせて最適なものを選択することが可能です。

リージョン永続ディスクは、リージョン内の 2 つのゾーン間でデータの同期レプリケーションを行います。リージョン永続ディスクのメリットは、1 つの仮想マシン(VM)インスタンスが使用できなくなった場合に、同じリージョン内のセカンダリ ゾーンにある VM インスタンスにリージョン永続ディスクを強制接続できることです。この強制接続は、通常 1 分以内に実行されます。この仕組みを使用し、データベース サービスのホット スタンバイ構成を構築できます。ホット スタンバイは、稼働中の VM インスタンスと同一の、予備の VM インスタンスを、通常時から起動しておく構成です。2 つのインスタンスは同じデータを所有します

Google Cloud のリージョン

Google Cloud には 2020 年 12 月 1 日時点で、世界に 24 のリージョンがあり、各リージョンには 3 つ以上のゾーンがあります

上図:Google Cloud のリージョン

日本には東京(asia-northeast1)と大阪(asia-northeast2)の 2 つのリージョンがあり、それぞれ下記の 3 つのゾーンがあります。

複数のゾーンでシステムを構成することで、可用性を高めることができます。また、複数のリージョンでシステムを構成することで、自然災害などの広域災害に対応することが可能となります。災害対策の詳細については、「災害対策」で解説します。

Compute Engine の計画メンテナンス

Compute Engine には、計画メンテナンスはありません。Compute Engine では、ホストシステムでソフトウェアやハードウェアの更新などのイベントが発生しても、仮想マシン インスタンスの実行を継続できるように、ライブ マイグレーション機能が活用されています。

Compute Engine では、実行中のインスタンスを再起動することなく、実行中のまま同じゾーンの別のホストに移行することが可能です。Google では、これにより VM での処理を停止させることなく、インフラストラクチャのメンテナンスを行い、保護状態と信頼性を維持しています。