注:本記事は(2021年9月29日)に公開された(Recover in Seconds with Snowflake Client Redirect)を翻訳して公開したものです。

自社のビジネスと必要なデータを、必要な時につなぐため、Snowflakeデータクラウドを活用する組織が増えています。この目的のためには、データの可用性、アクセス性、正確性を、すべてのユーザーやアプリケーションに対して常時確保することが重要です。つまり、停電や自然災害時であっても、データやプラットフォームが回復可能であると確信できる必要があります。Snowflakeデータベースレプリケーションおよびフェイルオーバー/フェイルバック機能を利用するとこのような場面で容易に復元できるため、CarVal Investors社やZeta Global社といった組織は、地域全体そしてクラウド全体でビジネス継続性を確保できます。過去12か月間だけで、Snowflakeカスタマーは地域やクラウド全体で180PB以上の圧縮データをレプリケーションし、ビジネスを稼働させ続けています。

本日は、これらの機能をさらに進化させたSnowflakeクライアントリダイレクトについて紹介します。現在パブリックプレビュー版として提供されているクライアントリダイレクトは、異なるリージョンやクラウドにあるSnowflakeアカウント全体でクライアントの接続をシームレスにリダイレクトできるようにするもので、エンドユーザーへの通信途絶を最小限に抑え、ビジネスの継続性を確保します。Snowflakeデータベースレプリケーション機能やフェイルオーバー/フェイルバック機能と合わせることで、事実上どのような規模でも、ユーザーがデータやクライアント接続を数秒で回復できるようになります。これらの機能を使用してパブリッククラウドをまたいでフェイルオーバーを実行すれば、さらに高い復元性を得ることもできます。

「企業にとって、ビジネスの継続性は重要な要件です。Snowflakeの新しいクライアントリダイレクト機能により、当社はミッションクリティカルな要件を満たしつつ、イノベーションを継続できます。」

—Bharat Goyal氏、エンジニアリング部門シニアバイスプレジデント、Zeta Global

ビジネスの継続性に向けた、Snowflake独自のアプローチ

これまでの組織は、ビジネス継続性を維持するにあたってトレードオフに直面していました。たとえばデータの喪失とリカバリを最小化するためにレプリケーションフェイルオーバーソリューションを選択すると、インフラとライセンスで費用が2倍にも膨れ上がる一方、バックアップリストアソリューションを選択すると、コスト効率的には優れていてもデータ喪失のリスクがあり、万が一の場合はデータ量に応じてリカバリに何時間、または何日間もかかるといった具合でした。

今では、そのような交換条件は不要となりました。Snowflake独自のプラットフォームアーキテクチャが、わずかな費用でデータ喪失の最小化と瞬時のリカバリを可能にします。Snowflakeのレプリケーションおよびフェイルオーバー機能により、高度に圧縮されたマイクロパーティションが任意のリージョンまたはクラウドにレプリケーションされるため、ストレージの効率性とレプリケーションサイトでのデータの鮮度が向上します。世界中のどこでもコンピュートリソースをスピンアップできる能力と併せて、組織はその時に必要なコンピュートリソースへの費用を支払うだけで、数秒でリカバリを達成できます。

Snowflakeリダイレクトを選ぶ理由

停電時、リカバリとフェイルオーバーが必要なのはデータに限りません。プライマリデプロイメントをホストしているリージョンがダウンすると、ビジネスインテリジェンスダッシュボードやデータエンジニアリングパイプラインなど、そのデータを利用して動作しているすべてのクライアントアプリケーションが途絶します。

これまで、リカバリするには別のリージョンまたはクラウドにある新しいプライマリサイト(以前のセカンダリサイト)に接続するために、各クライアントアプリケーションの接続文字列を手動で変更する必要がありました。ほとんどの組織は、数百または数千ものクライアントアプリケーションを抱えているため、これは数時間かかるプロセスとなり、ミッションクリティカルなレポートのリカバリが遅延する結果となっていました。管理者は複数のチーム間で変更を調整しなければならず、しばしばアナリストやデータサイエンティストも作業に駆り出され、さらなるエラーや遅延が発生しがちでした。管理者がアプリケーションの早期リカバリに悪戦苦闘している間、ビジネスチームは頼りにしていたビジネスインサイトに何時間もアクセスできない状態となります。

クライアントリダイレクトがあれば、ユーザー、チーム、ツールの数が大量であっても、管理者は数秒でアプリケーションをリカバリできます。管理者は、単一のサーバー側コマンドを使用することで、クライアントアプリケーションを新しいプライマリサイトにリダイレクトでき、ビジネスチームの業務が阻害されることもありません。これにより、ミッションクリティカルなワークロードのリカバリ時間が短縮され、チーム間での広範な調整が不要になり、個々のエンドユーザーの変更作業に起因するエラーを防止できます。

「私たちがSnowflakeを選んだ理由は、データとアナリティクスに対する革新的なアプローチにあります。クライアントリダイレクトは、Snowflakeがいかに革新を続け、より多くのワークロードに対応できるプラットフォームを活用する新しい機会を私たちに提供し続けてくれるかを示す、もう1つの例です。」

—Albert Obeng氏、テクノロジー部門ディレクター、CarVal Investors

しかし、停電時にフェイルオーバーする機能があるだけでは十分ではありません。ダウンタイムが生じれば、収益の低下や負債などにつながる恐れがあります。組織は、自社のチームがプロトコルを把握していること、そして必要な時にすべてがうまく機能することについて確信が持てなくてはなりません。Snowflakeのレプリケーションおよびフェイルオーバー機能と、クライアントリダイレクトとを組み合わせることで、チームは災害復旧訓練を実施できるため、停電時にビジネスへの影響を最小限に抑えながらリカバリする最善の備えをすることができます。

仕組み

利用を開始するには、CONNECTIONを使用します。これはアカウント全体でフェイルオーバーできるURLを表す新しいSnowflakeオブジェクトです。まずSnowflakeアカウント内でプライマリ接続を作成し、次に他のリージョンのアカウントでリンク済みセカンダリ接続を1つ以上作成します。次に例を示します。 

CREATE CONNECTION <connection_name>

背後でSnowflakeがこの接続に対する新規URLを作成します。 

https://<organization_name>-<connection_name>.snowflakecomputing.com

これで、ビジネスインテリジェンスダッシュボードやレポートといったクライアントアプリケーション内でこの接続URLを使用できるようになります。このURLはプライマリ接続のあるアカウントを指します。プライマリリージョン内で停電が起こった場合、別のアカウントにあるリンク済みセカンダリ接続をプライマリとして昇格させることができます。次に例を示します。

ALTER CONNECTION <connection_name> PRIMARY

背後でSnowflakeがプライマリ接続に昇格したアカウントを指すようURLを更新することで、クライアント接続は30秒から60秒以内にこのアカウントにリダイレクトされます。

既存アカウントのURLは引き続き機能します。

使ってみましょう

Snowflakeクライアントリダイレクトは、すべてのSnowflakeコマーシャルリージョンで提供されており、Business Criticalエディションが必要です。サポートチケットを送信することで、パブリックプレビュー版をお試しいただけます。さらに詳しい情報については、こちらのドキュメンテーションをご覧ください。