メインコンテンツまでスキップ

Snowflake を接続

Snowflake は、データの保存・処理・分析を支援するクラウド型のデータウェアハウス・プラットフォームです。Snowflake の利用コストは、データ転送・ストレージ・コンピュートリソースの利用コストの合計です。大規模なデータ処理や分析ニーズを持つ組織では、Snowflake のコストがクラウド支出の大きな割合を占めることがよくあります。

DoiT は、他のクラウドプロバイダからのデータと並行して Snowflake のコストおよび使用状況データを統合できるようにし、全体的なクラウド支出を俯瞰し、主要なコスト要因全体での最適化を可能にします。

Snowflake はパスワードベース認証を廃止予定です
  • 初めて DoiT と Snowflake を接続する場合は、セットアップウィザードの手順に従ってください。キーペア認証を使用するように接続が構成されます。

  • 既存の DoiT と Snowflake の接続が従来のパスワードベース認証を使用している場合は、より安全なキーペア認証に認証方式を更新する必要があります。

認証方式の変更に関する詳細は、Snowflake のドキュメントSecurity MFA rollout および Key-pair authentication を参照してください。

開始前に

  • 1 つ以上の Snowflake アカウントを接続できます。これを行うには、接続したい各アカウントについて接続手順を繰り返してください。

  • 直接購入またはマーケットプレイス経由で購入している場合は、DoiT と Snowflake アカウントを接続できますが、Snowflake リセラー経由で Snowflake 契約を締結している場合は接続できません。以下のスクリプトを実行して、Snowflake アカウントの適合性を確認してください。リセラー購入は非適合の最も一般的な理由ですが、他の問題で接続できない場合もあります。スクリプトがエラーを返す、またはクエリが false を返す場合、その Snowflake アカウントは非適合であり、DoiT コンソールに接続できません。

    1. 接続したいアカウントで Snowflake コンソール にサインインします。

    2. ProjectsWorksheets を選択し、必要に応じて新規または既存のワークシートを開きます。

    3. 次のスクリプトをコピーしてワークシートに貼り付けます。

      SELECT
      EXISTS(SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY LIMIT 1),
      EXISTS(SELECT * FROM SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_EVENTS_HISTORY LIMIT 1),
      EXISTS(SELECT * FROM SNOWFLAKE.ORGANIZATION_USAGE.STAGE_STORAGE_USAGE_HISTORY LIMIT 1),
      EXISTS(SELECT * FROM SNOWFLAKE.ORGANIZATION_USAGE.DATABASE_STORAGE_USAGE_HISTORY LIMIT 1),
      EXISTS(SELECT * FROM SNOWFLAKE.ORGANIZATION_USAGE.STORAGE_DAILY_HISTORY LIMIT 1),
      EXISTS(SELECT * FROM SNOWFLAKE.ORGANIZATION_USAGE.USAGE_IN_CURRENCY_DAILY LIMIT 1),
      EXISTS(SELECT * FROM SNOWFLAKE.ORGANIZATION_USAGE.WAREHOUSE_METERING_HISTORY LIMIT 1),
      EXISTS(SELECT * FROM SNOWFLAKE.ORGANIZATION_USAGE.RATE_SHEET_DAILY LIMIT 1);
    4. ロールを選択します。このスクリプトは特別な権限を必要としないため、PUBLIC を含む任意のロールで実行できます。

    5. Run を選択します。

  • DoiT コンソールで Snowflake データを使用するために、DOIT_WAREHOUSE という名前のウェアハウスを代理で作成します。これにより、既存のウェアハウスに影響を与えません。

  • クエリは 1 日に複数回、各回およそ 15 分間実行します。通常、1 日あたり約 US$1 のコストが発生します。DOIT_WAREHOUSE の正確な料金を確認するには、ウェアハウス名をフィルターとして使用して Cloud Analytics(クラウド分析)のレポートを実行できます。例についてはDOIT_WAREHOUSE costを参照してください。

学習パスを選択

以下のステップバイステップの手順に従うか、ビジュアルガイドとして▶️ インタラクティブデモを確認してください。

必要な権限

DoiT と Snowflake アカウントを接続するには、次が必要です。

  • DoiT アカウントに Billing Profiles Admin 権限があること。

  • Snowflake アカウントに、管理者権限を持つ有効な Snowflake サブスクリプションがあること。

Snowflake アカウントを接続する

Snowflake アカウントの接続を支援するため、DoiT コンソールは複数の方法で起動できるステップバイステップのウィザードを提供しています。

  • Home ページで下にスクロールし、Connect your cloud セクションを見つけてから、Connect your Snowflake account を選択します。

    Connect your Snowflake account

  • Assets ページに移動します。左側のメニューで Snowflake を選択し、Connect new account を選択します。

  • Snowflake Intelligence ダッシュボードに移動し、Connect your Snowflake account を選択します。

ウィザードは 4 つのステップで構成されています。

Snowflake connection setup wizard

要件

最初のステップでは、実行が必要なスクリプトに関する説明情報が表示されます。スクリプトは、アカウント内に次のリソースを作成します。

  • 次の Snowflake 権限を持つ DoiT ロール:ORGANIZATION_USAGE_VIEWERGOVERNANCE_VIEWERORGANIZATION_BILLING_VIEWERUSAGE_VIEWER。詳細は Snowflake database roles を参照してください。

  • 上記の DoiT ロールを付与し、キーペア認証用に構成されたユーザー。

  • DOIT_WAREHOUSE という名前のウェアハウス。

要件を確認したら、Next を選択して接続を設定します。

セキュリティのベストプラクティスとして、DoiT の特定の IP アドレスに対してのみ Snowflake アカウントへのアクセスを制限するために、Snowflake Network policy の作成を強く推奨します。このポリシーがある場合、Google Cloud の VPC と Cloud NAT を使用して、Snowflake へのすべての送信リクエストが DoiT の IP アドレス経由でルーティングされるようにします。ポリシーは、次のステップで作成される DoiT サービスアカウントに適用されます。

まだ DoiT の IP アドレスを含むネットワークポリシーを構成していない場合:

  1. ウィザードで提供される SQL スクリプトをコピーし、Snowflake コンソールで実行して、DoiT の IP アドレスへのアクセスに制限するネットワークポリシーを作成します。

  2. ウィザードのチェックボックスはオフのままにし、Next を選択して続行します。

Snowflake 接続を更新しており、既存のネットワークポリシーがある場合:

  1. 既存のポリシーがあることを示すため、ウィザードのチェックボックスを選択し、Next を選択して続行します。

接続の設定

2 つ目のステップでは、Snowflake アカウントと DoiT コンソール間の接続設定を行います。

  1. 管理者権限を持つアカウントで Snowflake コンソール にサインインします。

  2. ProjectsWorksheets を選択し、ワークシートを開きます。

  3. ステップバイステップウィザードのスクリプトをコピーし、Snowflake のワークシートに貼り付けます。

  4. ワークシート上部で、スクリプトを実行するウェアハウスを選択します。

  5. ワークシートを実行するロールを選択し、Run ボタンを展開して Run All を選択します。

  6. DoiT コンソールのウィザードに戻り、Snowflake のアカウント ID と組織 ID を入力します。これらは URL https://app.snowflake.com/ORGANIZATION_ID/ACCOUNT_ID で確認できます。同一の組織を複数回接続することはできません。

    併せて、Finding the organization and account name for an account も参照してください。

接続をテストする

最後の手順として、Test connection を選択して Snowflake への接続をテストします。テストには通常数秒かかります。

接続エラーの原因
  • Organization already connected(組織は既に接続済み):既に接続されている組織を接続しようとすると、接続テストは失敗します。この場合は別の組織を接続するか、セットアップを終了して既存の接続を使用してください。既存の Snowflake 接続を確認するには、Assets ページに移動し、左側のメニューで Snowflake を選択してください。

  • 認証方法の更新:既存の接続で認証方法を更新する場合は、新しい接続を作成するのではなく、Assets ページの Update authentication オプションを使用していることを確認してください。

  • 認証情報の不一致:Snowflake の URL https://app.snowflake.com/ORGANIZATION_ID/ACCOUNT_ID から正しい organization ID と account ID を入力したか確認してください。

認証方法を更新する

新しいキーペア認証方式を使用するように接続を更新するには、DoiT コンソールでのガイド付きフローに従ってください。

  1. Assets ページに移動します。左側のメニューで Snowflake を選択します。アクティブな Snowflake 接続を見つけ、右側のメニューから Update authentication を選択してください。

  2. Connect your Snowflake accounts の手順を繰り返してください。Set up connection の手順には、キーペア認証を正しく設定するための更新済みスクリプトが含まれています。

次のステップ

  • Snowflake アカウントへの接続に成功すると、請求データの取り込みを開始します。処理には最大で 1 時間かかる場合があります。データが Cloud Analytics やその他の DoiT 機能で利用可能になると、メールでお知らせします。

  • 初回接続時、DoiT は追加された各ウェアハウスについて、過去 6 か月分の請求データと使用状況データを取り込みます。

  • Snowflake データが DoiT プラットフォームに取り込まれると、Snowflake の支出でコストのアノマリーを検出した際に通知を受け取ります。

  • すぐに Snowflake データを可視化して監視するには、Snowflake Intelligence をご確認ください。

  • Snowflake データの活用方法について詳しく学んでください。

▶️ インタラクティブデモ

操作しながら学べるインタラクティブデモをお試しください。

デモが正しく表示されない場合は、ブラウザウィンドウを拡大するか、新しいタブでデモを開くことをお試しください。