Q22 — AWS SAA-C03 第6章

第 22/65 题 | ← 返回第6章

Q387.一家公司最近将其 Web 应用程序迁移到 AWS 云.该公司使用 Amazon EC2 实例运行多个进程来托管应用程序.这些进程包括一个提供静态内容的 Apache Web 服务器. Apache Web 服务器向使用本地 Redis 服务器进行用户会话的 PHP 应用程序发出请求.该公司希望重新设计架构,使其具有高可用性并使用 AWS 托管解决方案.哪种解决方案可以满足这些要求?

正确答案: D. 将具有 Amazon S3 终端节点的 Amazon CloudFront 分配配置到配置为托管静态内容的 S3 存储桶.配置面向 Amazon Elastic Container Service (Amazon ECS) 服务的 Application Load Balancer,该服务为 PHP 应用程序运行 AWS Fargate 任务.配置 PHP 应用程序以使用在多个可用区中运行的 Amazon ElastiCache for Redis 集群

解析

通过使用 S3 终端节点配置 Amazon CloudFront 分配,您可以以低延迟和高可用性高效地提供静态内容.通过使用应用程序负载均衡器 (ALB),您可以使用 AWS Fargate 在 Amazon ECS 上运行的 PHP 应用程序的多个实例之间分配流量.这提供了可扩展性和容错能力.将 PHP 应用程序配置为使用在多个可用区中运行的 Amazon ElastiCache for Redis 集群可确保会话信息高度可用并且能够承受故障.选项 A 不是最佳选择,因为它使用 Elastic Beanstalk,这是一种平台即服务 (PaaS) 产品,可能无法提供托管 PHP 应用程序和管理 Redis 服务器所需的灵活性和控制.选项 B 不是最佳选择,因为使用 AWS Lambda 托管 PHP 应用程序可能不适合 Web 服务器等长时间运行的进程.此外,使用 API Gateway 将请求代理到 Lambda 会增加不必要的复杂性.选项 C 无法有效利用 AWS 托管服务.将后端代码保留在 EC2 实例上需要手动管理,并且无法提供与使用 Amazon ECS 和 ElastiCache 等托管服务相同级别的可扩展性和容错能力.