{Azure Private Link}クイックスタート: Azure CLI を使用してプライベート エンドポイントを作成する

 


https://learn.microsoft.com/ja-jp/azure/private-link/create-private-endpoint-cli?tabs=static-ip

 

-- 1. 前作業

az login --use-device-code
az account show

az version

az configure --list-defaults
az configure --defaults location=japaneast
az configure --list-defaults

az group create \
--name rg01 \
--location japaneast

az group list


-- 2. App Service プラン作成

※sku F1ではプライベート エンドポイント作成時にエラーとなる。
"PremiumV2 レベル" 以上のアプリ サービス プランを持つ Azure Web アプリの必要がある模様

 


az appservice plan create --name plan01 \
--resource-group rg01 \
--sku P1v2

az appservice plan list \
--resource-group rg01


-- 3. App Service アプリ作成


az webapp list-runtimes


az webapp create \
--name app123 \
--plan plan01 \
--resource-group rg01 \
--runtime "ASPNET:V4.8"
 
az webapp list \
--resource-group rg01

 


-- 4. 仮想ネットワークと bastion ホストの作成

 

az network vnet create \
--resource-group rg01 \
--location japaneast \
--name vnet01 \
--address-prefixes 10.0.0.0/16 \
--subnet-name subnet01 \
--subnet-prefixes 10.0.0.0/24

az network vnet subnet create \
--resource-group rg01 \
--name AzureBastionSubnet \
--vnet-name vnet01 \
--address-prefixes 10.0.1.0/24


az network vnet list

az network vnet subnet list \
--resource-group rg01 \
--vnet-name vnet01

 

az network public-ip create \
--resource-group rg01 \
--name pip01 \
--sku Standard \
--zone 1 2 3

az network public-ip list 

 

az network bastion create \
--resource-group rg01 \
--name bastion01 \
--public-ip-address pip01 \
--vnet-name vnet01 \
--location japaneast

az network bastion list \
--resource-group rg01

 


-- 5. プライベート エンドポイントの作成

id=$(az webapp list \
--resource-group rg01 \
--query '[].[id]' \
--output tsv)

echo $id


az network private-endpoint create \
--connection-name conn01 \
--name ep01 \
--private-connection-resource-id $id \
--resource-group rg01 \
--subnet subnet01 \
--group-id sites \
--ip-config name=ipconfig01 group-id=sites member-name=sites private-ip-address=10.0.0.10 \
--vnet-name vnet01


az network private-endpoint list \
--resource-group rg01


-- 6. プライベート DNS ゾーンを作成する

az network private-dns zone create \
--resource-group rg01 \
--name "privatelink.azurewebsites.net"

az network private-dns zone list \
--resource-group rg01


-- 7. 仮想ネットワークに DNS ゾーンをリンクする

az network private-dns link vnet create \
--resource-group rg01 \
--zone-name "privatelink.azurewebsites.net" \
--name dnslink01 \
--virtual-network vnet01 \
--registration-enabled false

az network private-dns link vnet list \
--resource-group rg01 \
--zone-name "privatelink.azurewebsites.net"


-- 8. DNS ゾーン グループを作成する


az network private-endpoint dns-zone-group create \
--resource-group rg01 \
--endpoint-name ep01 \
--name zg01 \
--private-dns-zone "privatelink.azurewebsites.net" \
--zone-name zone01

az network private-endpoint dns-zone-group list \
--resource-group rg01 \
--endpoint-name ep01

 

-- 9. テスト用の仮想マシンを作成する


az vm create \
--resource-group rg01 \
--name vm01 \
--image Win2019Datacenter \
--size Standard_B1s \
--public-ip-address "" \
--vnet-name vnet01 \
--subnet subnet01 \
--admin-username azureuser \
--admin-password 'passwordpassword'


az vm list \
--resource-group rg01 

 


-- 10. プライベート エンドポイントへの接続をテストする


nslookup app123.azurewebsites.net

curl https://app123.azurewebsites.net

 


-- 11. クリーンアップ


az group list

az group delete \
--name rg01 \
--yes