ビジネス継続性と障害復旧の概要¶
このトピックでは、リージョンとクラウドプラットフォーム間での複製とフェールオーバーの主な使用例について説明します。Snowflakeの複製およびフェールオーバー/フェールバック機能は、次の機能で構成されています。
まとめると、これらの個々の機能は、次のようなさまざまなビジネス継続性の基本的なシナリオをサポートするように設計されています。
計画されたフェールオーバー: 準備をテストし、復旧のポイントと時間を測定するための障害復旧ドリル用。
計画外のフェールオーバー: リージョンまたはクラウドプラットフォームで停止が発生した場合は、別のリージョンまたはクラウドプラットフォームでセカンダリアカウントオブジェクトとデータベースを昇格して、読み取り/書き込みプライマリオブジェクトとして機能させます。
移行: ビジネスを中断することなく、Snowflakeアカウントを別のリージョンまたはクラウドプラットフォームに移動します。たとえば、合併や買収の際にビジネス継続性を維持したり、クラウド戦略の変更を促進したりします。
複数の読み取り可能なセカンダリ: アカウントオブジェクトとデータベースを異なるリージョンとクラウドプラットフォームの複数のアカウントに複製できるため、複数のリージョンまたはクラウドプラットフォームが停止するリスクを軽減します。
さらに、 Snowflake Secure Data Sharing とデータベースの複製により、リージョンやクラウドプラットフォーム間でデータを安全に共有できます。
このトピックの内容:
アカウント複製とフェールオーバー/フェールバックの機能¶
複製とフェールオーバー/フェールバック¶
複製 は、 複製グループとフェールオーバーグループ という2つのSnowflakeオブジェクトを使用して、ソースアカウントから1つ以上のターゲットアカウントにポイントインタイムの整合性を保ったオブジェクトのグループを複製します。複製グループを使用すると、お客様は、何を複製するか、どこに複製するか、およびその頻度を指定できます。これは、カスタマイズ可能なスケジュールされた間隔で、どのオブジェクトをどのリージョンまたはクラウドプラットフォームに複製するかを指定することを意味します。フェールオーバーグループにより、グループ内のアカウントオブジェクトの複製 および フェールオーバーができるようになります。
アカウントオブジェクトには、データベースと共有に加えて、ウェアハウス、ユーザー、ロールを含めることができます(複製またはフェールオーバーグループに含めることができるオブジェクトの包括的なリストについては、 複製されたオブジェクト をご参照ください)。アカウントオブジェクトは、1つまたは複数のグループにグループ化できます。
フェールオーバーの場合、アカウント複製により、アカウントを別のリージョンまたはクラウドプラットフォームにフェールオーバーできます。複製およびフェールオーバーグループごとに独自の複製スケジュールがあり、オブジェクトのグループごとに異なる間隔で複製の頻度を設定できます。フェールオーバーグループの場合は、グループを個別にフェールオーバーすることもできます。すべてのフェールオーバーグループをフェールオーバーするか、選択したフェールオーバーグループのみをフェールオーバーするかを選択できます。
クライアントリダイレクト¶
クライアントリダイレクト は、SnowflakeクライアントがSnowflakeに接続するために使用できる 接続 URL を提供します。接続 URL により、必要に応じて、Snowflakeクライアントを別のSnowflakeアカウントにリダイレクトできます。
ビジネス継続性と障害復旧¶
特定のリージョンのクラウドサービスが中断される大規模な停止が(ネットワークの問題、ソフトウェアのバグなどの理由により)発生した場合、停止の原因が解決され、サービスが復旧されるまでSnowflakeへのアクセスは利用できません。このようなシナリオでの継続的な可用性とデータの耐久性を確保するために、重要なアカウントオブジェクトを組織内の別のリージョンにある、異なるSnowflakeアカウントに複製します。
非同期複製では、セカンダリレプリカは通常、構成した複製スケジュールに基づいてプライマリオブジェクトより遅れます。たとえば、プライマリ複製またはフェールオーバーグループを30分ごとに複製することを選択した場合、グループ内のセカンダリレプリカオブジェクトは、停止中にプライマリから最大30分遅れます。
ビジネスニーズに応じて、次を選択できます。
通常のステータス: リージョンは運用可能¶
アカウントオブジェクト複製: 重要なアカウントオブジェクトを含むフェールオーバーグループを、プライマリ(ソース)フェールオーバーグループを格納するアカウントとは異なるリージョンの1つ以上のSnowflakeアカウントに複製します。フェールオーバーグループを頻繁に更新します。
リージョンの停止¶
読み取りと書き込みの両方を優先する場合は、次の例におけるシナリオのいずれかのステップに従います。リージョンで停止が発生した場合は、重要なフェールオーバーグループとSnowflakeクライアント接続の両方を同時にフェールオーバーすることを選択します。
書き込む前に読み取る¶
リージョンの停止によりSnowflakeの可用性が完全にまたは部分的に失われた場合、このパスを使用すると、ダウンタイムを最小限に抑えるために、Snowflakeクライアントを重要なフェールオーバーグループ内にあるアカウントオブジェクトの読み取り専用レプリカに最初にリダイレクトできます。短期間の停止時には、読み取り専用モードでの動作を選択することが望ましい場合が多くあります。
最新のデータの必要性と組み合わされた長期の停止には、読み取り/書き込みモードが必要です。
クライアントリダイレクト: 読み取り専用レプリカ(セカンダリ)フェールオーバーグループを格納するSnowflakeアカウントに、クライアントが使用する接続 URL をポイントします。
フェールオーバー(必要な場合): 長期間の停止が発生した場合は、接続 URL が読み取り/書き込みプライマリフェールオーバーグループとして機能するようにポイントしているSnowflakeアカウント内にある、セカンダリフェールオーバーグループを昇格します。
読み取る前に書き込む¶
リージョンの停止によりSnowflakeの可用性が完全にまたは部分的に失われた場合にこのパスを使用すると、重要なアカウントオブジェクトがあるフェールオーバーグループを回復し、最初にデータの処理が継続できるようになります。このオプションは、データベースと ETL (抽出、変換、読み込み)プロセスを最初にフェールオーバーし、データが最新の場合にのみSnowflakeクライアントをリダイレクトすることを選択するアカウント管理者に適しています。
フェールオーバー: 異なるリージョンの重要なアカウントオブジェクトを使用してセカンダリフェールオーバーグループを昇格し、プライマリフェールオーバーグループとして機能させます。これにより、各フェールオーバーグループに含まれるアカウントオブジェクトへの書き込みができるようになります。グループ内のデータベースが書き込み可能になると、 ETL プロセスを使用して書き込みに優先順位を付け、データを調整できます。
クライアントリダイレクト(必要な場合): 新しいプライマリフェールオーバーグループを格納するSnowflakeアカウントに、クライアントが使用する接続 URL をポイントします。
通常のステータス: 停止は解決済み¶
複製: 停止が発生したリージョンにあるSnowflakeアカウントのフェールオーバーグループを更新します。
フェールバック: 停止が発生したSnowflakeアカウントのフェールオーバーグループを昇格して、プライマリフェールオーバーグループとして再び機能させます。
クライアントリダイレクト: クライアントが使用する接続 URL を停止が発生したリージョンのSnowflakeアカウントにポイントします。
アカウントの移行¶
アカウントの移行は、Snowflakeオブジェクトと保存されたデータを別のリージョンまたは別のクラウドプラットフォームのアカウントに移行(または転送)する1回限りのプロセスです。アカウントを移行する一般的な理由には、ユーザーベースに近いことや、企業戦略や他のクラウド資産(例: データレイク)とのコロケーションに基づいた、異なるクラウドプラットフォームの優先順位などがあります。
アカウントオブジェクト複製は、データベースや共有に加えて、ウェアハウス、ユーザー、ロールなどのアカウントオブジェクトの複製をサポートします。複製されたオブジェクトの完全なリストについては、 複製されたオブジェクト をご参照ください。
注釈
アカウントオブジェクトの複製およびフェールオーバー/フェールバックには、Business Critical(またはそれ以上)が必要です。Snowflakeは、1回限りのアカウント移行のために、この要件を一時的に放棄することができます。