【问题标题】:NSG outbound rule for VSTS Deployment GroupVSTS 部署组的 NSG 出站规则
【发布时间】:2018-05-11 18:57:11
【问题描述】:

我有一个带有 NSG 的 Azure VM,它需要将出站 Internet 访问限制为仅对必要的服务和应用程序进行(从最严格的开始,然后添加规则)。 Team Services 代理扩展也将与 ARM 模板一起安装(使用拒绝所有出站 Internet 规则下载失败)。

VSTS 使用的 IP 地址每周更改是否适用于部署组? Hosted Build 的 IP 有一个 similar question

我正在 VSTS 版本定义中创建虚拟机。在上面的链接中,我找到了一个答案,您可以调用 REST API 来获取最简单的 IP 地址,但是当我在浏览器中尝试此操作时,它看起来已被弃用。 (“抱歉!我们的服务现在不可用。”)关于如何在运行版本创建 VM 时为 NSG 应用 IP 的任何其他想法?

"可以动态获取当前构建代理的IP地址, 动态创建安全组(使用适用于 .NET 的 AWS 开发工具包)

打开构建定义>选择选项选项卡>选中允许脚本 访问 OAuth 令牌添加 PowerShell 步骤/任务(参数:-RestAddress https://starain.vsdtl.visualstudio.com/DefaultCollection/_apis/vslabs/ipaddress -Token $(System.AccessToken))。”

【问题讨论】:

    标签: azure azure-devops


    【解决方案1】:

    如果我没看错的话,你想使用 VSTS 管道创建一个虚拟机并且这个新的虚拟机应该托管一个 VSTS 代理,它可以在以后随时回调 VSTS。

    我认为没有解决方案。虽然在创建时为 VSTS 实例获取有效 IP 很容易,但您不能保证此 IP 将长期有效。您可能很幸运能够设置代理,但到 VSTS 的链接可能随时停止。

    这个问题本身很有趣,可以使用Azure PowerShell 任务来解决。该脚本将:

    1. 使用Resolve-DnsName cmdlet 将名称解析为IP 地址
    2. 使用Set-AzureRmNetworkSecurityGroup 等添加或更新 NSG 规则。

    【讨论】:

    • 该死,我认为你是对的,如果虚拟机长时间运行并且 IP 地址发生变化,这可能是一个问题。 :(
    • 但这是一个有趣的想法,它可能会尝试从 DNS 名称中查找 IP 地址——我将针对 VSTS 进行尝试,如果仅指定我的帐户的 IP 地址就足够了,我会报告回来.感谢您的想法!
    【解决方案2】:

    该API现在不可用,您可以尝试直接通过PowerShell任务获取IP和update NSG(例如$ip = Invoke-RestMethod http://ipinfo.io/json | Select -exp ip)PowerShell One Liner:Get External/Public IP Address

    另一方面,您使用私人代理:Deploy an agent on Windows

    【讨论】:

    • 有趣,感谢您的回复。你知道是否有一个 URL 可以直接获取 VSTS 的 IP,而不必下载 XML 文件并使用 PowerShell 解析它?
    • 你知道是否可以将 FQDN 或 VSTS' 的东西而不是 IP 列入白名单?
    • @m00nbeam360.0 据我所知,没有。也无法将 FQDN 或 VSTS 的东西列入白名单,有一个用户声音:feedback.azure.com/forums/217313-networking/suggestions/…
    猜你喜欢
    • 1970-01-01
    • 2019-09-03
    • 2022-11-14
    • 1970-01-01
    • 2020-04-04
    • 2021-10-17
    • 1970-01-01
    • 2020-11-30
    • 2018-08-05
    相关资源
    最近更新 更多