如何使用 ACL 限制两个 Azure VM 之间的访问?

如何使用 ACL 限制两个 Azure VM 之间的访问?

我有两个用于数据库和应用服务器的虚拟机,并且我希望应用服务器且只有应用服务器连接到数据库服务器。

它们位于同一个虚拟网络中。我正尝试通过保护端点来实现这一点。

使用 Azure,我可以看到,如果我关闭虚拟机,它们将获得新的 IP 地址,因此我无法在数据库服务器的 ACL 列表中对应用服务器的公共 IP 地址进行硬编码。如果我在 acl 中放置一个 vnet 范围(如 10.2.0.0/16),那么我需要我的应用服务器数据库连接字符串使用本地地址,但数据库的本地地址在关闭时也会发生变化。

我看到的唯一选项是设置 DNS 服务器。还有其他方法吗?

我可能可以将 DNS 角色添加到我的应用服务器。这似乎是一种常见的情况,人们通常如何处理这种情况?

编辑:我找到了如何使用 nslookup 获取 FQDN。这将解析为 10.xxx 地址,因此我可以在连接字符串中使用它。

答案1

答案2

您可以保留公有和私有 IP 地址以避免发生更改。

私有 IP 示例:

Get-AzureVM -ServiceName MyCloudService -Name MyVM | Set-AzureStaticVNetIP -IPAddress 10.10.0.7 | Update-AzureVM

公网 IP 示例:

New-AzureReservedIP –ReservedIPName MyReservedIP –Location "Central US"

Set-AzureReservedIPAssociation -ReservedIPName MyReservedIP -ServiceName MyCloudService 

关于 NSG 与 ACL,NSG 始终是更好的控制和管理选择。通常,我们谈论的是多台虚拟机,想象一下如果您必须一直添加/删除 ACL 规则。在 NSG 中,您可以为单个虚拟机、组甚至整个子网定义入站和出站规则。

如果您只需要管理几个虚拟机,那么就使用 ACL。默认情况下,ACL 将允许 0.0.0.0 作为开放端点。只要您将条目添加到列表中,它就会成为白名单,因此您可以添加应用服务器 IP 以仅允许其连接到您的数据库。

参考

保留 IP 概述

如何设置静态内部私有 IP

什么是端点访问控制列表 (ACL)?

什么是网络安全组 (NSG)?

相关内容