标签: azure-virtual-network

配置了NSG规则的新Azure VM上的连接超时端口80

我刚刚使用(推荐)资源管理器部署模型在Microsoft Azure中创建了一个新的Ubuntu 14.04虚拟机.以下屏幕截图显示了部署配置和结果资源:

在此输入图像描述

部署之后,我通过公共IP使用SSH访问VM,登录并安装了nginx.我使用默认配置保留它并执行'curl localhost'以确保Web服务器正在运行.

然后,我转到了Network Security Group资源,并为端口80添加了允许规则到入站规则:

在此输入图像描述

然后我打开浏览器并尝试请求与NIC关联的公共IP并获得连接超时.

编辑:我可以通过取消NSG与NIC的关联来获取访问权限,但如果我重新关联它,我将在几分钟内再次被阻止.

我尝试使用相同的过程来设置带有IIS的Windows Server VM,但我得到了相同的结果.

我在这里错过了什么?

使用经典部署模型进行相同设置时,我没有遇到任何错误,这只在尝试推荐的资源管理器模型时发生.

azure azure-virtual-machine azure-virtual-network azure-resource-manager

7
推荐指数
2
解决办法
6355
查看次数

可以解决不同区域的VNET空间重叠吗?

我刚刚在美国西部创建了一个地址空间为10.0.0.0/16的新VNET,但在Azure门户网站上发出警告说,地址空间'10 .0.0.0/16'与虚拟网络xxx中的'10 .0.0.0/16'重叠.VNET xxx之前是在另一个地区创建的.

这真的是一个问题吗?

azure azure-virtual-network

7
推荐指数
1
解决办法
987
查看次数

如何使用虚拟网络保护从App Service到Azure Sql Database的访问?

脚本

我想使用虚拟网络来限制仅从我的App Service访问Azure数据库,以便我可以在防火墙设置中启用"允许访问App Services"

允许访问App Services屏幕截图

我做了什么:

  1. 我去了App Service - > Networking - > VNET Integration - > Setup - > Create New Virtual Network
  2. 我用默认设置创建了新的VNET.
  3. 创建VNET后,我进入App Service - > Networking - > VNET Integration并确保VNET已连接
  4. 我去了SQL Firewall settigs - > Virtual Network - > Add existing Virtual Newtork并选择了我的VNET.我已经离开默认子网和地址空间:"default/10.0.0.0/24"并且我已经取消选中IgnoreMissingServiceEndpoint标志.

我现在可以在我的VNET中看到Microsoft.Sql服务端点: 在此输入图像描述

但是,我还在

SqlException:无法打开登录请求的服务器'my-sqlserver'.IP地址为'52 .233的客户端..'不允许访问服务器:

我错过了什么?

firewall azure azure-web-sites azure-virtual-network azure-sql-database

7
推荐指数
2
解决办法
2807
查看次数

Azure Web应用程序静态出站 IP

我正在尝试解决一个问题。我必须从 Azure 托管的 Web API 访问托管在本地服务器 (on-prem) 上的 API。

问题是我的本地服务器只允许列入白名单的 IP。我知道我们可以从我们的 Web 应用程序(Azure 托管)获取出站 IP。但我不确定它们是静态的还是会根据缩放而改变。

另一个解决方案是创建 VNET 并将该 Web 应用程序添加到该 VNET 中。但我希望有人提出更好的解决方案。

azure azure-virtual-network azure-app-service-plans azure-application-gateway

7
推荐指数
2
解决办法
1万
查看次数

如何为 Azure 容器实例配置静态出站 IP

我必须通过静态出站 IP 同步一些数据,我需要事先将这些数据列入数据提供商的白名单。因此,我想为 ACI(Azure 容器实例)配置静态出站 IP 地址。如果没有经济高效的方法来执行此操作,我也可以决定将其配置为应用服务 Web 应用程序,但是,由于资源隔离,ACI 是首选。(因此,一名行为不端的工人无法让整个工人池瘫痪。)

作为参考,这里是我想要实现的目标的简单图表。为简单起见,我将 Web Apps 和 ACI 添加到映像中,但我只需要其中之一,最好是 ACI。

所需解决方案的简化图

我在过去几天阅读了相关的微软文档,所以我知道有多种方法可以做到这一点,但是,令我惊讶的是官方解决方案比我想象的要复杂和昂贵得多。

我尝试过的事情

  • 为应用服务计划配置 NAT(有效,但不是必需的)
  • 使用 ACI 在 vNet 前面部署防火墙(“官方”方式)
  • 在内部包含 ACI 的 vNet 前面配置 NAT(Azure 表示不支持,但可以)
  • 我也尝试过应用程序网关和负载均衡器,但它们仅适用于入站 IP 地址,因此与此问题无关

为应用服务 Web 应用配置 NAT
这可行,但不是所需的解决方案。我可以将 Web 应用程序放入 vNet 中的子网中,然后使用该子网的静态 IP 地址配置NAT 网关。这按预期工作,运行

curl api.ipify.org.
Run Code Online (Sandbox Code Playgroud)

Web 应用程序内将返回我在 NAT 网关中配置的静态 IP 地址。此方法的问题在于,它使用的 Web 应用程序在同一应用程序服务计划上的应用程序之间没有资源使用隔离。

使用 ACI 在 vNet 前面部署防火墙
这是文档中建议的“官方方法”。(顺便说一句,我永远无法按照指南使其工作,但这不是主要问题。)我的主要问题是复杂性和价格。我们不需要防火墙,添加一个防火墙和管理它的负担是我们在这个特定项目中不需要的额外复杂性。价格也很荒谬,我们想要配置一个静态出站 IP,而建议的方式所带来的价格涨幅比我们为应用程序的其余部分支付的价格还要大。(我们每月支付约 400 美元,防火墙起价约 600 美元。)

所以这不是首选。

在包含 ACI 的 vNet …

nat azure azure-virtual-network azure-container-instances

7
推荐指数
1
解决办法
1486
查看次数

如何在通过 Terraform 在托管 vNet 上部署数据工厂 Azure IR 时启用交互式创作?

我使用下面的 Terraform 代码在托管虚拟网络中部署数据工厂 Azure IR:

resource "azurerm_data_factory_integration_runtime_azure" "ManagedIR" {
  name            = "ManagedIR"
  data_factory_id = azurerm_data_factory.datafactory.id
  location        = var.location
  resource_group_name = "****"
  virtual_network_enabled = true
  time_to_live_min = 60
}
Run Code Online (Sandbox Code Playgroud)

但成功部署后,我看到“交互式创作”被禁用,如下所示: 残疾人

Terraform 中是否有任何设置可以让我启用“交互式创作”?

azure-virtual-network terraform azure-data-factory infrastructure-as-code

7
推荐指数
1
解决办法
3647
查看次数

无法分配所需的地址空间

在Windows Azure上部署新的Web角色时,我收到此错误: 无法为部署在指定虚拟网络中包含的新子网或预定义子网中分配所需的地址空间. 我已经找到了解决方案,但没有找到解决方案.有人有想法吗?

我的cscfg文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="Application.Cloud" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="3" osVersion="*" schemaVersion="2013-03.2.0">
  <Role name="WebApplication" vmName="vm001">
    <Instances count="1" />
    <ConfigurationSettings>
        ...
    </ConfigurationSettings>
    <Certificates>
      <Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption" thumbprint="..." thumbprintAlgorithm="sha1" />
    </Certificates>
  </Role>
  <Role name="Application.ServiceOpdrachten" vmName="vm002">
    <Instances count="1" />
    <ConfigurationSettings>
      ...
    </ConfigurationSettings>
    <Certificates>
      <Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption" thumbprint=".." thumbprintAlgorithm="sha1" />
    </Certificates>
  </Role>
  <NetworkConfiguration>
    <VirtualNetworkSite name="VirtualNetwork" />
    <!-- The virtual network name must match the name of the vvirtual network configured in your subscription. -->
    <AddressAssignments>
      <!-- You must map each role in your cloud …
Run Code Online (Sandbox Code Playgroud)

azure azure-web-roles azure-virtual-network

6
推荐指数
1
解决办法
2621
查看次数

Azure vnet/子网列出连接的设备

我正在尝试编写一个 PowerShell 脚本,列出所有订阅中所有 VNet 的子网中具有 ip 的所有已连接设备。

更新以下脚本有效,向下滚动以查找原始问题。

$subs = Get-AzSubscription 
foreach ($Sub in $Subs) {
    Write-Host "***************************"
    Write-Host " "
    $Sub.Name 

    $SelectSub = Select-AzSubscription -SubscriptionName $Sub.Name

    $VNETs = Get-AzVirtualNetwork 
    foreach ($VNET in $VNETs) {
        Write-Host "--------------------------"
        Write-Host " "
        Write-Host "   vNet: " $VNET.Name 
        Write-Host "   AddressPrefixes: " ($VNET).AddressSpace.AddressPrefixes

        $vNetExpanded = Get-AzVirtualNetwork -Name $VNET.Name -ResourceGroupName $VNET.ResourceGroupName -ExpandResource 'subnets/ipConfigurations' 

        foreach($subnet in $vNetExpanded.Subnets)
        {
            Write-Host "       Subnet: " $subnet.Name
            Write-Host "          Connected devices " $subnet.IpConfigurations.Count
            foreach($ipConfig in $subnet.IpConfigurations)
            {
                Write-Host …
Run Code Online (Sandbox Code Playgroud)

azure azure-virtual-network azure-powershell

6
推荐指数
1
解决办法
9555
查看次数

使用 terraform 在 Azure 中为每个可用区创建子网

我正在尝试使用 terraform 在 Azure 中的每个可用区创建子网。我正在使用下面的代码来创建子网。

resource "azurerm_subnet" "public_subnet" {
  name                 = "public_subnet"
  virtual_network_name = azurerm_virtual_network.vnet.name
  resource_group_name  = azurerm_resource_group.terraform_rg.name
  address_prefix       = "10.20.10.0/24"
}
Run Code Online (Sandbox Code Playgroud)

我的要求在AWS中是可以实现的。由于我是 Azure 的新手,我不确定是否可以在 Azure 中执行相同的操作。如果有人伸出援手来帮助我,那就太好了。

提前致谢!

azure azure-virtual-network terraform

6
推荐指数
1
解决办法
6274
查看次数

如何在二头肌中输出资源ID

如何在二头肌中输出资源id,在创建子网时我们如何获取输出字符串,虚拟网络语法如下所示

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2019-11-01' = {
  name: vnetName
  location: resourceGroup().location
  properties: {
    addressSpace: {
      addressPrefixes: [
        '10.0.0.0/16'
      ]
    }
    subnets: [
      {
        name: 'subnetpoc-1'
        properties: {
          addressPrefix: '10.0.3.0/24'
        }
      }
      {
        name: 'subnetnetpoc-2'
        properties: {
          addressPrefix: '10.0.4.0/24'
        }
      }
    ]
  }
}

// output subnet string = ""
Run Code Online (Sandbox Code Playgroud)

azure azure-virtual-network azure-resource-manager azure-bicep

6
推荐指数
1
解决办法
1万
查看次数