【AzureCLI】ストレージアカウントのサービスエンドポイントを有効化する

AzureCLI AzureCLI

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

タイトルとURLをコピーしました