Q22 — AWS SAA-C03 第6章
第 22/65 题 | ← 返回第6章
Q387.一家公司最近将其 Web 应用程序迁移到 AWS 云.该公司使用 Amazon EC2 实例运行多个进程来托管应用程序.这些进程包括一个提供静态内容的 Apache Web 服务器. Apache Web 服务器向使用本地 Redis 服务器进行用户会话的 PHP 应用程序发出请求.该公司希望重新设计架构,使其具有高可用性并使用 AWS 托管解决方案.哪种解决方案可以满足这些要求?
- A. 使用 AWS Elastic Beanstalk 托管静态内容和 PHP 应用程序.配置 Elastic Beanstalk 以将其 EC2 实例部署到公有子网中.分配公共IP地址
- B. 使用 AWS Lambda 托管静态内容和 PHP 应用程序.使用 Amazon API Gateway REST API 将请求代理到 Lambda 函数.设置API网关CORS配置响应域名.配置 Amazon ElastiCache for Redis 以处理会话信息
- C. 将后端代码保留在 EC2 实例上.创建启用了多可用区的 Amazon ElastiCache for Redis 集群.在集群模式下配置 ElastiCache for Redis 集群.将前端资源复制到 Amazon S3.配置后端代码以引用EC2实例
- D. 将具有 Amazon S3 终端节点的 Amazon CloudFront 分配配置到配置为托管静态内容的 S3 存储桶.配置面向 Amazon Elastic Container Service (Amazon ECS) 服务的 Application Load Balancer,该服务为 PHP 应用程序运行 AWS Fargate 任务.配置 PHP 应用程序以使用在多个可用区中运行的 Amazon ElastiCache for Redis 集群 ✓
正确答案: 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 等托管服务相同级别的可扩展性和容错能力.