■本記事の目的
Snowflakeのデータロードを理解する。
ユーザー管理のAzureBLOBStorageからSnowflakeにデータロードを行います。
コンテナーおよび取込用のテストデータ(CSV形式)は、事前に作成済みとします。
※階層型名前空間を有効にしないのでコンテナー配下のフォルダはありません。
■前回の記事
Snowflake Azure BLOB Storageデータロード:①ストレージ統合
■概要
Azureストレージのネットワークルールを構成します。
■前提
SnowflakeはAzure(tokyoリージョン)にホストします。トライアル環境です。
■Azureストレージのネットワーク設定
SnowflakeとストレージがAzureでの組み合わせ場合は、VnetIDで仮想ネットワーク内部に限定したセキュアアクセスを構成することができます。
※サービスエンドポイントによる方法です。2026/03/10の時点ではプライベートエンドポイントによる方法(BusinessCritical以上)で可能になっていますので、よりセキュアな構成にしたい場合は、そちらをご選択ください。
実際に設定していきます。
SnowflakeをホストしているVnetの情報を取得します。
Snowflakeで、以下を実行します。
use role ACCOUNTADMIN;
SELECT SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO();
後ほど、コマンドにサブネットIDとして、入れるので以下のように分解しておきます。
※サブネットが2つ存在していますので、サブネット1,サブネット2とします。
{"snowflake-vnet-subnet-id":["/subscriptions/<サブスクリプション名>/resourceGroups/<リソースグループ名>/providers/Microsoft.Network/virtualNetworks/<仮想ネットワーク名>/subnets/<サブネット1名>","/subscriptions/<サブスクリプション名>/resourceGroups/<リソースグループ名>/providers/Microsoft.Network/virtualNetworks/<仮想ネットワーク名>/subnets/<サブネット2名>"]}
↓↓↓↓以下のように分解しておく
#サブネット1ID:
"/subscriptions/<サブスクリプション名>/resourceGroups/<リソースグループ名>/providers/Microsoft.Network/virtualNetworks/<仮想ネットワーク名>/subnets/<サブネット1名>"
#サブネット2ID:
"/subscriptions/<サブスクリプション名>/resourceGroups/<リソースグループ名>/providers/Microsoft.Network/virtualNetworks/<仮想ネットワーク名>/subnets/<サブネット2名>"
取得できたら、次に上記の情報をネットワークルールに追加する必要があるのですが、
AzureCLIで作業を行います。
AzureCLIをインストールする必要があります。以下からインストラーをダウンロードして、インストールしてください。
公式リファレンスより引用
Azure CLI をインストールする方法
AzureCLIを、今回はコマンドプロンプト(CMD)から使用します。
ネットワークルールの有無を確認します。
az storage account network-rule list --resource-group "<リソースグループ名>" --account-name "<ストレージアカウント名>" --query virtualNetworkRules
何も設定していない場合は、以下のように出ます。

ネットワークルールにSnowflakeのVNet、サブネット情報を追加します。
以下のコマンドに、前段で分解したSnowflakeのサブネットIDを入れて各実行します。
※登録するサブネットが2つ存在していますので、サブネット1、サブネット2とします。
#Snowflakeのサブネット1を登録します。
az storage account network-rule add --resource-group "<MYリソースグループ名>" --account-name "<MYストレージアカウント名>" --subnet <サブネット1ID>
#Snowflakeのサブネット2を登録します。
az storage account network-rule add --resource-group "<MYリソースグループ名>" --account-name "<MYストレージアカウント名>" --subnet <サブネット2ID>
JSON形式の結果が返ってきたらOKです。(長いので割愛)
ネットワークルールの有無を確認します。
az storage account network-rule list --resource-group "<リソースグループ名>" --account-name "<ストレージアカウント名>" --query virtualNetworkRules
以下のように登録されていたらOKです。
[
{
"action": "Allow",
"state": "Succeeded",
"virtualNetworkResourceId": "<サブネット1ID>"
},
{
"action": "Allow",
"state": "Succeeded",
"virtualNetworkResourceId": "<サブネット2ID>"
}
]
以上でネットワーク構成は完了です。
■あとがき
Azureストレージのネットワーク構成が、少しCLI含めて行う必要があったので
今回はネットワーク構成だけで記事1つとしています。
次回は、外部ステージから行います。
