Q97 — AWS SAA-C03 第4章
第 97/105 题 | ← 返回第4章
Q292.一家公司正在 VPC 中部署一个两层 Web 应用程序. Web 层正在使用一个 Amazon EC2 Auto Scaling 组,该组具有跨越多个可用区的公共子网.数据库层由位于单独私有子网中的 Amazon RDS for MySQL 数据库实例组成. Web 层需要访问数据库以检索产品信息.Web 应用程序未按预期工作. Web 应用程序报告它无法连接到数据库.确认数据库已启动并正在运行.网络 ACL、安全组和路由表的所有配置仍处于默认状态.解决方案架构师应该建议什么来修复应用程序?
- A. 向私有子网的网络 ACL 添加一条显式规则以允许来自 Web 层的 EC2 实例的流量.
- B. 在 VPC 路由表中添加路由以允许 Web 层的 EC2 实例和数据库层之间的流量.
- C. 将web层的EC2实例和数据库层的RDS实例部署到两个独立的VPC中,并配置VPC对等.
- D. 向数据库层 RDS 实例的安全组添加入站规则以允许来自 Web 层安全组的流量. ✓
正确答案: D. 向数据库层 RDS 实例的安全组添加入站规则以允许来自 Web 层安全组的流量.
解析
要解决部署在公共子网中的web应用程序无法连接到部署在私有子网中的RDS DB实例的问题,解决方案架构师应该建议在数据库层的RDS实例的安全组中添加入站规则,以允许来自web层安全组的流量。因此,选项D是正确答案。 选项A建议在私有子网的网络ACL中添加一条显式规则,允许来自web层EC2实例的流量。但是,网络acl是无状态的,入站和出站规则都需要更新,以实现web层和数据库层之间的通信。 选项B建议在VPC路由表中增加一条路由,允许web层的EC2实例到数据库层的流量。但是,路由用于子网和internet网关之间的流量路由,而不是用于不同安全组之间的通信。 选项C建议将web层的EC2实例和数据库层的RDS实例部署到两个独立的VPC中,并配置VPC对等。虽然VPC对等可以实现部署在不同VPC中的资源之间的通信,但不需要解决当前的问题,并且增加了架构的复杂性。 通过在数据库层的RDS实例的安全组中添加入站规则来允许来自web层的安全组的流量,web层将能够使用DB实例端点与数据库层通信。安全组充当虚拟防火墙,在实例级别控制入站和出站流量。通过打开RDS实例关联的安全组,允许web层的Auto Scaling组关联的安全组的流量进入,实现web层和web层之间的通信。该方案满足了问题的要求,是解决问题最简单、最有效的方法。