Snowflake on Azure の Salesforce が管理するプライベートネットワークルートの設定
Private Connect Multicloud for Data 360 を使用して、Salesforce が管理するプライベートネットワーク接続を使用して、Data 360 を Snowflake on Azure データソースに接続します。 Data 360 と Snowflake 間のクロスクラウド接続は、Salesforce によって自動的にプロビジョニングおよび維持されます。AWS または Azure での設定は必要ありません。
必要なエディション
| 使用可能なエディション: Data 360 をサポートするエディション。 「Data 360 Edition の可用性」を参照してください。 |
| 必要なユーザー権限 | |
|---|---|
| Snowflake ネットワークルートを作成する | 「Data Cloud Architect」権限セットおよび「外部接続の管理」または「アプリケーションのカスタマイズ」権限 |
| Snowflake 環境を管理する | Snowflake 管理者 |
制限事項
- 各 Snowflake URL は、1 つの Data 360 テナントのみが使用できます。
- プライベートコネクトマルチクラウドは、一部の Data 360 地域では使用できません。ステップ 1 の「サポートされているリージョン」の表を参照してください。 Snowflake アカウントは、どの Azure リージョンでも実行できます。
関連項目:
ステップ 1: Snowflake 環境の準備
前提条件を確認し、Data 360 でプライベートネットワーク接続を確立するために必要な Snowflake 設定値を収集します。
-
次のすべてがあることを確認します。
- Business Critical Edition 以降がインストールされた Microsoft Azure で実行されている Snowflake アカウント。
- Snowflake アカウントの ACCOUNTADMIN ロール。
-
サポートされている Data 360 リージョンで実行されている Data 360 テナント。Private Connect Multicloud for Snowflake on Azure は、次の Data 360 リージョンで使用できます。
サポートされる Data 360 リージョン us-west-2 us-east-2 ap-south-1 us-east-1 ca-central-1 ap-southeast-1 sa-east-1 eu-west-2 ap-southeast-2 eu-west-3 eu-central-1 ap-northeast-1 eu-central-2 eu-north-1 ap-northeast-2 eu-south-1
-
Snowflake で内部フェーズを有効にするかどうかを決定します。
内部フェーズは、Snowflake がデータステージングに使用する Snowflake 管理ストレージアクセスパスです。Snowflake Internal Stage が非公開のみのアクセス用に設定されている場合 (つまり、ストレージアカウントで公開ネットワークアクセスが無効になっている場合)、有効にします。他のすべての設定で無効のままにします。
内部フェーズを有効にしている場合は、AccountADMIN として Snowflake で次のコマンドを実行します。
ALTER ACCOUNT SET ENABLE_INTERNAL_STAGES_PRIVATELINK = TRUE; -
Snowflake で ACCOUNTADMIN として次のクエリを実行し、Snowflake プライベートリンク設定を取得します。
SELECT KEY, VALUE FROM TABLE(FLATTEN(INPUT => PARSE_JSON(SYSTEM$GET_PRIVATELINK_CONFIG())));出力から、次の値を記録します。
Snowflake の値 Data 360 の値 定義 例 privatelink-pls-id Snowflake アカウント Azure リソース ID Snowflake アカウントの Azure プライベートリンクサービス名。 sf-pvlinksvc-eastus.00000000-0000-0000-0000-000000000000.eastus.azure.privatelinkserviceprivatelink-account-url Snowflake アカウント URL Snowflake アカウントの非公開 URL。 https://myorg-myaccount.privatelink.snowflakecomputing.comprivatelink_internal_stage (内部フェーズが有効な場合にのみ表示されます) Snowflake 内部フェーズ Azure リソース ID 内部フェーズをホストする Snowflake 管理ストレージアカウントの完全な Azure リソース ID。 /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name> -
内部フェーズを有効にした場合は、Snowflake ストレージアカウントの URL を取得します。
privatelink_internal_stage出力の<storage-account-name>値を使用して、URL<storage-account-name>.privatelink.blob.core.windows.netを作成します。この URL を保存します。Data 360 でプライベートネットワークルートを作成するときに必要になります。
ステップ 2: Data 360 でのプライベートネットワークルートの作成
Data 360 で Salesforce が管理するプライベートネットワークルートを作成します。 プロビジョニングには約 10 分かかります。
ステップ 1 を完了します。
- アプリケーション ランチャーで、[Data Cloud]を選択します。
- [設定] から、[クイック検索] ボックスに「Data Cloud 設定」と入力し、[Data Cloud 設定] を選択します。
- [管理ツール] を展開し、[プライベートコネクト] を選択します。
- [新規] をクリックします。
- [プライベートネットワークルートを追加] ページで、[Snowflake] タイルを選択します。
- [Select a Network]パネルで、[Azure]を選択し、[Add Private Network Route]をクリックします。
- [Choose Management]メニューから[Salesforce-Managed]を選択し、[Next]をクリックします。
-
[Snowflake プライベートネットワークルートを設定] ページで、次の値を入力します。
- ルート名: ルートを識別する名前を入力します。
- ルート API 参照名:Data 360 は、ルート名に基づいてこのフィールドに自動入力します。
- 説明: 必要に応じて、接続の説明を入力します。
-
[ステップ 1: アカウント] で、次の値を入力します。
- Snowflake アカウント URL: ステップ 1 の
privatelink-account-url値を入力します。 - Snowflake Account Azure Resource ID: ステップ 1 の
privatelink-pls-id値を入力します。
- Snowflake アカウント URL: ステップ 1 の
-
[ステップ 2: 内部フェーズ] で、内部フェーズの設定を定義します。
Snowflake ストレージアカウントでパブリックネットワークアクセスが無効になっている場合は、[Internal Stage Enabled (内部フェーズを有効化)] (デフォルト) のままにします。他のすべての設定では [無効] を選択し、このセクションの残りのフィールドをスキップします。
内部フェーズを有効にした場合は、次の値を入力します。
- ストレージアカウントの URL: ステップ 1 で取得したストレージアカウントの URL を
<storage-account-name>.privatelink.blob.core.windows.net形式で入力します。 - Snowflake Internal Stage Azure Resource ID: ステップ 1 の
privatelink_internal_stage値を入力します。
- ストレージアカウントの URL: ステップ 1 で取得したストレージアカウントの URL を
-
設定を保存します。
Salesforce は、Snowflake アカウント用と内部フェーズ用の 2 つの Azure プライベートエンドポイントのプロビジョニングを開始します。プロビジョニングには約 10 分かかります。プロビジョニングの処理中は、プライベート ネットワーク ルートの詳細ページに [Waiting for the Azure Resource ID to be provisioned for each Azure Resource ID (Azure リソース ID フィールドごとに Azure リソース ID がプロビジョニングされるのを待機しています)] が表示されます。
ステップ 3: エンドポイントの承認と接続の検証
プロビジョニングが完了したら、Snowflake で非公開エンドポイントを承認し、ネットワークポリシーを更新して、接続を検証します。
ステップ 2 を完了し、プロビジョニングが完了するまで待ちます。プライベートネットワークルートの詳細ページに 2 つの Azure リソース ID 値が表示されたら、プロビジョニングは完了です。
-
Snowflake アカウントエンドポイントを承認します。
- Data 360 のプライベート ネットワーク ルートの詳細ページで、Snowflake アカウント エンドポイントの Azure リソース ID をコピーします。
- Snowflake アカウントの非公開エンドポイントの認証を要求するには、Snowflake サポートに連絡し、コピーした Azure リソース ID を入力します。
-
内部フェーズエンドポイントを承認します。
- Data 360 のプライベート ネットワーク ルートの詳細ページで、Snowflake 内部フェーズ エンドポイントの Azure リソース ID をコピーします。
-
Snowflake で、ACCOUNTADMIN として次のコマンドを実行します。
SELECT SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS('<stage-private-endpoint-resource-id>');
-
Data 360 が接続に使用する Snowflake ユーザーの Snowflake ネットワークポリシーを更新します。
接続は、ネットワークポリシーで Salesforce が管理する必須の非公開エンドポイントが許可されている場合にのみ成功します。内部フェーズを有効にした場合は、追加するエンドポイントが 2 つ、それ以外の場合は 1 つです。
-
AZURELINKIDタイプのネットワーク規則を作成します。 -
Snowflake アカウントの非公開エンドポイントの Azure リソース ID をネットワークルールの [
VALUE_LIST] プロパティに追加します。 -
そのネットワーク ルールを
ALLOWED_NETWORK_RULE_LISTプロパティに含めるネットワーク ポリシーを作成します。
-
-
接続を検証します。
-
Snowflake アカウントエンドポイントが認証されていることを確認します。Snowflake サポートに指定した Azure リソース ID が出力に表示されます。
SELECT SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS(); -
内部フェーズを有効にした場合は、内部フェーズエンドポイントが認証されていることを確認します。
SELECT SYSTEM$GET_STAGE_PRIVATELINK_AUTHORIZED_ENDPOINTS();
-
Snowflake アカウントエンドポイントが認証されていることを確認します。Snowflake サポートに指定した Azure リソース ID が出力に表示されます。
両方のエンドポイントが認証され、ネットワークポリシーが更新されたら、Snowflake Zero Copy Query Federation 接続を設定します。
プライベートネットワークルートの編集
プライベートネットワークルート (PNR) を作成したら、その名前と説明を編集できます。
- アプリケーションランチャーで、[Data Cloud] を見つけて選択します。
- [設定] から、[クイック検索] ボックスに「Data Cloud 設定」と入力し、[Data Cloud 設定] を選択します。
- [管理ツール] を展開し、[プライベートコネクト] を選択します。
- 作成した PNR の行を見つけて、その詳細ページを開きます。
- [編集] をクリックします。
-
使用可能な設定を変更し、変更を保存します。
- PNR Name:別の名前を入力します。
- 説明: 別の説明を入力してください。
