A company runs an e-commerce application on Amazon EC2 instances behind an Application Load Balancer. The instances run in an Amazon EC2 Auto Scaling group across multiple Availability Zones. The Auto Scaling group scales based on CPU utilization metrics. The ecommerce application stores the transaction data in a MySQL 8.0 database that is hosted on a large EC2 instance.
The database's performance degrades quickly as application load increases. The application handles more read requests than write transactions. The company wants a solution that will automatically scale the database to meet the demand of unpredictable read workloads while maintaining high availability.
Which solution will meet these requirements?
A. Use Amazon Redshift with a single node for leader and compute functionality.
B. Use Amazon RDS with a Single-AZ deployment Configure Amazon RDS to add reader instances in a different Availability Zone.
C. Use Amazon Aurora with a Multi-AZ deployment. Configure Aurora Auto Scaling with Aurora Replicas.
D. Use Amazon ElastiCache for Memcached with EC2 Spot Instances.
C
技巧:排除明显错误选项,在没有明显错误的选项中选择最合理的选项。
某公司在Amazon EC2实例上运行电子商务应用,该应用通过应用负载均衡器(Application Load Balancer)访问,并且实例在跨多个可用区的Amazon EC2 Auto Scaling组中运行,随着应用负载的增加,其MySQL 8.0数据库性能迅速下降。该应用处理的读请求多于写事务,该公司希望找到一种能够自动扩展数据库以满足不可预测的读工作负载需求,同时保持高可用性的解决方案。
A. 不正确。使用具有领导和计算功能的单节点Amazon Redshift。Amazon Redshift 是一种数据仓库服务,主要用于大规模数据分析和报告,而不是用于处理高并发的 OLTP(在线事务处理)工作负载。此外,单节点配置不适合处理高可用性和自动扩展的需求。
B. 不正确。使用单可用区(Single-AZ)部署的 Amazon RDS 。配置 Amazon RDS 以在不同可用区中添加只读实例。Amazon RDS 支持添加只读副本以分担读负载,但单可用区部署缺乏高可用性。如果主实例所在的可用区发生故障,整个数据库将不可用。此外,手动添加只读实例并不能满足自动扩展的需求。
C. 正确。使用多可用区(Multi-AZ)部署的 Amazon Aurora。配置Aurora自动扩展和Aurora副本。Amazon Aurora 是 AWS 的托管关系数据库服务,兼容 MySQL 和 PostgreSQL。Multi-AZ 部署提供了高可用性,可以在主实例发生故障时自动切换到备用实例。Aurora 自动扩展功能可以根据负载自动添加或移除 Aurora 副本,可以满足不可预测的读工作负载需求。
D. 不正确。使用 Amazon ElastiCache for Memcached 与 EC2 Spot 实例。Amazon ElastiCache 是一种内存缓存服务,可以加速应用程序的读取性能。然而,它并不能替代数据库,而是作为数据库的缓存层使用。此外,使用 EC2 Spot 实例虽然可以降低成本,但 Spot 实例可能会被 AWS 回收,不适合用于需要持续高可用性的数据库场景。