メインコンテンツへスキップ

Snowflake を接続する

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

DoiT を利用すると、Snowflake のコストおよび利用データを他のクラウドプロバイダからのデータとあわせて統合し、クラウド支出全体を俯瞰的に把握し、主要なコストドライバー全体でコストを最適化できるようになります。

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

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

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

始める前に

  • 1 つまたは複数の Snowflake アカウントを接続できます。複数アカウントを接続する場合は、接続したい各アカウントごとに接続手順を繰り返してください。

  • Snowflake を直接購入している場合やマーケットプレイス経由で購入している場合は、Snowflake アカウントを DoiT と接続できますが、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 日あたりおよそ 1 米ドル程度のコストが発生します。DOIT_WAREHOUSE の正確な料金を確認するには、Cloud Analytics(クラウド分析)でウェアハウス名をフィルターとして使用してレポートを実行してください。例については DOIT_WAREHOUSE cost を参照してください。

学習パスを選択

以下のステップバイステップの手順に従うか、▶️ インタラクティブデモを確認して、画面での操作方法を確認してください。

必要な権限

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

  • DoiT アカウントに Billing Profiles Admin 権限が付与されていること。

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

Snowflake アカウントを接続する

Snowflake アカウントの接続を支援するため、DoiT コンソール にはステップバイステップのウィザードが用意されており、複数の方法で起動できます。

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

    Connect your Snowflake account

  • Integrations catalog にナビゲートします。Snowflake インテグレーションを検索し、インテグレーションカードで Connect + を選択します。

  • 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 を選択して続行します。

Set up connection

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 接続を確認するには、Integrations catalog にナビゲートし、Snowflake インテグレーションカードで Manage を選択します。

  • Updating authentication method: 既存の接続について認証方式を更新している場合は、新しい接続を作成するのではなく、アセット一覧から Update authentication オプションを使用していることを確認してください。

  • Incorrect credentials: Snowflake の URL https://app.snowflake.com/ORGANIZATION_ID/ACCOUNT_ID から取得した正しい組織 ID とアカウント ID を入力していることを確認してください。

認証方式を更新する

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

  1. Integrations catalog にナビゲートします。Snowflake インテグレーションを検索し、インテグレーションカードで Manage を選択します。

  2. 有効な Snowflake 接続を見つけます。右側のメニューで Update authentication を選択します。

  3. Snowflake アカウントを接続する の手順を繰り返します。Set up connection ステップには、キー ペア認証を正しく設定するための更新済みスクリプトが含まれています。

次のステップ

  • Snowflake アカウントとの接続が正常に完了すると、請求データのインポートを開始します。この処理には最大 1 時間かかる場合があります。データが Cloud Analytics(クラウド分析)およびその他の DoiT 機能で利用可能になると、メールでお知らせします。

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

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

  • Snowflake データをすぐにモニタリングしたい場合は、Snowflake Intelligence を確認してください。

  • Snowflake データの操作方法についてさらに詳しく学ぶこともできます。

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

インタラクティブデモを試して、ハンズオンでのウォークスルーを体験してください。

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