Q20 — AWS SAA-C03 第16章
第 20/100 题 | ← 返回第16章
Q1220. 一位解决方案架构师需要设计一个无服务器架构来运行一个打包为 Docker 容器镜像的应用程序。该容器需要 50 GB 的可用存储空间来存储临时文件。哪种解决方案可以满足这些要求?
- A. 使用 AWS App Runner 部署 Docker 容器镜像。配置 50 GB 的临时存储。
- B. 创建一个使用 Docker 容器镜像的 AWS Lambda 函数。将一个存储空间超过 50 GB 的 Amazon Elastic Block Store (Amazon EBS) 卷附加到 Docker 容器。
- C. 创建一个使用 AWS Fargate 启动类型的 Amazon Elastic Container Service (Amazon ECS) 集群。为包含 Amazon Elastic File System (Amazon EFS) 卷的容器镜像创建任务定义。使用该任务定义创建 ECS 服务。 ✓
- D. 创建一个使用 Amazon EC2 启动类型的 Amazon Elastic Container Service (Amazon ECS) 集群。将一个存储空间超过 50 GB 的 Amazon Elastic Block Store (Amazon EBS) 卷附加到该 ECS 集群。为容器镜像创建任务定义。使用该任务定义创建 ECS 服务。
正确答案: C. 创建一个使用 AWS Fargate 启动类型的 Amazon Elastic Container Service (Amazon ECS) 集群。为包含 Amazon Elastic File System (Amazon EFS) 卷的容器镜像创建任务定义。使用该任务定义创建 ECS 服务。
解析
ACC。为了满足运行无服务器架构的应用程序(打包为 Docker 容器镜像)的要求,该应用程序需要 50 GB 的可用存储空间用于临时文件,最合适的解决方案是:C. 创建一个使用 AWS Fargate 启动类型的 Amazon Elastic Container Service (Amazon ECS) 集群。为包含 Amazon Elastic File System (Amazon EFS) 卷的容器镜像创建任务定义。使用该任务定义创建 ECS 服务。分析:带有 Amazon EFS 的 AWS Fargate:无服务器架构:AWS Fargate 是一款适用于容器的无服务器计算引擎,可与 Amazon ECS 和 Amazon Elastic Kubernetes Service (Amazon EKS) 配合使用。它允许您运行容器而无需管理服务器或集群。存储要求:Amazon EFS 提供可扩展的文件存储,可与 AWS 云服务和本地资源配合使用。它非常适合需要共享文件存储或大量临时存储的应用程序。通过将 EFS 卷附加到 ECS 中的任务定义,您可以为容器提供所需的 50 GB 临时文件存储空间。配置:您可以使用 Fargate 启动类型创建 ECS 集群,定义包含容器映像和 EFS 卷的任务规范,然后创建 ECS 服务来运行该任务。AWS App Runner(选项 A):局限性:虽然 AWS App Runner 是一项完全托管的容器应用程序服务,可以轻松地从容器镜像部署 Web 应用程序和 API,但它不像带有 Fargate 和 EFS 的 ECS 那样提供临时存储的直接配置选项。App Runner 更专注于简化容器化应用程序的部署和扩展,而不是提供对存储的细粒度控制。带有 Docker 容器映像的 AWS Lambda(选项 B):不适用性:AWS Lambda 支持运行容器镜像,但它并非为需要大量临时文件存储空间的应用程序而设计。Lambda 函数适用于短期事件驱动的工作负载,并且对存储量和执行时间有限制。Amazon ECS 与 Amazon EC2 启动类型(选项 D):非无服务器:虽然从技术上讲,此选项可以通过将 Amazon EBS 卷附加到 ECS 集群中的 EC2 实例来实现,但它不符合无服务器架构的要求。EC2 启动类型要求您管理底层 EC2 实例,这违背了无服务器架构不管理服务器的原则。总而言之,使用具有 AWS Fargate 启动类型的 Amazon ECS 并将 Amazon EFS 卷附加到任务定义是满足运行无服务器架构的 Docker 容器映像的要求的最合适的解决方案,该映像需要 50 GB 的可用存储空间用于临时文件。