使用可访问性分析器可视化和诊断 亚马逊云科技 账户间的网络可访问性

在 亚马逊云科技 上使用属于多个 亚马逊云科技 账户的资源进行网络设计是很常见的。例如,您可能有多个带有 虚拟私有云 (VPC) 的 亚马逊云科技 账户,这些账户与中央网络账户 中的 亚马逊云科技 Transit Gatew ay 相连。您可能需要确定或诊断不同 亚马逊云科技 账户中的 亚马逊云科技 资源之间的网络可访问性。 例如,您可能需要确定位于您的 亚马逊云科技 组织中不同 亚马逊云科技 账户中的一对 亚马逊弹性计算云 (Amazon EC2 ) 实例之间的网络可访问性。

在这篇文章中,我们展示了如何在跨多个 亚马逊云科技 账户的网络中使用可访问性分析器。首先,我们描述一个示例网络设计。

亚马逊云科技 上的多账户网络示例

您可以将工作负载部署到多个 亚马逊云科技 账户以 实现多种好处 ,例如能够按业务目的和所有权对工作负载进行分组,或者能够按环境应用不同的安全控制。例如,您可以通过将非生产和生产环境部署到单独的 亚马逊云科技 账户中,为给定工作负载应用不同的安全、网络和运营策略。此外,您可能有安全策略来确保非生产环境中的资源没有通往生产环境中资源的网络路径。

下图中的图表显示了一个多账户设置示例,其中有四个 VPC,每个 VPC 归不同的 亚马逊云科技 账户所有。此外,所有这些 VPC 都连接到部署在网络管理员帐户中的传输网关。账户 1 的 VPC 中有一个 Web 服务器,它必须与账户 4 的 VPC 中部署的数据库实例通信。

Figure 1: Example multi-account deployment

图 1:多账户部署示例

现在我们已经了解了示例网络,想象一下您必须确定 Web 服务器是否可以连接到 RDS 数据库。可访问性分析器现在可以跟踪部署在多个 亚马逊云科技 账户中的资源间的网络路径。在这篇文章中,我们演示了如何在多账户部署中设置可访问性分析器。

多账户可访问性分析器的工作原理

可访问性分析器是一项 Amazon VPC 功能,可分析您的网络配置并回答网络中源资源和目标资源之间是否存在网络路径的问题。 您可以指定各种 亚马逊云科技 资源作为来源和目的地,例如 EC2 实例、网络接口、VPC 终端节点、传输网关等。有关支持资源的完整列表,请参阅 VPC 可访问性分析器 文档。

借助 VPC 可访问性分析器 中的 亚马逊云科技 Organizations 支持,您现在可以分析组织 中不同 亚马逊云科技 账户中的源资源和目标资源之间的网络可访问性。

让我们来看看在多账户部署中使用可访问性分析器所需的步骤。

步骤 1:启用来自 亚马逊云科技 Organizations 的可访问性分析器的可信访问权限

首先,从贵组织的管理账户启用可访问性分析器的可信访问权限。启用可信访问授权可访问性分析器创建在组织中的 亚马逊云科技 账户上运行网络分析所需的与 亚马逊云科技 身份和访问管理 (IAM) Access Management 服务相关的角色。

为此,请登录贵组织的管理帐户,导航到 控制台 ,然后从左侧导航栏中选择 “可访问性分析器” 下的 “设置”。下图显示了此过程:

Figure 2: Enable Reachability Analyzer trusted access

图 2:启用可访问性分析器可信访问

步骤 2:为可访问性分析器选择委派管理员帐户

您可以将组织中的某些 亚马逊云科技 账户指定为可访问性分析器的委托管理账户。只有委托管理账户和组织的管理账户才能运行跨账户网络可访问性分析。

要选择委派管理员帐户,请从组织的管理帐户中选择 “注册委派管理员”,然后从下拉列表中选择要注册为委派管理员的帐户。以下两张图显示了该过程。

Figure 3: Register delegated administrator

图 3:注册委派管理员

Figure 4: Choose delegated administrator account

图 4:选择委派管理员账号

为可访问性分析器注册委派管理员是一项全局操作。将一个 亚马逊云科技 账户指定为委托管理员后,您就可以使用该账户中的可访问性分析器来跟踪该分区中任何 亚马逊云科技 区域的网络路径。

现在,您可以通过组织的管理账户或选定的委托管理员 亚马逊云科技 账户对组织中的 亚马逊云科技 账户进行网络可访问性分析。

步骤 3:分析网络路径

在本节中,我们将创建和分析来自委托管理员 亚马逊云科技 账户的网络路径。以下是我们将为其创建路径的示例网络拓扑。

Figure 5: Network Topology

图 5:网络拓扑

前面的图表显示了 VPC 可访问性分析器将检查的各种资源。例如,连接到每台服务器网络接口的安全组、连接到每个子网的网络访问控制列表 (NACL)、每个子网的路由表以及传输网关的路由表。这些配置资源在图中以紫色表示,其中一些资源以带有数字的黄色圆圈突出显示。我们将在本文后面的圆圈中提及这些数字。

要创建路径,请导航到 VPC-> 亚马逊云科技 网络管理器-> 监控和故障排除-> 可访问性分析器。选择创建和分析路径。选择来源类型、源帐户、来源、目标类型、目标帐户和目标,然后选择创建和分析路径。在这种情况下,源是 EC2 实例,目标是 RDS 数据库服务器的弹性网络接口。我们还在路径定义中加入了 TCP 端口 3306,因为这是 Web 服务器与数据库通信的端口。下图显示了路径的详细信息。

Figure 6: Reachability Analyzer Path details

图 6:可访问性分析器路径详情

之后,Reachability Analyzer 会分析源和目标之间的路径,并在控制台上提供分析结果。在此示例中,分析显示路径无法到达。路径详细信息部分显示了错误代码,如下图所示。

Figure 7: Path Analysis result

图 7:路径分析结果

上图中黄色圆圈中的数字对应于图 5 中网络图中的数字。在本例中,Reachability Analyzer 跟踪了部署在不同账户中的资源间的网络路径,并发现 Web 服务器与 RDS 数据库实例之间没有通信。“ENI_SG_RULES_MISMATCH” 的解释代码表示源和目标之间的通信被安全组阻止。每当分析发现阻塞路径时,VPC 可访问性分析器都会在路径详细信息页面上以红色突出显示该路径。在上图的示例中,路径被封锁的是连接到 RDS 数据库实例的弹性网络接口。如果您有多个中间资源阻塞了网络路径,VPC 可访问性分析器会在单个路径分析中显示所有这些资源。

此外,通过展开 “解释” 部分中的 “详细信息” 下拉列表,可以将路径分析的结果作为 JSON 对象查看,如下图所示。机器可读的 JSON 详细信息包括 explanationCode 字段,该字段可与自动化一起用于响应分析结果。

Figure 8: Path Analysis result as a JSON object

图 8:作为 JSON 对象的路径分析结果

既然我们知道了源实例无法访问 RDS 数据库的原因,我们可以通过更新与 RDS 数据库实例相关的安全组中的规则来修复它。更新后,可以再次分析相同的路径,如下图所示。

Figure 9: Path Analysis result after updating Security Group

图 9:更新安全组后的路径分析结果

如您所见,可访问性分析器显示 Web 服务器和 RDS 数据库实例之间有一条网络路径。选择 “路径详细信息” 以查看源和目标之间的完整路径。

在此示例中,我们讨论了 Reachability Analyzer 如何帮助排除多账户部署中的端到端联网路径故障,其中源资源、目标资源和所有中间网络资源都部署在不同的 亚马逊云科技 账户中。

结论

在这篇文章中,您学习了如何使用 VPC 可访问性 分析器来评估跨越多个 亚马逊云科技 账户中资源的网络路径,从而更好地了解您的网络配置。我们展示了一个评估路径以确定跨越三个 亚马逊云科技 账户的资源之间的可访问性的示例。您可以通过创建多条路径并定期分析这些路径来评估是否符合网络安全策略,从而扩展这一概念。
此功能现已推出,因此请尝试一下,如果您对此功能有任何疑问或发帖请联系 亚马逊云科技 S upport 告诉我们 。

作者简介

Ankit Chadha Headshot1.jpgAnkit Chadha

Ankit Chadha 是一名网络专家解决方案架构师,为 亚马逊云科技 的 亚马逊云科技 行业账户提供支持。他在设计和构建各种网络解决方案方面拥有超过13年的经验,例如MPLS主干、基于叠加/底层的数据中心和园区网络。在业余时间,Ankit 喜欢打板球、赢得猫咪的信任和阅读传记。

Maitreya-Headshot弥勒·兰加纳特

Maitreya 是一名 亚马逊云科技 安全解决方案架构师。他喜欢帮助客户解决安全与合规性挑战,并在 亚马逊云科技 上架构可扩展且具有成本效益的解决方案。