リージョン Persistent Disk: ミッション クリティカルなワークロードのレジリエンスを最大化
Google Cloud Japan Team
※この投稿は米国時間 2024 年 4 月 24 日に、Google Cloud blog に投稿されたものの抄訳です。
ミッション クリティカルなワークロードのために、ゼロの目標復旧時点(RPO)を実現し、本番環境に対応し、Google Compute Engine 用にネイティブに構築された高可用性ソリューションをお探しですか?その場合は、リージョン Persistent Disk(PD)をご提案します。このブログ投稿では、ゾーン間の同期レプリケーション機能を備えたリージョン PD が、最も重要かつ要件の厳しいアプリケーションのレジリエンス、管理の容易性、継続的な保護の実現にどのように役立つかについて詳しく説明します。
リージョン PD: ミッション クリティカルなワークロードに最適
ミッション クリティカルなワークロードは、現代のあらゆるビジネスの日々の運用において不可欠なものとなっています。ビジネスを継続するうえで必要な要素であり、これらのワークロードが中断されると、ビジネスに大きな影響を及ぼす可能性があります。そのため、高可用性ストレージなど、次のことができる可用性の高いインフラストラクチャが必要です。
-
このようなワークロードに最適化されたパフォーマンスを兼ね備え、データをシームレスに複製する
-
可用性に影響を与えるさまざまな障害に対して優れたレジリエンスを発揮する
-
設定や管理が非常に簡単である
リージョン PD はこれらすべての要件を満たし、ミッション クリティカルな高可用性ストレージを必要とする Google Cloud の多くのお客様に適しています。
ミッション クリティカルなワークロードに対応する高いパフォーマンス
「リージョン Persistent Disk を採用したことより、信頼性とパフォーマンスに優れたプライマリ ストレージに同期レプリケーションを組み込んで、本番環境の不正検出システムの高可用性を簡単に確保できるようになりました。障害の発生時にデータを保護するレプリケーションと組み合わせているため、アプリケーションのニーズを満たすパフォーマンスが得られる点もかなり気に入っています。」- Equifax、チーフ アナリティクス アーキテクト Danilo Bustos 氏
リージョン PD は、1 ボリュームあたり最大 1,000 MB/秒、8 万 IOPS の書き込みパフォーマンスと、最大 1,200 MB/秒、10 万 IOPS の読み取りパフォーマンスの I/O パフォーマンスを実現します。Google Cloud のお客様は、これを MySQL、Postgres、SQL Server、JupyterLab、Kafka、Druid、Redis、Solr、EventStoreDB、Elasticsearch、MongoDB などのさまざまなワークロードに選択しています。
高可用性と障害に対するレジリエンス
リージョン PD は、ゾーン間で継続的な同期レプリケーションを提供し、1 つのゾーンで停止が発生した場合は RPO=0 となります。ゾーンが停止した場合、リージョン PD は可用性を優先し、I/O を残りの利用可能なストレージ レプリカに自動的にリダイレクトします。その後、使用できないゾーンが復元されると、リージョン PD は自己修復し、使用できないレプリカをオンラインに戻して、RPO=0 のレプリケーションを継続します。VM を 2 番目のゾーンで復元する必要がある場合は、その VM をリージョン PD にアタッチしてワークロードの可用性を維持できます。
ミッション クリティカルなワークロードの完全レプリケーションとは、コンピューティング インスタンスの高可用性を確保するために必要なすべてのデータを複製することを意味します。つまり、データディスクのレプリケーションだけでなく、VM インスタンスのブートディスクも対象となります。リージョン PD を VM のブートディスクとして使用することで、VM の起動を妨げかねないストレージ エラーや、Windows VM のようにブートディスクをデータに利用する VM のデータが利用できなくなることから、ユーザーを保護します。
設定と管理が簡単
リージョン PD では、ミッション クリティカルなワークロード向けの構成が非常に簡単に行えます。新しい VM の作成時に、または既存の VM に新しいリージョン PD ディスクを追加するだけで、数分でディスクを追加できます。リージョン PD は、Google Cloud コンソールまたは gcloud、Terraform、REST API を使用して追加できます。構成が完了すると、ワークロードは、他のブロック ストレージと同じように、リージョン PD ディスクへの読み取りと書き込みを開始できます。ただし、すべての書き込みは、同期レプリケーションを使用してセカンダリ ゾーンの別のレプリカに自動的に複製されます。


図 1: リージョン PD は VM に簡単に追加できます。リージョン ディスクを作成し、新しい VM の作成時に追加したり、既存の VM に追加したりするだけです。
可用性の高い Google Cloud サービスにおけるリージョン PD
リージョン PD を Compute Engine ワークロードのデプロイで使用する以外にも、GKE Stateful High Availability(HA)Controller、Cloud SQL HA 構成、Cloud Shell など、さまざまな Google Cloud サービスでリージョン PD が使用されています。
「まず、使いやすいプロダクトを作成してくれた Google Cloud チームに感謝したいと思います。ステートフルな Kubernetes アプリケーションの管理に非常に役立っています。リージョン PD が自動的にデータを複製してくれるおかげで、私たちはこの責務を担う必要がなくなり、時間を節約できます。リージョン PD は Google Cloud エコシステムの他のプロダクトと緊密に統合していることが明らかだったので、当社のワークロードに容易に追加して管理できることが非常に有益でした。リージョン PD は信頼性が高く、安全で、ユーザーデータのアタッチや再配置も簡単に行えます。」- The Kroger Co.、DevOps 担当シニア マネージャー Eugene Chupkin 氏
Google Cloud SQL は、MySQL、PostgreSQL、SQL Server 向けの Google Cloud のフルマネージド データベース サービスです。Cloud SQL の高可用性構成を有効にすると、リージョン PD をプライマリ ストレージとする Cloud SQL データベース インスタンスが自動的にプロビジョニングされ、インスタンスが作成されるとすぐ自動的にセカンダリ ゾーンに書き込みが複製されます。フェイルオーバーが必要な場合は、簡単なコマンドを 1 回実行するだけで、すべてのコンピューティング、ネットワーキング、クライアント アプリケーションをセカンダリ ゾーンの代替インスタンスに再ルーティングできます。
Cloud Shell は、Google Cloud のターミナル ウィンドウで、プロジェクト内の VM へのコマンドライン アクセスを提供します。すべての Cloud Shell ターミナル セッションで、ターミナルのホーム ディレクトリ用に 5 GB のリージョン PD ディスク ストレージがユーザーに提供されます。これにより、ホーム ディレクトリのストレージを格納しているゾーンにエラーが発生した場合でも、ホーム ディレクトリの高可用性を確保できます。ゾーンエラーが発生した場合、Cloud Shell サービスは自動的に別のリージョン PD レプリカを使用するため、ホーム ディレクトリのデータ可用性が損なわれることはありません。
最後に
このブログ投稿では、リージョン PD が Google Cloud のミッション クリティカルなワークロードの可用性を最大化し、パフォーマンス、レジリエンス、管理の容易性を実現するために、どのように目的に特化して構築されているかを説明しました。また、お客様が大規模な本番環境にリージョン PD をデプロイして活用された方法と、いくつかの基本的な Google Cloud サービスでストレージの可用性を実現する方法についても説明しました。リージョン PD のドキュメント ページをご確認いただき、リージョン PD をお使いの環境でぜひお試しください。
ー プロダクト マネージャー Michael Ng
ー グループ プロダクト マネージャー David Seidman