Cloud SQL で復元性に優れたアーキテクチャを構築
Google Cloud Japan Team
※この投稿は米国時間 2022 年 10 月 22 日に、Google Cloud blog に投稿されたものの抄訳です。
お客様は、可用性の観点から多様な要件のある多くのアプリケーションを構築およびデプロイしています。このようなアプリケーションで作成および使用されるデータを保存、管理するデータベースは、アプリケーションの全体的な可用性を決めるのに重要な役割を果たします。一部のアプリケーションでは、復旧までの時間や RTO(目標復旧時間)がより長くても許容され、ある程度のデータ損失や RPO(目標復旧時点)に対処する方法があります。一方、重要なアプリケーションには、データ損失を出さないこと(すなわち RPO がゼロであること)、サービスを迅速に再開できること(すなわち RTO が短いこと)が要件となっているものもあります。このようなアプリケーションをサポートしているデータベースには、アプリケーションで求められるさまざまな RPO と RTO の要件を満たす機能が必要です。
Cloud SQL は、MySQL、PostgreSQL、SQL Server のために Google Cloud が提供しているフルマネージドのリレーショナル データベース サービスです。Cloud SQL は、ソース データベース エンジンとの完全な互換性があると同時に、データベースのプロビジョニング、ストレージ容量の管理など、時間のかかる作業を自動化することで、運用コストを削減しています。Cloud SQL に組み込まれている機能は、24 時間 365 日対応の SRE チームが SLA 99.95% でサポートする信頼性の高い安全なサービスで、ビジネスの継続性を確保します。
このガイドでは、復元性に優れたデータベース アーキテクチャを構築するのに使用できる Cloud SQL の機能について説明しています。Cloud SQL インスタンスの可用性に影響する可能性のある計画的なイベントおよび計画外のイベントが掲載されています。計画的なメンテナンス イベントのダウンタイムの影響を制御および制限できる Cloud SQL の独自の機能を取り上げています。計画的なイベントは、データベースのインスタンスを最適な状態に保つのに必要な構成の更新やパッチ適用の作業などです。
サービスの停止を引き起こす可能性のあるさまざまな種類の計画外のイベントと、お客様が RPO と RTO を削減するのに使える機能を紹介しています。たとえば、データベースのバックアップおよび復旧機能などです。これによって可用性戦略の基盤を形成し、障害や人的ミスから保護して、データ損失の発生を最小限に抑えられます。
RPO がゼロの必要がある環境向けに、RPO をゼロに抑える Cloud SQL の高可用性構成について説明しています。また、Cloud SQL のレプリケーション機能と、同一のリージョン内およびリージョン間のレプリカを障害復旧の要件を満たすための構成要素として使った可用性アーキテクチャにおいてレプリカを使用する方法についても、ガイド内で取り上げています。
最後に、このガイドでは、アプリケーションにおけるデータベースへの接続の管理、オブザーバビリティを活用したデータベース上の負荷のモニタリング、障害への適切な対応について、ベスト プラクティスを簡単に紹介しています。
- ディレクター兼データ管理担当テクノロジー プラクティス リード Subhash Guddad