Azure Data Factory(以降、ADFと表記)上でSnowflakeへプライベートエンドポイント(以降エンドポイントと表記)を作る際に、他のAzureサービスへのエンドポイントの作成と少し方法が違っていたので、実施方法についてご紹介します。
Snowflakeのエンドポイントを作成するためには、Snowflakeサポートへの問い合わせによってリソースIDを取得・エンドポイントを作成し、作成したエンドポイントをSnowflakeサポートへの問い合わせによって承認してもらう必要があります。
今回の環境構成は以下のように統合ランタイムを使用し、マネージド仮想ネットワーク内にエンドポイントを作成してSnowflakeへプライベート接続しています。
実施手順
SnowflakeリソースIDの取得
Snowflakeのテクニカルサポートに、SnowflakeのリソースIDを問い合わせます。
テクニカルサポートは、Snowflakeの機能としてアカウント管理権限を持つユーザーが利用できるものです。Snowsightの[Account]→[Support]→[+Support Case]から、テクニカルサポートへの問い合わせを作成・送信することができます。
問い合わせ内容に関しては、以下を参考にしていただければと思います。
項目 | 記載内容 |
Give a short summary of the issue | About obtaining Snowflake endpoint service resource IDs for Azure regions in your Snowflake account |
Describe the issue in detail | I want to create a managed private endpoint from Azure Data Factory to Snowflake and would like to know the Snowflake Endpoint Service Resource ID required to create it.The format is as follows./subscriptions/*****/resourceGroups/azeastjapan-privatelink/providers/Microsoft.Network/privateLinkService/sf-pvlinksvc- azeastjapan |
Category | Data Ingestion |
Sub-category | ETLTool |
Severity | Sev-4 |
必要なURL情報の取得
- Snowflakeのワークシートで以下のシステム関数を実行します。
SELECT SYSTEM$GET_PRIVATELINK_CONFIG();
- 出力結果から以下の3つのURLを取得します。
- privatelink-account-url
- regionless-privatelink-account-url
- privatelink_ocsp-url
エンドポイントの作成
- Factory Studioの[管理]→[マネージドプライベートエンドポイント]→[新規]を押下します。
- プライベートリンクサービスを検索して選択し、[続行]を押下します。
設定値については下記表を参照してください。
項目
設定値
説明
名前
ManagedPrivateEndpoint_snowflake
エンドポイントの名前。
説明
-
エンドポイントの説明。
アカウントの選択方法
Enter manually
アカウントの選択方法の選択。
※From Azure Subscriptionを選択すると、所属しているAzureポータル内のプライベートリンクサービスしか選択出来ないため、直接リソースIDを指定する方法で実施。ターゲットリソースID
/subscriptions/***************/resourceGroups/azjapaneast-privatelink/providers/Microsoft.Network/privateLinkServices/sf-pvlinksvc-azjapaneast
SnowflakeアカウントのAzureリージョンのSnowflakeエンドポイントサービスリソースID。
Snowflakeのサポートに問い合わせて取得したリソースID。
完全修飾ドメイン名
<locator>.japan-east.privatelink.snowflakecomputing.com
システム関数により取得したプライベートリンクエイリアスに含まれる「privatelink-account-url」
<organization>-<account>.privatelink.snowflakecomputing.com
システム関数により取得したプライベートリンクエイリアスに含まれる「regionless-privatelink-account-url」
ocsp.<locator>.japan-east.privatelink.snowflakecomputing.com
システム関数により取得したプライベートリンクエイリアスに含まれる「privatelink_ocsp-url」
パラメーター入力後、画面左下の[作成]をクリックしてエンドポイントを作成します。
エンドポイント作成状況の確認
ADFでエンドポイントが作成されたことを確認します。
エンドポイントの承認
エンドポイントのリソースIDをSnowflakeのサポートケースで送信し、エンドポイントの承認を依頼します。
まず、エンドポイントのリソースIDを下記から取得します。
上記で取得したリソースIDを、Snowflakeサポート機能を使用してサポートへ送信します。
問い合わせフォームの入力例です。
※ リソースIDは上記で取得したものに置き換えてください。
Thank you for the resource ID information.
I would like you to approve the following Managed Private Endpoints.
-----
/subscriptions//resourceGroups/vnet-*********-japaneast-***-rg/providers/Microsoft.Network/ PrivateEndpoints/.ManagedPrivateEndpoint_snowflake
-----
Regards,
エンドポイントが承認されたことを確認します。
作成されたエンドポイントを使用して、ADFで使用するSnowflakeデータソース(リンクサービス)の作成が可能となります。
おわりに
現在、ADFまたはAzure Synapse Analyticsなどからエンドポイントを承認するためには、セルフサービスオプションがまだ利用できません。そのため、Snowflakeサポートへの問い合わせによってエンドポイントの承認をもらう必要があります。
Snowflakeへのプライべ―ト接続方法で悩まれている方の参考になれば幸いです。