我理解“分步:通过 Azure 资源管理器(ARM)和 PowerShell 自动构建出站网络安全组规则”文章中的方法:允许 Azure 使用的所有内部使用的 IP 子网,然后阻止出站 Internet 流量。
但我认为这个子网列表并不是静态的,今天西欧有 437 个子网,接近每个 NSG 500 个 NSG 规则的最大值。
存储或 Linux 存储库等资源使用其中一些子网。它们不是通过静态 IP 访问的,而是有负载均衡器决定所使用的服务及其 IP 地址。这就是开放所有 Azure 子网的原因。
我需要阻止所有到“真实互联网服务器”的流量,并确保所需的内部服务可访问。
问题:
- 当添加新子网并且负载均衡器决定将此
新子网中的服务分配给我的请求时,我将无法访问它?这可能会导致我的应用程序服务降级。对吗? - 新发布的“服务端点”能解决这个问题吗?
- 除了“虚拟网络”、“AzureLoadBalancer”和“Internet”之外,是否计划在 NSG 规则中引入另一个可用的默认标签来处理“外部 Internet”或“Azure 内部”?
提前致谢!
提及的链接:
答案1
正如您所提到的,阻止所有到“internet”标签的流量的问题在于它还会阻止对 Azure PaaS 服务的访问。以前处理此问题的唯一方法是允许访问 Azure IP 范围,但正如您所指出的,这些范围有很多,而且它们会定期更改,这很麻烦。如果您要访问的服务的 IP 不在您的 NSG 编程允许出站的范围内,那么您将无法访问它。
MS 已开始通过使用服务标签。这些是类似于“Internet”的标签,您可以在 NSG 规则上配置它们,而不必指定整个地址范围。这里存在一些问题,首先该服务处于预览阶段,其次它目前仅包含存储和 Azure SQL。
如果您只需要 SQL 和存储,那么您可以继续使用这些服务标签来阻止对“互联网”的访问并允许对“存储”和“SQL”的访问
答案2
最近遇到了类似的情况,所有出站访问都被阻止。为了允许对我们需要的 Azure 服务(Azure 恢复服务等)进行受限访问。我们设置了一个 Azure 自动化 Runbook,它每晚运行一次,以从下面的链接检索 XML 列表,解析本地区域并更新 NSG。随着最近发布的增强安全规则,我们还可以将所有这些子网合并为一条规则。
关联:增强安全规则