AzureCLIを利用してストレージアカウントのサービスエンドポイントを有効化してみました。
ストレージアカウントのサービスエンドポイントを有効化する
[参考] ストレージアカウントの作成
ストレージアカウントがない場合は以下のコマンドで作成します。
$rg_name = "RG-Test-001"
$location = "japaneast"
$storage_name = "satestse39869188"
#リソースグループの作成
az group create `
-l $location `
-g $rg_name
#ストレージアカウントの作成
az storage account create `
-n $storage_name `
-g $rg_name `
-l $location `
--kind StorageV2
サービスエンドポイントを有効化
コマンドで有効化する場合には、以下の2つの設定が必要になります。
- ①サブネット側でストレージアカウントに対するサービスエンドポイントを有効化
- ②ストレージアカウント側でサブネットの許可設定
①サブネットのサービスエンドポイントを有効化
以下のコマンドで有効化できます。
$rg_name = "RG-Test-001"
$vnet_name = "Vnet-Test-001"
$subnet_name = "subnet"
$service_endpoint = "Microsoft.Storage"
# サービスエンドポイントを有効化
az network vnet subnet update `
-g $rg_name `
--vnet-name $vnet_name `
-n $subnet_name `
--service-endpoints $service_endpoint
# 設定の確認
az network vnet subnet show `
-g $rg_name `
--vnet-name $vnet_name `
-n $subnet_name
②ストレージアカウントでサブネットの許可設定作成
以下のコマンドで作成可能です。
$rg_name = "RG-Test-001"
$storage_name = "satestse39869188"
$vnet_name = "Vnet-Test-001"
$subnet_name = "subnet"
# Vnetの許可設定作成
az storage account network-rule add `
-g $rg_name `
-n $storage_name `
--vnet-name $vent_name `
--subnet $subnet_name
#ネットワーク設定の確認
az storage account network-rule list --account-name $storage_name
[参考] ストレージアカウントとVnetのリソースグループが異なる場合にはサブネットのID指定が必要
ストレージアカウントとVnetのリソースグループが異なる場合には、サブネットのIDを指定する必要があります。
以下のように少し修正することで対応可能です。
$vnet_name = "Vnet-Test-001"
$storage_name = "satestse98736420"
$subnet_name = "subnet"
$subnet_info = az network vnet subnet show `
-g $rg_name `
--vnet-name $vnet_name `
-n $subnet_name | ConvertFrom-Json
$subnetId = $subnet_info.id
# Vnetの許可設定作成(サブネットIDを指定)
az storage account network-rule add `
-g $rg_name `
-n $storage_name `
--subnet $subnetId