有没有办法在Windows Azure中创建没有公共IP地址的虚拟机? 即使您在虚拟网络中创建VM,我们也无法控制Azure分配的公共IP。有没有办法禁用或删除Azure分配的公共IP?
答案 0 :(得分:4)
没有。 VM将始终具有公共IP地址。但您可以不分配任何Endpoints(保留未定义任何端点的VM) - 这将有效阻止VM在事件到达内部数据中心网络之前的所有和任何Internet流量。
总会有一个公共IP地址分配给部署了某些内容的任何Cloud Service。由您决定是否允许Internet流量到您的VM。这个决定是通过定义端点来做出的。
修改强>
使用Azure Resource Manager,您可以创建没有公共IP的VM。您可以在网络适配器上控制此设置。在Azure资源管理器中的网络适配器的IP配置中,您可以为“公共IP地址”设置指定“无”。
答案 1 :(得分:3)
从11/29/2016开始,这是不正确的您现在可以通过Azure门户在配置阶段选择将公共IP地址设置为NONE。这将仅允许VM所在的虚拟网络内的通信。
答案 2 :(得分:1)
使用资源组方法,您可以将公共IP分配为无。
它仍然有一个网络接口,可用于在虚拟网络中访问它。
答案 3 :(得分:0)
我在Twitter上发帖偶然发现了这个问题,发现没有最新的完整答案。
如今,可以在没有公共IP地址的情况下在Azure中创建虚拟机。查看下面的示例。它将创建一个VM,一个NIC和一个将在其中创建VM的VNet。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {
"my-super-secure-password": {
"type": "securestring"
}
},
"variables": {
},
"resources": [
{
"apiVersion": "2018-10-01",
"dependsOn": [
"my-project-prefix-nic"
],
"location": "westeurope",
"name": "my-project-prefix",
"properties": {
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": false
}
},
"hardwareProfile": {
"vmSize": "Standard_D8ds_v4"
},
"networkProfile": {
"networkInterfaces": [
{
"id": "[resourceId('Microsoft.Network/networkInterfaces','my-project-prefix-nic')]"
}
]
},
"osProfile": {
"adminPassword": "[parameters('my-super-secure-password')]",
"adminUsername": "jan",
"computerName": "my-project-prefix"
},
"storageProfile": {
"dataDisks": [
{
"createOption": "Empty",
"diskSizeGB": 512,
"lun": 0,
"managedDisk": {
"storageAccountType": "StandardSSD_LRS"
},
"name": "my-project-prefix-datadisk-0"
}
],
"imageReference": {
"publisher": "MicrosoftWindowsDesktop",
"offer": "Windows-10",
"sku": "20h1-pro-g2",
"version": "latest"
},
"osDisk": {
"createOption": "FromImage",
"diskSizeGB": 256,
"managedDisk": {
"storageAccountType": "StandardSSD_LRS"
},
"name": "my-project-prefix-osdisk"
}
}
},
"type": "Microsoft.Compute/virtualMachines"
},
{
"apiVersion": "2018-11-01",
"dependsOn": [
"my-project-prefix-vnet"
],
"location": "westeurope",
"name": "my-project-prefix-nic",
"properties": {
"ipConfigurations": [
{
"name": "ipconfig1",
"properties": {
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', 'my-project-prefix-vnet', 'my-project-prefix-subnet')]"
}
}
}
]
},
"type": "Microsoft.Network/networkInterfaces"
},
{
"apiVersion": "2018-11-01",
"location": "westeurope",
"name": "my-project-prefix-vnet",
"properties": {
"addressSpace": {
"addressPrefixes": [
"10.0.0.0/16"
]
},
"subnets": [
{
"name": "my-project-prefix-subnet",
"properties": {
"addressPrefix": "10.0.0.0/24",
"delegations": []
}
}
]
},
"type": "Microsoft.Network/virtualNetworks"
}
]
}
如您所见,我在创建VM时省略了the publicIPAddress
property。看到它不是强制属性,它仍然是有效资源。