你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure PowerShell 配置公共 IP 地址的路由首选项
本文介绍了如何使用 Azure PowerShell 为公共 IP 地址配置通过 ISP 网络路由流量的路由首选项(即“Internet”选项)。 创建公共 IP 地址后,可以将它与以下 Azure 资源关联,以用于 Internet 的入站和出站流量:
- 虚拟机
- 虚拟机规模集
- Azure Kubernetes 服务 (AKS)
- 面向 Internet 的负载均衡器
- 应用程序网关
- Azure 防火墙
默认情况下,对于所有 Azure 服务,公共 IP 地址的路由首选项设置为“Microsoft 全球网络”,并且可以与任何 Azure 服务相关联。
如果还没有 Azure 订阅,请现在就创建一个免费帐户。
Azure Cloud Shell
Azure 托管 Azure Cloud Shell(一个可通过浏览器使用的交互式 shell 环境)。 可以将 Bash 或 PowerShell 与 Cloud Shell 配合使用来使用 Azure 服务。 可以使用 Cloud Shell 预安装的命令来运行本文中的代码,而不必在本地环境中安装任何内容。
若要启动 Azure Cloud Shell,请执行以下操作:
选项 | 示例/链接 |
---|---|
选择代码或命令块右上角的“试用”。 选择“试用”不会自动将代码或命令复制到 Cloud Shell。 | |
转到 https://shell.azure.com 或选择启动 Cloud Shell 按钮可在浏览器中打开 Cloud Shell。 | |
选择 Azure 门户右上角菜单栏上的 Cloud Shell 按钮。 |
若要使用 Azure Cloud Shell,请执行以下操作:
启动 Cloud Shell。
选择代码块(或命令块)上的“复制”按钮以复制代码或命令。
在 Windows 和 Linux 上选择 Ctrl+Shift+V,或在 macOS 上选择 Cmd+Shift+V 将代码或命令粘贴到 Cloud Shell 会话中。
选择“Enter”运行代码或命令。
如果你选择在本地安装和使用 PowerShell,本文要求使用 Azure PowerShell 模块 6.9.0 或更高版本。 运行 Get-Module -ListAvailable Az
查找已安装的版本。 如果需要进行升级,请参阅 Install Azure PowerShell module(安装 Azure PowerShell 模块)。 如果在本地运行 PowerShell,则还需运行 Connect-AzAccount
来创建与 Azure 的连接。
创建资源组
使用 New-AzResourceGroup 创建资源组。 此示例在 eastus 位置中创建一个名为 myResourceGroup 的资源组:
$rg = New-AzResourceGroup -Name myResourceGroup -Location EastUS
创建具有“Internet”路由首选项的公共 IP
以下命令在美国东部 Azure 区域新建路由首选项类型为“Internet”的公共 IP:
$iptagtype="RoutingPreference"
$tagName = "Internet"
$ipTag = New-AzPublicIpTag -IpTagType $iptagtype -Tag $tagName
# attach the tag
$publicIp = New-AzPublicIpAddress `
-Name "MyPublicIP" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-IpTag $ipTag `
-AllocationMethod Static `
-Sku Standard `
-IpAddressVersion IPv4
可以将上面创建的公共 IP 地址与 Windows 或 Linux 虚拟机相关联。 请参阅“教程”页上的“CLI”部分:将公共 IP 地址与虚拟机相关联,以将公共 IP 关联到 VM。 也可将上面创建的公共 IP 地址与 Azure 负载均衡器相关联,只需将其分配给负载均衡器前端配置即可。 此公共 IP 地址充当负载均衡型虚拟 IP 地址 (VIP)。
清理资源
如果不再需要资源组、VM 和所有相关资源,可以使用 Remove-AzResourceGroup 命令来删除它们。
Remove-AzResourceGroup -Name myResourceGroup