Szybki start: tworzenie serwera usługi Azure Route Server przy użyciu szablonu usługi ARM
Ten przewodnik Szybki start pomaga dowiedzieć się, jak za pomocą szablonu usługi Azure Resource Manager (szablonu arm) wdrożyć serwer usługi Azure Route Server w nowej lub istniejącej sieci wirtualnej.
Szablon usługi Azure Resource Manager to plik JavaScript Object Notation (JSON), który definiuje infrastrukturę i konfigurację projektu. W szablonie używana jest składnia deklaratywna. Możesz opisać zamierzone wdrożenie bez konieczności pisania sekwencji poleceń programowania w celu utworzenia wdrożenia.
Jeśli środowisko spełnia wymagania wstępne i znasz szablony usługi ARM, wybierz przycisk Wdróż na platformie Azure , aby otworzyć szablon w witrynie Azure Portal.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Zapoznaj się z limitami usług dla usługi Azure Route Server.
Przegląd szablonu
Szablon używany w tym przewodniku Szybki start jest jednym z szablonów szybkiego startu platformy Azure.
Za pomocą tego szablonu wdrożysz usługę Azure Route Server w nowej lub istniejącej sieci wirtualnej. Utworzono dedykowaną podsieć o nazwie RouteServerSubnet
do hostowania serwera route server. Serwer routingu zostanie również skonfigurowany przy użyciu równorzędnego numeru ASN i adresu IP elementu równorzędnego w celu ustanowienia komunikacji równorzędnej BGP.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.5.6.12127",
"templateHash": "3572840517141664306"
}
},
"parameters": {
"vnetName": {
"type": "string",
"defaultValue": "routeservervnet",
"metadata": {
"description": "Name of new or existing vnet to which Azure Route Server should be deployed."
}
},
"vnetIpPrefix": {
"type": "string",
"defaultValue": "10.1.0.0/16",
"metadata": {
"description": "IP prefix for available addresses in vnet address space."
}
},
"vnetNew_or_Existing": {
"type": "string",
"defaultValue": "New",
"allowedValues": [
"New",
"Existing"
],
"metadata": {
"description": "Specify whether to provision new vnet or deploy to existing vnet."
}
},
"routeServerSubnetIpPrefix": {
"type": "string",
"defaultValue": "10.1.1.0/27",
"metadata": {
"description": "Route Server subnet IP prefix MUST be within vnet IP prefix address space."
}
},
"publicIpNew_or_Existing": {
"type": "string",
"defaultValue": "New",
"allowedValues": [
"New",
"Existing"
],
"metadata": {
"description": "Specify whether to provision new standard public IP or deploy using existing standard public IP."
}
},
"publicIpName": {
"type": "string",
"defaultValue": "routeserverpip",
"metadata": {
"description": "Name of the standard Public IP used for the Route Server"
}
},
"firstRouteServerName": {
"type": "string",
"defaultValue": "routeserver",
"metadata": {
"description": "Name of Route Server."
}
},
"routeServerBgpConnectionName": {
"type": "string",
"defaultValue": "conn1",
"metadata": {
"description": "Name of BGP connection."
}
},
"peerAsn": {
"type": "int",
"defaultValue": 65002,
"metadata": {
"description": "Peer ASN connecting to."
}
},
"peerIp": {
"type": "string",
"defaultValue": "10.0.1.4",
"metadata": {
"description": "Peer IP connecting to."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Azure region for Route Server and virtual network."
}
}
},
"variables": {
"ipconfigName": "ipconfig1",
"routeServerSubnetName": "RouteServerSubnet"
},
"resources": [
{
"condition": "[equals(parameters('vnetNew_or_Existing'), 'New')]",
"type": "Microsoft.Network/virtualNetworks",
"apiVersion": "2020-05-01",
"name": "[parameters('vnetName')]",
"location": "[parameters('location')]",
"properties": {
"addressSpace": {
"addressPrefixes": [
"[parameters('vnetIpPrefix')]"
]
}
}
},
{
"type": "Microsoft.Network/virtualNetworks/subnets",
"apiVersion": "2020-05-01",
"name": "[format('{0}/{1}', parameters('vnetName'), variables('routeServerSubnetName'))]",
"properties": {
"addressPrefix": "[parameters('routeServerSubnetIpPrefix')]"
},
"dependsOn": [
"[resourceId('Microsoft.Network/virtualNetworks', parameters('vnetName'))]"
]
},
{
"condition": "[equals(parameters('publicIpNew_or_Existing'), 'New')]",
"type": "Microsoft.Network/publicIPAddresses",
"apiVersion": "2020-05-01",
"name": "[parameters('publicIpName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard"
},
"properties": {
"publicIPAllocationMethod": "Static",
"publicIPAddressVersion": "IPv4",
"idleTimeoutInMinutes": 4
}
},
{
"type": "Microsoft.Network/virtualHubs",
"apiVersion": "2020-06-01",
"name": "[parameters('firstRouteServerName')]",
"location": "[parameters('location')]",
"properties": {
"sku": "Standard"
}
},
{
"type": "Microsoft.Network/virtualHubs/ipConfigurations",
"apiVersion": "2020-06-01",
"name": "[format('{0}/{1}', parameters('firstRouteServerName'), variables('ipconfigName'))]",
"properties": {
"subnet": {
"id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), variables('routeServerSubnetName'))]"
},
"publicIPAddress": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses', parameters('publicIpName'))]"
}
},
"dependsOn": [
"[resourceId('Microsoft.Network/virtualHubs', parameters('firstRouteServerName'))]",
"[resourceId('Microsoft.Network/publicIPAddresses', parameters('publicIpName'))]",
"[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), variables('routeServerSubnetName'))]"
]
},
{
"type": "Microsoft.Network/virtualHubs/bgpConnections",
"apiVersion": "2020-06-01",
"name": "[format('{0}/{1}', parameters('firstRouteServerName'), parameters('routeServerBgpConnectionName'))]",
"properties": {
"peerAsn": "[parameters('peerAsn')]",
"peerIp": "[parameters('peerIp')]"
},
"dependsOn": [
"[resourceId('Microsoft.Network/virtualHubs', parameters('firstRouteServerName'))]",
"[resourceId('Microsoft.Network/virtualHubs/ipConfigurations', parameters('firstRouteServerName'), variables('ipconfigName'))]"
]
}
]
}
W szablonie zdefiniowano wiele zasobów platformy Azure:
- Microsoft.Network/virtualNetworks
- Microsoft.Network/virtualNetworks/subnets (dwie podsieci, jedna o nazwie
routeserversubnet
) - Microsoft.Network/virtualHubs (wdrażanie usługi Route Server)
- Microsoft.Network/virtualHubs/ipConfigurations
- Microsoft.Network/virtualHubs/bgpConnections (konfiguracja równorzędnego numeru ASN i równorzędnego adresu IP)
Aby znaleźć więcej szablonów, zobacz Szablony szybkiego startu platformy Azure.
Wdrażanie szablonu
Wybierz pozycję Otwórz program CloudShell z poniższego bloku kodu, aby otworzyć usługę Azure Cloud Shell, a następnie postępuj zgodnie z instrukcjami, aby zalogować się na platformie Azure.
$projectName = Read-Host -Prompt "Enter a project name that is used for generating resource names" $location = Read-Host -Prompt "Enter the location (i.e. centralus)" $templateUri = "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.network/route-server/azuredeploy.json" $resourceGroupName = "${projectName}rg" New-AzResourceGroup -Name $resourceGroupName -Location "$location" New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateUri $templateUri Read-Host -Prompt "Press [ENTER] to continue ..."
Poczekaj na wyświetlenie monitu z konsoli programu .
Wybierz pozycję Kopiuj z poprzedniego bloku kodu, aby skopiować skrypt programu PowerShell.
Kliknij prawym przyciskiem myszy okienko konsoli powłoki, a następnie wybierz polecenie Wklej.
Wprowadź wartości.
Nazwa grupy zasobów to nazwa projektu z dołączonym elementem rg .
Wdrożenie szablonu trwa około 20 minut. Po zakończeniu dane wyjściowe są podobne do następujących:
Program Azure PowerShell służy do wdrażania szablonu. Oprócz programu Azure PowerShell można również użyć witryny Azure Portal, interfejsu wiersza polecenia platformy Azure i interfejsu API REST. Aby dowiedzieć się więcej o innych metodach wdrażania, zobacz Wdrażanie szablonów.
Weryfikowanie wdrożenia
Zaloguj się w witrynie Azure Portal.
Wybierz pozycję Grupy zasobów w okienku po lewej stronie.
Wybierz grupę zasobów utworzoną w poprzedniej sekcji. Domyślna nazwa grupy zasobów to nazwa projektu z dołączonym elementem rg .
Grupa zasobów powinna zawierać tylko sieć wirtualną:
Przejdź do https://aka.ms/routeserver.
Wybierz serwer tras o nazwie routeserver , aby sprawdzić, czy wdrożenie zakończyło się pomyślnie.
Czyszczenie zasobów
Jeśli nie potrzebujesz już zasobów utworzonych za pomocą serwera route server, usuń grupę zasobów, aby usunąć serwer route server i wszystkie powiązane zasoby.
Aby usunąć grupę zasobów, użyj polecenia cmdlet Remove-AzResourceGroup :
Remove-AzResourceGroup -Name <your resource group name>