Microsoft Azure の外部ボリュームへのプライベート接続

このトピックでは、 Microsoft Azure の外部ボリュームへのアウトバウンドプライベート接続を設定するための構成の詳細を説明します。アウトバウンドパブリック接続とアウトバウンドプライベート接続の主な違いは、外部ボリュームの USE_PRIVATELINK_ENDPOINT プロパティの設定方法です。

外部ボリュームがプライベート接続を使用するように構成されている場合、 Microsoft Azure クラウドストレージサービスへの接続は、 Microsoft Azure 内部ネットワークを経由します。アウトバウンドプライベート接続を使用するように外部ボリュームを構成することで、ストレージアカウントへのパブリックアクセスをブロックし、運用にさらなるセキュリティを追加できます。

外部ボリュームを使用してIcebergテーブル用の外部クラウドストレージに接続する方法については、 外部ボリュームの構成 をご参照ください。

アウトバウンド プライベート接続コスト

各プライベート・コネクティビティ・エンドポイントの料金は、処理されるデータ総量に応じて支払われます。これらのアイテムの価格については、 Snowflake Service Consumption Table をご参照ください。

ACCOUNT_USAGE および ORGANIZATION_USAGE スキーマで請求ビューをクエリする際、以下のサービスタイプでフィルターをかけることで、これらの項目のコストを調べることができます。

  • OUTBOUND_PRIVATELINK_ENDPOINT

  • OUTBOUND_PRIVATELINK_DATA_PROCESSED

例えば、 USAGE_IN_CURRENCY_DAILY 表示をクエリし、これらのサービスタイプでフィルターをかけることができます。

考慮事項と制約

  • プライベート接続を使用して、Snowflake管理Icebergテーブルや、オブジェクトストレージにカタログ統合を使用しているIcebergテーブルにアクセスできます。また、プライベート接続を使用して、外部で管理されているIcebergテーブルや、オブジェクトストレージ内のDeltaファイルから作成されたIcebergテーブルにアクセスすることもできます。

  • 同じクラウドストレージサービスに対して、アウトバウンドパブリック接続とアウトバウンドプライベート接続を構成できます。この場合、アウトバウンドパブリック接続用に専用の外部ボリュームを作成し、 USE_PRIVATELINK_ENDPOINT = FALSE を指定します。

外部ボリュームへのアウトバウンドプライベート接続を設定する

外部ボリュームへのアウトバウンドプライベート接続を設定するには、 SQL を使用 するか、 Snowsightを使用 することができます。

SQL を使用する

プライベート接続プロパティ

外部ボリュームの USE_PRIVATELINK_ENDPOINT プロパティは、プライベート接続でアクセスするか、パブリックネットワークを経由してアクセスするかを決定します。プライベート接続を使用するには、外部ボリュームの作成または変更時に USE_PRIVATELINK_ENDPOINT = TRUE を設定します。

プライベート接続を使用した外部ボリュームアクセスの構成

以下の手順を使用して、アウトバウンドプライベート接続を使い Microsoft Azure 上の外部ボリュームにデータをアンロードします。

  1. Snowflake は、 SYSTEM$PROVISION_PRIVATELINK_ENDPOINT システム関数を呼び出して、Snowflake VNet にプライベート接続エンドポイントをプロビジョニングし、プライベート接続を使用して外部の Microsoft Azure クラウドストレージサービスに接続できるようにします。

    USE ROLE ACCOUNTADMIN;
    
    SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT(
      '/subscriptions/cc2909f2-ed22-4c89-8e5d-bdc40e5eac26/resourceGroups/mystorage/providers/Microsoft.Storage/storageAccounts/storagedemo',
      'mystorageaccount.blob.core.windows.net',
      'blob'
    );
    

    この関数はプライベートエンドポイントをホスト名にバインドし、外部ボリュームがプライベートエンドポイントを使用してストレージの場所に接続できるようにします。

  2. Azure Portalで、 Microsoft Azure ストレージリソースの所有者として、プライベートエンドポイントを承認します。詳しくは、 承認プロセス をご覧ください。

  3. Snowflakeで、 SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO 関数を呼び出します。

    When the output of the function includes "status": "APPROVED", your connection from Snowflake to your storage account will be able to use private connectivity.

    "APPROVED" のステータスを待つ間、次のステップに進むことができます。

  4. 外部ボリュームを作成し、 USE_PRIVATELINK_ENDPOINT プロパティが TRUE に設定されていることを確認します。

    CREATE EXTERNAL VOLUME exvol
      STORAGE_LOCATIONS =
        (
          (
            NAME = 'my-azure-northeurope'
            STORAGE_PROVIDER = 'AZURE'
            STORAGE_BASE_URL = 'azure://exampleacct.blob.core.windows.net/my_container_northeurope/'
            AZURE_TENANT_ID = 'a123b4c5-1234-123a-a12b-1a23b45678c9'
            USE_PRIVATELINK_ENDPOINT = TRUE
          )
        );
    
  5. プライベートエンドポイントのステータスが "APPROVED" になったら、サポートされている操作で外部ボリュームへのアクセスをテストします。

Snowsight を使用する

Snowsight でプライベート接続で外部ボリュームのアクセスを設定するには、次のステップに従います。

  1. Snowflake は、 SYSTEM$PROVISION_PRIVATELINK_ENDPOINT システム関数を呼び出して、Snowflake VNet にプライベート接続エンドポイントをプロビジョニングし、プライベート接続を使用して外部の Microsoft Azure クラウドストレージサービスに接続できるようにします。

    USE ROLE ACCOUNTADMIN;
    
    SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT(
      '/subscriptions/cc2909f2-ed22-4c89-8e5d-bdc40e5eac26/resourceGroups/mystorage/providers/Microsoft.Storage/storageAccounts/storagedemo',
      'mystorageaccount.blob.core.windows.net',
      'blob'
    );
    

    この関数はプライベートエンドポイントをホスト名にバインドし、外部ボリュームがプライベートエンドポイントを使用してストレージの場所に接続できるようにします。

  2. Azure Portalで、 Microsoft Azure ストレージリソースの所有者として、プライベートエンドポイントを承認します。詳しくは、 承認プロセス をご覧ください。

  3. Snowflakeで、 SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO 関数を呼び出します。

    When the output of the function includes "status": "APPROVED", your connection from Snowflake to your storage account will be able to use private connectivity.

    "APPROVED" のステータスを待つ間、次のステップに進むことができます。

  4. SnowsightでAzure用の外部ボリュームを構成する 手順に従い、外部ボリュームを構成するときにプライベート接続を有効にします。

    重要

    プライベート接続を有効にするには、 Configure external volume ページの Connectivity フィールドから、 Private (Azure Private Endpoint) を選択する必要があります。

  5. プライベートエンドポイントのステータスが "APPROVED" になったら、サポートされている操作で外部ボリュームへのアクセスをテストします。

エンドポイントのデプロビジョン

外部ボリュームのプライベート接続エンドポイントが不要になった場合は、外部ボリュームの USE_PRIVATELINK_ENDPOINT プロパティの設定を解除してから、 SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT システム関数を呼び出します。

次のトピック: