Azure API管理-如何使用Azure CLI设置VNET/SubNet



我已经创建了我的VNET&下面提到的SubNet

RESOURCE_GROUP="POC-RG"
LOCATION="westus"
APIMNAME="poc-apim-98"
PUBLISHER="Demo"
PUBLISHEREMAIL="myemail@demo.com"
SKU="Premium"
VNETNAME="app-vnet"
APITYPE="External"
az network vnet create 
--resource-group ${RESOURCE_GROUP} 
--name ${VNETNAME} 
--location ${LOCATION}
az network vnet subnet create 
--resource-group ${RESOURCE_GROUP} 
--vnet-name ${VNETNAME} 
--name apim 
--address-prefixes 10.0.5.0/24

我想在之上创建的apim子网中提供Azure API管理

az apim create --name ${APIMNAME} -g ${RESOURCE_GROUP} -l ${LOCATION} --sku-name ${SKU} --publisher-email ${PUBLISHEREMAIL} --publisher-name ${PUBLISHER} --virtual-network ${APITYPE}

在创建APIM时,Azure CLI似乎不接受子网参数,如何设置子网并使用Azure CLI创建Azure API管理?

你说得对。由于某些原因,az apim create不提供输入VNET的子网引用的选项。

您有两个选项:

  • 使用ARM模板。有关示例模板,请参阅在外部虚拟网络中创建API管理服务
az group deployment create --resource-group <my-resource-group> --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/201-api-management-create-with-external-vnet/azuredeploy.json

或者,

  • 创建APIM后,使用az resource命令添加子网引用
az apim create --name ${APIMNAME} -g ${RESOURCE_GROUP} -l ${LOCATION} --sku-name ${SKU} --publisher-email ${PUBLISHEREMAIL} --publisher-name ${PUBLISHER} --virtual-network ${APITYPE}
$apimResourceId = az apim show -n ${APIMNAME} -g ${RESOURCE_GROUP} --query 'id' -o json
$subnetResourceId = az network vnet subnet show -g ${RESOURCE_GROUP} -n apim --vnet-name ${VNETNAME} --query 'id' -o json
az resource update --ids $apimResourceId --set properties.virtualNetworkConfiguration.subnetResourceId=$subnetResourceId

最新更新