このトピックでは、アクティブな地理的冗長性のためのデータベースソリューションのアーキテクチャとアプリケーションシナリオについて説明します。 このトピックでは、中国の国家税務管理局とチャイナユニコムのユースケースでソリューションがどのように実装されているかについても説明します。
アクティブな地理的冗長性シナリオにおけるデータベースソリューション
背景
クラウドコンピューティングが繁栄するとき、ますます多くの情報システムがクラウドコンピューティング環境において展開される。 その結果、クラウドサービスに基づいて提供されるデータ品質とサービス能力は、情報システムにとって重要になります。 火災、大洪水、地震、地域の停止、人為的災害などの壊滅的な災害は、情報システムに不可逆的な損害を与える可能性があります。 情報システムを構築するときは、情報システムの信頼性と安定性を確保するために、ディザスタリカバリシステムを構築する必要があります。
2007年、中国国務院の情報局は、8つの主要産業の企業と協力して、標準のGB/T20988-2007情報セキュリティ技術-情報システムの災害復旧仕様をリリースしました。 主要産業には、銀行、電力、民間航空、鉄道、証券が含まれます。 この規格は、6つのグレードのディザスタリカバリの要件を提供します。 この標準のリリース後、企業は中国の国家標準で定義された要件に基づいて災害復旧システムを構築するか、標準をコンプライアンス要件のセットとして使用することができます。 ただし、従来の災害復旧ソリューションの大部分は、中国の国家標準に基づくグレード5またはグレード6の災害復旧の要件を満たすことができません。 これらの従来のディザスタリカバリソリューションには、ゾーンディザスタリカバリ、アクティブ-アクティブゾーンディザスタリカバリ、ジオディザスタリカバリ、および2つのゾーンにまたがる3つのデータセンターが含まれます。 これらのソリューションは高いコストを必要とし、ディザスタリカバリに使用されるインスタンスは継続的に堅牢ではありません。
アクティブなgeo冗長性は、ビジネスの高レベルの継続的な可用性を確保できる次世代のディザスタリカバリソリューションです。 このソリューションにより、コストを節約し、リージョン内のデータベースをスケールアウトできます。 このトピックでは、アクティブな地理的冗長性シナリオで主要なAlibaba Cloudデータベースサービスを使用する方法について説明します。
アーキテクチャ
- アクセスレイヤー: ビジネストラフィックはAlibaba Cloud DNS (DNS) によって解決され、異なるユニットクラスターのアクセスレイヤーに分散されます。 次に、各ユニットクラスタは、リクエストヘッダーまたはクッキー内のトラフィック分割識別子とカスタム配布ポリシーに基づいて、アクセス層のビジネストラフィックをサービス層に転送するかどうかを決定します。 トラフィックが特定のユニットクラスタの転送条件を満たす場合、ユニットクラスタはトラフィックをサービス層に転送する。 トラフィックが特定のユニットクラスタの転送条件を満たさない場合、トラフィックは別のユニットクラスタに転送されます。 PolarDB-Xは、トラフィックをアップストリームサーバーにリダイレクトするか、VPC経由で確立された接続に基づいて304リダイレクトを使用できます。
- サービス層: ミドルウェアを含む業務アプリケーションシステムがサービス層にデプロイされます。 Alibaba Cloudミドルウェアまたはリモートプロシージャコール (RPC) を使用して、アクティブなgeo冗長アーキテクチャを使用するデータベースに接続できます。 Alibaba CloudミドルウェアまたはRPCは、サービス層でのトラフィックのルーティングとルーティングエラーのトラブルシューティングに役立ちます。 サポートされているAlibaba Cloudミドルウェアには、Cloud Service Bus (CSB) 、RPCベースのフレームワーク、およびMessage Queue (MQ) が含まれます。 RPCを使用して、アクティブなgeo-redundancyアーキテクチャを使用するデータベースにアクセスする場合、PolarDB-Xはサービスをユニットサービス、集中サービス、および通常サービスのタイプに分割します。
- ユニットサービス: ユニットクラスター内の完全に自律的なサービス。 このサービスタイプは、アクティブな地理的冗長性シナリオにおける主要なサービスタイプである。 PolarDB-Xは、ユニットサービスからのトラフィックがルーティングされるユニットクラスタを決定し、トラフィックルーティングエラーのトラブルシューティングを行います。
- 集中型サービス: 論理センターに強く依存するサービス。 トラフィックは、論理センターによって提供されるサービスに転送され、処理されて、論理センターのデータ層にアクセスする。
- 通常サービス: 変換されていないサービス。 リージョン内の通常のサービスは互いに呼び出すことができます。 通常サービスは、通常サービスを実行するユニットクラスターのデータレイヤーにアクセスできます。
- データレイヤー: データレイヤーは、データベースが複数のリージョンにデプロイされているときにデータ同期中に発生する可能性のある問題を解決するのに役立ちます。 災害が発生した場合、データ層で提供されるデータ保護ポリシーは、フェイルオーバー中のデータ品質を確保するのに役立ちます。 PolarDB-Xは、上位層のサービスタイプに基づいてデータ同期ポリシーUNITおよびCOPYを提供します。
- ユニット: 各ユニットクラスタは独立したデータベースシステムにデプロイされます。 Data Transmission Service (DTS) は、単位クラスタ間の双方向データ同期をリアルタイムで実行するために使用されます。 これにより、各ユニットクラスタに完全なデータが含まれます。 各ユニットクラスターで読み取りおよび書き込み操作を実行できます。 読み書きリクエストをユニットクラスターに送信する場合、ビジネスシナリオに基づいて構成した読み書き分離ポリシーを使用して、ユニットクラスターの書き込み保護を有効にします。 UNIT同期ポリシーは、サービス層のユニットサービスに有効であり、アクティブな地理的冗長性シナリオのコア同期ポリシーです。
- コピー: 各ユニットクラスタは独立したデータベースシステムにデプロイされます。 DTSは、単位クラスタ間の一方向データ同期をリアルタイムで実行するために使用されます。 これにより、各ユニットクラスタに完全なデータが含まれます。 論理センターで読み取りおよび書き込み操作を実行できます。 ユニットクラスターが論理センターでない場合は、ユニットクラスターで読み取り専用操作を実行できます。 COPY同期ポリシーは、集中型サービスおよび通常サービスに適用されます。 集中型サービスから送信された要求は、論理センタにルーティングされ、論理センタによって処理される。 通常サービスから送信された読み取り要求は、通常サービスを実行するユニットクラスターで処理できます。
シナリオ
- ディザスタリカバリの高い要件: アクティブな地理冗長ソリューションは、中国の国家標準に基づいてグレード6のディザスタリカバリの要件を満たすことができます。 このソリューションは、ディザスタリカバリの要件が高いビジネスシナリオ、トラフィックが変動するビジネスシナリオ、またはコアビジネスシステムで使用できます。
- 詳細なトラフィック管理: アクティブなgeo冗長ソリューションでは、さまざまなポリシーを使用してトラフィックを管理できます。 このソリューションは、きめ細かいトラフィック管理に複雑な要件があるビジネスシナリオで使用できます。 たとえば、このソリューションは、ユーザーの場所に近いリージョンにデータベースをデプロイしたり、ユーザー情報に基づいてデータセンターにリクエストを配信したりするビジネスシナリオで使用できます。
- 急速なビジネスの成長: アクティブな地理的冗長性ソリューションにより、ビジネス要件に基づいてユニットクラスターまたはデータセンターをスケールアウトできます。 ユニットクラスターの構成を定義した後、構成ファイルをイメージとして使用して、全国に複数のユニットクラスターを効率的に展開できます。 このようにして、ストレージをすばやくスケールアウトできます。
- 読み取り操作の数が書き込み操作の数よりも多いビジネスシナリオ: 読み取り操作の数がビジネスの書き込み操作の数よりも多い場合、非同期レプリケーションによって引き起こされる問題を根本的に軽減または防止できます。 このシナリオでは、低コストでアクティブなgeo冗長アーキテクチャを使用するシステムにデータベースシステムを変換できます。 アクティブなgeo冗長ソリューションは、このシナリオに適しています。
メリット
- 業務システムをディザスタリカバリシステムとして使用する。 従来のgeo災害復旧ソリューションを使用する場合、または2つのゾーンにまたがる3つのデータセンターにデータベースをデプロイする場合、リモートのセカンダリデータセンターは災害復旧にのみ使用され、データベースサービスは提供されません。 災害復旧のためのデータセンターが存在する地域で壊滅的な障害が発生した場合、データセンターの可用性とフェイルオーバーの成功率を保証することができません。 このシナリオでは、アクティブなgeo冗長ソリューションを使用すると、各リージョンのデータセンターが同じアクティブな役割を果たし、ビジネストラフィックを継続的に処理します。 これにより、ビジネスシステムが継続的に堅牢になります。 このシナリオでは、各リージョンのデータセンターが業務システムおよびディザスタリカバリシステムとして使用されます。
- ビジネス継続性の確保 アクティブな地理的冗長性アーキテクチャでは、各リージョンのデータセンターがビジネストラフィックを継続的に処理します。 データセンターで障害が発生した場合、インバウンドトラフィックは、期待どおりに実行されている他のデータセンターにルーティングされます。 このように、フェイルオーバーは数分以内に実行できます。 アクティブなgeo冗長アーキテクチャに展開されるデータセンターの数が増加すると、障害が発生したデータセンターからルーティングする必要があるインバウンドトラフィックの量は、インバウンドトラフィックの総量に占める割合が減少します。 フェールオーバーは、期待どおりに実行されているデータセンター宛てのインバウンドトラフィックには影響しません。
- サポート急速なビジネス成長 ビジネスが爆発的に成長すると、リソースが不足している場合、1つのリージョンで利用可能なリソースの量がデータベースのパフォーマンスに影響を与える可能性があります。 この場合、単一障害点 (SPOF) またはパフォーマンスボトルネックの問題がデータ層で発生する可能性があります。 データベースシステムがアクティブなgeo冗長アーキテクチャ以外のディザスタリカバリアーキテクチャを使用している場合、すべての書き込み操作はプライマリ本番センターでのみ実行されます。 アクティブな地理的冗長ソリューションは、ビジネストラフィックを処理するための閉ループシステムを提供します。 各データセンターでは、読み取りおよび書き込み操作を実行できます。 これにより、データセンターを迅速にスケールアウトしたり、リージョン間でデータベースをデプロイしたりできます。
- トラフィックを効率的に分離します。 アクティブな地理的冗長性アーキテクチャのデータベースシステムは、トラフィックを上から下に分離するために使用できる固有の機能を提供します。 各データセンターのビジネストラフィックは互いに分離されています。 各データセンターで処理できるトラフィック量のしきい値を変更できます。 分離されたデータセンターが最小量のビジネストラフィック、たとえば総トラフィックの1% を処理する場合、データセンターの技術的進歩を促進する操作を実行できます。 たとえば、インフラストラクチャをアップグレードしたり、データセンターの新しいテクノロジーを検証したりできます。 これらの操作を実行する前に、潜在的なリスクを処理または軽減できることを確認してください。
- 管理コストを効率的に 2つのゾーンに3つのデータセンターを展開する場合、またはgeo災害復旧を使用する場合、災害復旧センターはすべてのビジネストラフィックを処理するのに十分なシステムリソースを提供する必要があります。 これにより、単一の地域での壊滅的な障害のリスクを防ぐことができます。 その結果、災害復旧センターも十分なリソースを提供する必要があるため、データベースシステムの総コストは生産センターのコストの2倍になります。 アクティブなgeo冗長ソリューションを使用すると、さまざまな都市にデータセンターを展開できます。 これにより、各データセンターのコストを吸収し、実装コストを冗長コストの200% 未満に抑えることができます。
ケース1: 中国の国家税務管理のためのデータベースシステムの構築
背景
金融と税制を構築するための主要なプロジェクトの1つは、個人所得税のシステムを構築することです。 個人所得課税のシステムは、約780万人の自然人の基本情報と約360万人の現役納税者の機密データを保存するために使用されます。 個人所得税のシステムは重要な戦略的情報資産となり、公共サービス部門の大規模なクラウドプラットフォームとして利用されています。 このシナリオでは、データベースシステムに高いディザスタリカバリ機能が必要です。 ディザスタリカバリシステムのコストを削減する方法に関する問題を解決する必要があります。 このシナリオでは、アクティブな地理的冗長ソリューションは、ディザスタリカバリの要件を満たします。 アクティブなgeo冗長ソリューションを使用する前に、コストを削減する方法と、爆発的なビジネス成長の要件を満たす方法を検討してください。
アーキテクチャ
- ApsaraDB RDS for MySQLとPolarDB-Xを使用してトランザクションデータを処理します。 AnalyticDB for MySQLを使用して分析データを処理します。
- アクティブなgeo冗長アーキテクチャを使用し、フェイルオーバーを実行するデータベースのトラフィック調整にMSHAを使用します。
- DTSを使用して、リージョン間データをリアルタイムで同期し、クラウド内のデータを同期します。
- DMSを使用して、日常的なO&Mタスクとデータ変更を管理します。
- データベースバックアップを使用して、サードパーティのデータベースにデータをバックアップします。
- 複数のトラフィック分割ルールは、顧客のビジネスモジュールに基づいて有効になります。 Natural Person Electronic Tax Departmentのオンラインビジネスの場合、ビジネストラフィックは、自然人のファイル番号に基づいて分散されます。 Natural Person Electronic Tax Departmentのオフラインビジネスの場合、ビジネストラフィックは地域に基づいて分散されます。
- アクティブな地理冗長ソリューションは、中国の国家標準に基づいてグレード6のディザスタリカバリの要件を満たしています。 お客様は数秒以内にフェールオーバーを実行できます。 これにより、データが失われないことが保証される。
- アクティブなgeo冗長アーキテクチャを使用し、フェイルオーバーを実行するデータベースのトラフィック調整にMSHAを使用します。
- 顧客は2つのユニットクラスターをデプロイします。 ほとんどの場合、各ユニットクラスターはビジネストラフィックの半分を処理します。 このように、2つのユニットクラスタによって提供されるリソースを完全に利用することができる。
- 顧客は、アクティブな地理的冗長アーキテクチャを使用するデータベースにビジネストラフィックをどのようにルーティングするかを決定するトラフィック分割ルールを柔軟に構成できます。 このようにして、カナリアリリースは主要サービスのリリースに対してサポートされます。
ケース2: China Unicomの顧客サービスシステムを構築する
背景
China Unicomの新しい顧客サービスシステムは、中国での顧客サービス事業に使用されています。 これには、ビジネスシステムの継続的な可用性が必要です。 このプロジェクトは、China Unicomがビジネスシステムを高可用性システムに変換し始めることを象徴しています。 China Unicomの主要なビジネスはトランザクションビジネスです。
アーキテクチャ
- ApsaraDB RDS for MySQLとPolarDB-Xを使用してビジネスデータを処理します。 集中コンソールを使用して、アクティブなgeo冗長アーキテクチャを使用するデータベースシステムを管理します。
- DTSを使用して、リージョン間でデータをリアルタイムで同期し、各データ同期タスクのステータスを報告します。
- アクティブなgeo冗長アーキテクチャを使用し、フェイルオーバーを実行するデータベースのトラフィック調整にMSHAを使用します。
- China Unicomの新しい顧客サービスシステムは、7つのビジネスシステムに接続されています。 ビジネスシステムには、着信コールセンター、発信コールセンター、およびビジネスサポートセンターが含まれます。 ビジネストラフィックは、リージョンに基づいてビジネスシステムに分散されます。
- 複数の災害復旧訓練が実行される。 フェイルオーバーは、数秒以内に州全体で実行できます。 フェイルオーバーが実行されてもデータは失われません。
- 顧客は2つのユニットクラスターをデプロイします。 各ユニットクラスターは、ビジネストラフィックの半分を処理します。 このように、2つのユニットクラスタによって提供されるリソースを完全に利用することができる。