内部ステージ用のGoogle Private Service Connectエンドポイント

このトピックでは、 `Google Private Service Connectエンドポイント<https://cloud.google.com/vpc/docs/private-service-connect#endpoints>`_ を介してSnowflake内部ステージに接続するための概念と、詳細な手順について説明します。

Google Cloud Private Service Connectエンドポイント:概要

Google Private Service Connect(PSC)エンドポイントを構成して、Snowflake内部ステージへの安全でプライベートな接続を提供できます。この設定により、Snowflake内部ステージへのデータのロードおよびアンロード操作で、パブリックインターネットではなくGoogle PSC ネットワークが使用されるようになります。次の図は、この新しいサポートをまとめたものです。

Google Private Services Connectを使用して内部ステージに接続する

次のリストは、図の番号に関する情報を提供します。

  • この図は、単一のSnowflake内部ステージ(2と3)を指す1つのGoogle VPC ネットワークからの単一の PSC エンドポイントを示しています。

注釈

同じSnowflake内部ステージにアクセスする同じ VPC ネットワーク内に複数のプライベートエンドポイントを構成できます。

  • オンプレミスユーザーは、番号1に示すようにSnowflakeに直接接続できます。

  • Snowflake内部ステージに接続するには、オンプレミス ユーザーはリクエストを VPC ネットワーク2経由でルーティングし、次にGoogle PSC ネットワーク3経由でSnowflake内部ステージに接続する必要があります。

利点

Snowflake内部ステージにアクセスするためにプライベートエンドポイントを実装すると、次の利点があります。

  • 内部ステージのデータは、パブリックインターネットを通過しません。

  • オンプレミスのクライアントと SaaS アプリケーションは、Google PSC ネットワークを使用することで、Snowflake内部ステージバケットに安全にアクセスできます。

  • 管理者は、内部ステージデータにアクセスするためにファイアウォール設定を変更する必要がありません。

  • 管理者は、一貫したセキュリティと監視を実装して、内部ステージへのアクセスを制限できます。

制限事項

  • Snowflakeアカウントには最大10個の VPC ネットワークを許可リストに登録できます。

Snowflake内部ステージにアクセスするためのプライベートエンドポイントの構成

Snowflake内部ステージにアクセスするようにプライベートエンドポイントを構成するには、次の3つのロールを使用する必要があります。

  • Snowflake ACCOUNTADMIN システムロール。

  • Google Cloud 管理者。

  • ネットワーク管理者。

組織内のロール階層に応じて、構成作業で複数の人またはチームとの調整が必要になる場合があります。

次のステップを実行して、Google PSC エンドポイントを介したSnowflake内部ステージへの安全なアクセスを構成および実装します。

  1. Google Cloud 管理者として、Google Cloudコンソールを使用して、Snowflakeがネットワークアクセスを制限するために使用する完全修飾パス値を取得します。

    1. https://console.cloud.google.comで、Quick Access`|ra|:extui:`VPC Network に移動し、 »VPC Networks`|ra|:extui:`Name でプロジェクトを選択します。

    2. VPC network details で、 Equivalent REST を選択します。

    3. Equivalent REST Response で、 "selfLink" の値をコピーします。

      この値は projects/vpc_network_name/global/networks/network_name のようになります。

      次のステップで、この値をシステム関数の 'google_cloud_vpc_network_name' 引数として指定します。

  2. Snowflakeで、 ACCOUNTADMIN ロールを使用して SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS 関数を呼び出して、内部ステージへのアクセスを承認します。例:

    USE ROLE ACCOUNTADMIN;
    SELECT SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS('<google_cloud_vpc_network_name>');
    
    Copy
  3. Google Cloud 管理者としてhttps://console.cloud.google.com/にアクセスし、Google PSC エンドポイントを作成し、Snowflakeがアクセスする VPC ネットワークに添付します。

    1. Network services » Private Service Connect で新しいエンドポイントを作成し、 Connect endpoint を選択します。

    2. Target で、 All Google APIs をターゲットとして選択し、必須フィールドに入力します。

      注釈

      All Google APIsグローバル エンドポイントに適しています。現在のところ、グローバルエンドポイントのみがサポートされています。

    3. ADD ENDPOINT を選択します。

  4. 新しく作成されたGoogle PSC エンドポイントの IP アドレスおよびGoogle PSC エンドポイントが接続する VPC ネットワーク ID を記録します。

  5. ネットワーク管理者として、URLs を解決するための DNS 設定を構成します。

    1. Network services で、 Cloud DNS に移動します。

    2. 次の設定で新しい DNS ゾーンを作成します。

      • ゾーンタイプ: private

      • DNS 名前: storage.googleapis.com

      • オプション: Default (private)

      • ネットワーク: prod

    3. CREATE を選択します。

  6. 新しいプライベート DNS ゾーンで、次の値を持つ新しいレコードを作成します。

    1. 内部ステージのバケット名を使用します。

    2. リソース記録タイプ: A

    3. IPv4 アドレス: 10.10.80.55--- 以前に作成したGoogle PSC エンドポイントの IP アドレスを使用します。

    4. CREATE を選択します。

  7. 同じ VPC のクライアントから、 nslookup または dig コマンドを使用して、内部ステージURL がエンドポイントの IP アドレスを解決していることを確認します。

    たとえば、次の dig コマンドを使用して解決を確認します。

    dig gcpeuropewest4-63osaw1-stage.storage.googleapis.com
    
    Copy

    適切に構成されたグローバルエンドポイントは、次のような結果を返す必要があります。

    DNS name: gcpeuropewest4-63osaw1-stage
    

Snowflake内部ステージへのアクセスを取り消す

Google PSC プライベートエンドポイントを介してSnowflake内部ステージへのアクセスを取り消すには、次のステップを実行します。

  1. Snowflake管理者は、 ENABLE_INTERNAL_STAGES_PRIVATELINK パラメーターが TRUE に設定されていることを確認します。例:

    USE ROLE ACCOUNTADMIN;
    SHOW PARAMETERS LIKE 'enable_internal_stages_privatelink' IN ACCOUNT;
    
    Copy
  2. Snowflake管理者は、 SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS 関数を呼び出し、プライベートエンドポイントへのアクセスを最初に承認するために使用されたのと同じ google_cloud_vpc_network_name 値を使用して、プライベートエンドポイントへのアクセスを取り消します。例:

    USE ROLE ACCOUNTADMIN;
    SELECT SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS('<google_cloud_vpc_network_name>');
    
    Copy
  3. Google Cloud 管理者は、Google Cloud ポータルを通じてプライベートエンドポイントを削除します。

  4. ネットワーク管理者として、ストレージアカウント URLs の解決に使用された DNS およびエイリアスの記録を削除します。

これらの手順を完了すると、 VPC ネットワークへのアクセスが取り消されます。