Azure API 管理 - 如何使用 Azure CLI 设置 VNET/子网?

问题描述 投票:0回答:2

我已经创建了我的 VNET 和子网,如下所述

RESOURCE_GROUP="POC-RG"
LOCATION="westus"
APIMNAME="poc-apim-98"
PUBLISHER="Demo"
PUBLISHEREMAIL="[email protected]"
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}

看起来 Azure CLI 在创建 APIM 时不采用子网参数,如何使用 azure cli 设置子网并创建 Azure API 管理?

azure azure-api-management azure-cli
2个回答
2
投票

你是对的。由于某种原因

az apim create
不提供输入 VNET 子网引用的选项。

您有 2 个选择:

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

0
投票

这对我有用。 由于这同时使用了两个 CLI,因此您可能必须同时登录并选择两种方式的订阅

az login
Connect-AzAccount

$apim = Get-AzApiManagement -ResourceGroupName $ResourceGroup -Name $APIMName
$apimResourceId = az apim show -n ${APIMName} -g ${ResourceGroup} --query 'id' -o json
$subnetResourceId = az network vnet subnet show -g ${ResourceGroup} -n $Subnet --vnet-name ${VnetName} --query 'id' -o json
$virtualNetwork = New-AzApiManagementVirtualNetwork -SubnetResourceId $subnetResourceId
$apim.VpnType = "Internal"
$apim.VirtualNetwork = $virtualNetwork
Set-AzApiManagement -InputObject $apim
© www.soinside.com 2019 - 2024. All rights reserved.