DOP-C02 题库 · 最新 50 题免费预览(第 3/5 页)
DOP-C02(AWS Certified DevOps Engineer Professional (DOP-C02))最新题库第 21–30 题,共 5 页 50 题,含答案与中英解析,无需登录。点此进入在线题库练习全部 951 题。
第 21 题 · 题号 922 · 单选
一家公司正在开发一个电子商务应用程序,该应用程序的后端运行在 Amazon EC2 实例上。该应用程序拥有一个静态前端网站,托管在 Amazon S3 存储桶中。该公司使用 GitHub 仓库进行版本控制,并且必须在每次代码推送到主分支时自动执行构建和部署。该公司必须独立部署前端和后端的更改。哪种解决方案能满足这些要求?
- A. 创建一个单一的 AWS CodePipeline 管道,用于前端和后端。指定 GitHub 仓库作为源代码。配置两个构建阶段,分别使用 AWS CodeBuild 作为操作提供程序来构建前端组件和后端组件。配置两个部署阶段,分别使用 AWS CodeDeploy 作为操作提供程序来部署前端和后端。
- B. 创建一个单一的 AWS CodePipeline 管道,用于前端和后端。将 GitHub 仓库指定为源代码。配置两个构建阶段,分别使用 AWS CodeBuild 作为操作提供程序来构建前端组件和后端组件。配置两个部署阶段。对于后端阶段,使用 AWS CodeDeploy 作为操作提供程序,将后端部署到 EC2 实例。对于前端阶段,使用 Amazon S3 作为操作提供程序,将前端部署到 S3 存储桶。
- C. 创建两条 AWS CodePipeline 流水线:一条用于前端,一条用于后端。将 GitHub 仓库指定为源。配置一个构建阶段,使用 AWS CodeBuild 作为每个流水线的操作提供程序,以构建前端和后端。配置一个部署阶段,使用 AWS CodeDeploy 作为每个流水线的操作提供程序,以部署前端和后端。
- D. 创建两个 AWS CodePipeline 流水线:一个用于前端,一个用于后端。指定 GitHub 仓库作为源代码来源。为每个流水线配置一个构建阶段,使用 AWS CodeBuild 作为操作提供程序来分别构建前端和后端。对于后端流水线,使用 AWS CodeDeploy 作为操作提供程序,将后端部署到 EC2 实例。对于前端流水线,使用 Amazon S3 作为操作提供程序,将前端部署到 S3 存储桶。
答案: D
解析: 关键要求是:(1) 在代码推送到主分支时自动化构建和部署;(2) 前后端必须独立部署。选项 D 使用了两条独立的 AWS CodePipeline 流水线——一条用于前端,一条用于后端——从而实现了独立部署。此外,它正确地使用 Amazon S3 作为前端的部署操作提供程序(因为前端托管在 S3 上),并使用 AWS CodeDeploy 作为后端的部署操作提供程序(因为后端运行在 EC2 实例上)。选项 A 和 C 失败的原因是 AWS CodeDeploy 无法将静态前端资产部署到 S3 存储桶(S3 有其原生的部署集成)。选项 B 失败的原因是使用单条流水线意味着任何推送到主分支的代码更改都会同时触发前后端的部署,违反了独立部署的要求。
第 22 题 · 题号 923 · 单选
一家公司为其运行在 Amazon EC2 实例上的关键 Web 应用程序设定了 24 小时的 RPO(恢复点目标)和 10 分钟的 RTO(恢复时间目标)。该公司使用 AWS Organizations 来管理其 AWS 账户。该公司希望为其 AWS 环境设置 AWS Backup。一名 DevOps 工程师为 AWS Backup 配置了 AWS Organizations。该 DevOps 工程师创建了一个新的集中式 AWS 账户用于存储备份。每个 EC2 实例附加了四个 Amazon Elastic Block Store(Amazon EBS)卷。哪种解决方案能以最安全的方式满足此要求?
- A. 在两个账户中创建加密的备份保管库和客户管理的 AWS KMS 密钥。配置 AWS Backup,将 EC2 的完整备份创建为 AMI,并将备份复制到集中式保管库。
- B. 使用源账户的 AWS KMS 密钥在两个账户中创建加密保管库。配置 AWS Backup 以创建 EC2 AMI。将这些 AMI 复制到集中式保管库。
- C. 在两个账户中创建备份保管库。使用 AWS 托管密钥进行加密。配置 AWS Backup 以创建 EC2 AMI。将 AMI 复制到集中式保管库。
- D. 在两个账户中创建加密保险库。在源账户中使用客户管理的 KMS 密钥。在集中账户中使用 AWS 托管密钥。配置 AWS Backup 以创建 EC2 AMI。将 AMI 复制到集中保险库。
答案: A
解析: 选项A是最安全的,因为它在源账户和集中账户中都使用了客户管理的KMS密钥。这使公司能够完全控制加密密钥,包括密钥轮换、访问策略和审计功能。客户管理的密钥在账户之间提供了更好的安全边界,并确保组织保持对其加密基础设施的控制。在两个账户中都使用客户管理的密钥还可以实现适当的职责分离,并符合可能要求客户控制加密密钥的合规性要求。
第 23 题 · 题号 924 · 单选
一家公司希望主动监控并响应可能影响应用程序的 AWS 服务问题。该公司必须将 AWS Health 事件与应用程序性能指标相关联,并设置自动警报。该解决方案必须使公司能够归档事件、测试不同场景下应用程序的延迟,以及创建自定义指标。哪种解决方案能够满足这些要求?
- A. 使用 AWS CloudTrail 记录所有 AWS Health 事件。使用 Amazon Athena 查询日志,并将这些日志与存储在 Amazon Timestream for LiveAnalytics 中的应用程序指标进行关联。设置 AWS Chatbot 以接收实时通知。
- B. 使用 Amazon EventBridge 将 AWS Health 事件路由到 Amazon CloudWatch Logs。为 AWS Health 事件创建指标筛选器。在 CloudWatch 中创建基于应用程序性能数据的自定义指标。设置 CloudWatch 警报,将 AWS Health 事件与自定义指标相关联。
- C. 配置 AWS Health Dashboard 以向 Amazon Simple Notification Service (Amazon SNS) 发送通知。使用 AWS Lambda 将通知与指标关联,并更新 Amazon CloudWatch 中的自定义指标。为自定义指标设置 CloudWatch 警报。使用 AWS Systems Manager 进行自动修复。
- D. 配置 AWS X-Ray 以跟踪 AWS Health 事件和应用程序性能。使用 Amazon QuickSight 可视化事件和指标之间的相关性。使用 Amazon GuardDuty 检测应用程序行为中的异常并提供警报。
答案: B
解析: 选项B是最佳解决方案,因为它满足所有要求:1) Amazon EventBridge可以原生捕获和路由AWS Health事件;2) CloudWatch Logs提供归档事件的能力;3) 可以根据应用程序性能数据在CloudWatch中创建自定义指标;4) CloudWatch告警可以将AWS Health事件与自定义指标相关联以提供自动告警;5) CloudWatch允许在不同场景下测试应用程序延迟(例如使用CloudWatch Synthetics canaries)。选项A不正确,因为AWS CloudTrail用于API审计,而非AWS Health事件,且AWS Chatbot不提供关联分析能力。选项C不正确,因为AWS Health Dashboard的自动化能力有限,且不提供全面的事件归档。选项D不正确,因为X-Ray用于应用程序追踪(而非AWS Health事件),GuardDuty用于安全威胁检测(而非性能关联),QuickSight用于可视化(而非自动关联分析)。
第 24 题 · 题号 925 · 多选
一家公司使用CI/CD管道在ap-southeast-2区域部署其工作负载。该公司通过网络负载均衡器(NLB)接收图像,并在Amazon Elastic Container Service(Amazon ECS)集群上的AWS Fargate任务中处理这些图像。Amazon Elastic Container Registry(Amazon ECR)存储库将这些图像存储为Docker镜像。该公司使用Amazon Route 53配置DNS。该公司将图像保存在Amazon S3存储桶中,并将图像的元数据保存在Amazon DynamoDB表中。该公司希望将工作负载扩展到第二个区域。DevOps工程师需要构建一个高可用且具有弹性的设计,以将工作负载扩展到eu-west-2区域。哪种步骤组合能够以最少的配置更改满足这些要求?(选择三项)
- A. 在存储库上配置 ECR 复制到 eu-west-2 区域。在 eu-west-2 配置一个网络负载均衡器(NLB),该负载均衡器解析到 eu-west-2 中 ECS 集群的 Fargate 任务。在 Route 53 中为这两个工作负载配置延迟路由策略。
- B. 将 DynamoDB 表配置为全局表,并在 eu-west-2 区域创建一个副本。配置 Fargate 任务以与 ap-southeast-2 区域的 DynamoDB 表进行交互。
- C. 将 DynamoDB 表配置为全局表,并在 eu-west-2 区域创建一个副本。配置 Fargate 任务,使其与运行任务所在同一区域的 DynamoDB 表进行交互。
- D. 在欧洲西部2(eu-west-2)区域配置一个新的S3存储桶。在亚太东南2(ap-southeast-2)区域的S3存储桶与欧洲西部2区域的S3存储桶之间配置数据复制。配置Fargate任务,使其使用与任务运行所在区域相同的S3存储桶来执行S3的PUT操作和GET操作。
- E. 为 ap-southeast-2 中的 S3 存储桶和一个新的位于 eu-west-2 的 S3 存储桶配置 S3 多区域接入点。在这些 S3 存储桶之间配置双向复制。将工作负载配置为使用该多区域接入点进行 S3 PUT 操作和 GET 操作。
- F. 配置 CI/CD 流水线,将 ECR 镜像部署到两个区域。在 eu-west-2 配置一个 NLB,指向 eu-west-2 中 ECS 集群的 Fargate 任务。在 Route 53 中为这两个工作负载配置故障转移路由策略。
答案: A, C, E
第 25 题 · 题号 926 · 单选
一家公司使用 AWS Organizations、AWS Control Tower、AWS Config 和 Terraform 来管理其 AWS 账户和资源。该公司必须确保用户只能在成员 AWS 账户中部署连接到 VPC 的 AWS Lambda 函数。哪种解决方案能够以最少的运维工作量来满足这些要求?
- A. 配置 AWS Control Tower 以使用主动控制(护栏)。在所有 OU 上启用由 AWS CloudFormation 钩子为 Lambda 实现的可选控制(护栏)。
- B. 创建一个新的 SCP。包含一个条件语句,该语句使用 StringEquals 条件运算符来检查 lambd:VpcIds 条件键与一组 VPC ID 的匹配情况。将该 SCP 配置为:如果该条件键的值与其中一个 VPC ID 匹配,则允许 lambda CreateFunction 动作和 lambda UpdateFunctionConfiguration 动作。
- C. 在 AWS Config 中创建一条自定义规则,以检测在创建或更新任何 Lambda 函数时未连接到 VPC 的 Lambda 函数。
- D. 创建一个新的 SCP。包含一个条件语句,该语句使用空条件运算符来确定是否缺少 Lambda 的 VpcIds 条件键。如果缺少该条件键,则将该 SCP 配置为拒绝 Lambda 的 CreateFunction 操作和 UpdateFunctionConfiguration 操作。
答案: D
第 26 题 · 题号 927 · 单选
一位 DevOps 工程师计划使用 AWS 云开发工具包(AWS CDK)来管理基于微服务的应用程序的基础设施即代码(IaC)。该 DevOps 工程师必须为常见的基础设施模式创建可重用的组件,并且必须在不同的微服务之间应用相同的成本分配标签。哪种解决方案能满足这些要求?
- A. 创建一个自定义的 CDK 构造库,其中包含常见的基础设施模式。创建一个 CDK 应用程序。使用 TagManager 类为整个应用程序添加成本分配标签。使用自定义的 CDK 构造库编写一个包含所有微服务的高级构造。将微服务作为单个 CDK 堆栈进行部署,并使用特定于环境的配置。
- B. 创建一个自定义的 CDK 构造库,其中包含常见的基础设施模式。创建一个 CDK 应用程序。使用 Tags 类为整个应用程序添加成本分配标签。使用自定义的 CDK 构造库为每个微服务编写更高级别的构造。将微服务作为单独的 CDK 堆栈进行部署,并使用特定于环境的配置。
- C. 创建包含常见基础设施组件的 AWS Service Catalog 产品。创建一个 CDK 应用程序。使用 TagManager 类为整个应用程序添加成本分配标签。使用 Service Catalog 产品编写一个包含所有微服务的高级构造。将其作为单个 CDK 堆栈(包含特定于环境的配置)部署这些微服务。
- D. 创建包含常见基础设施组件的 AWS Service Catalog 产品。创建一个 CDK 应用程序。使用 Tags 类为整个应用程序添加成本分配标签。使用 Service Catalog 产品为每个微服务编写更高级别的构造。使用特定于环境的配置将微服务部署为单独的 CDK 堆栈。
答案: B
解析: 选择B选项的原因如下:1) 自定义CDK构造库是创建可重用组件以应对常见基础设施模式的最佳方法,因为CDK构造专门为此目的而设计,并允许代码重用。2) Tags类(来自aws-cdk-lib)是在CDK应用程序中全局应用标签的合适的公共API,确保相同的成本分配标签一致地应用于不同的微服务。TagManager是一个较低级别的内部类,通常不会直接在应用程序级别使用。3) 将微服务部署为单独的CDK堆栈可以提供更好的隔离、独立的部署能力,并允许针对特定环境的配置。4) 为每个微服务使用更高级别的构造在保持可重用性的同时,为独立微服务管理提供了所需的灵活性。
第 27 题 · 题号 928 · 多选
一家公司运行一个使用 Amazon S3 存储桶存储图像的应用程序。DevOps 工程师需要为这些 S3 对象实施多区域灾难恢复 (DR) 策略。该 DevOps 工程师在两个 S3 存储桶之间启用了双向复制。该公司必须能够故障转移(failover)到位于第二个 AWS 区域的第二个 S3 存储桶。当图像添加到任一 S3 存储桶时,该图像必须在 15 分钟内被复制到另一个 S3 存储桶。哪些步骤组合将以最具运维效率的方式满足这些要求?(选择三项。)
- A. 为配置中使用的每个复制规则启用 S3 复制时间控制(S3 RTC)。
- B. 创建一个采用主动-被动配置的 S3 多区域访问点。
- C. 在公司需要故障转移到第二个区域中的 S3 桶时,请调用 Amazon S3 API 中的 SubmitMultiRegionAccessPointRoutes 操作。
- D. 在两个S3存储桶上启用S3传输加速功能。
- E. 在 Amazon Route 53 应用程序恢复控制器中配置路由控制。以主动-被动配置添加两个 S3 存储桶。
- F. 使用 Amazon Route 53 应用程序恢复控制器,将流量从主存储桶切换到第二个区域中的故障转移存储桶。
答案: A, B, C
解析: 正确的答案是A、B和C。 A. 为配置中使用的每个复制规则启用S3复制时间控制(S3 RTC) - 这为复制提供了15分钟的服务等级协议(SLA),直接满足图像必须在15分钟内完成复制的需求。S3 RTC保证99.9%的对象在15分钟内完成复制,并提供可监控的复制指标。 B. 创建主动-被动配置的S3多区域访问点(Multi-Region Access Point) - 这为跨区域的S3存储桶提供了统一的访问点,支持主动-被动配置,允许在正常情况下所有请求路由到主区域,故障转移时切换到备用区域。 C. 当公司需要故障转移到第二个区域的S3存储桶时,在Amazon S3 API中调用SubmitMultiRegionAccessPointRoutes操作 - 这是用于在多区域访问点配置中将流量从主存储桶切换到备用区域故障转移存储桶的官方API,支持按存储桶级别控制流量路由。 选项D不正确,因为S3传输加速(Transfer Acceleration)是用于加速从最终用户上传对象到S3存储桶的服务,与跨区域复制或灾难恢复故障转移无关。 选项E和F不正确,因为虽然Amazon Route 53应用程序恢复控制器(ARC)可以用于编排的流量切换,但对于S3存储桶的故障转移而言,使用多区域访问点配合SubmitMultiRegionAccessPointRoutes API是更具运营效率的原生解决方案,无需额外的DNS配置层,且与S3存储桶的集成更加紧密。
第 28 题 · 题号 929 · 单选
一家公司正在开发一款移动应用程序,需要在多种设备类型上进行广泛的自动化测试。该公司使用 AWS CodePipeline 作为其 CI/CD 管道。该公司必须实施一个可扩展的测试解决方案,能够随着应用程序的增长处理增加的测试负载。哪种解决方案将以最少的管理开销满足这些要求?
- A. 将 AWS Device Farm 集成到流水线中,以运行测试并根据需要进行扩展。
- B. 部署一系列 Amazon EC2 实例,配备各种移动设备模拟器,并启用自动扩展功能来运行测试。创建一个自定义的 AWS Lambda 函数,用于触发 EC2 测试运行。
- C. 实施一个容器化的测试解决方案,使用具有自动扩缩功能的 Amazon Elastic Container Service(Amazon ECS)。配置管道以调用 AWS Lambda 函数在 ECS 集群上启动测试运行。
- D. 使用 AWS Lambda 函数与自定义运行时模拟器来运行测试。将 Lambda 函数集成到管道中。
答案: A
解析: AWS Device Farm 是一项完全托管的服务,专门用于在各种真实设备上测试移动应用程序。它可以自动扩展以处理不断增加的测试负载,无需公司管理任何基础设施。与其他选项相比,它需要最少的管理开销,因为:选项 B 需要配置和管理带有模拟器的 EC2 实例;选项 C 需要管理容器和 ECS 集群;选项 D 需要复杂的自定义开发才能在 Lambda 中运行移动设备模拟器。Device Farm 可以与 CodePipeline 无缝集成,并自动处理扩展问题。
第 29 题 · 题号 930 · 单选
一家公司有一个应用程序,可将日志流式传输到 Amazon CloudWatch Logs 日志组。这些日志必须可供团队在 CloudWatch 中搜索至少 30 天。日志必须在至少 90 天内能够以低延迟访问。180 天后,日志检索的需求很少,且延迟并不重要。一名 DevOps 工程师创建了一个 Amazon S3 存储桶来存储日志。日志的可用性指标和数据保护对公司非常重要。哪种解决方案能够以最具成本效益的方式满足这些要求?
- A. 配置日志组的保留期为 30 天,并使用访问频率较低的日志类。创建一个 CloudWatch 指标流,使用 Amazon Kinesis Data Streams 将日志事件发送到 S3 存储桶。创建一个 S3 生命周期策略,在 90 天后将对象移至 Amazon S3 Standard-Infrequent Access (S3 Standard-IA) 存储类,并在 180 天后移至 Amazon Glacier Flexible Retrieval。
- B. 将日志组的保留期配置为 30 天,并使用低频访问日志类。创建一个 CloudWatch 指标流,使用 Amazon Data Firehose 将日志事件发送到 S3 存储桶。创建一个 S3 生命周期策略,在 90 天后将对象移至 Amazon S3 单区低频访问(S3 One Zone-IA),并在 180 天后移至 Amazon S3 Glacier 灵活检索。
- C. 配置日志组的保留期为 30 天。创建一个使用 Amazon Kinesis Data Streams 的 CloudWatch 订阅筛选器,通过写入文件将日志事件发送到 S3 存储桶。创建一个 S3 生命周期策略,在 90 天后将对象移动到 Amazon S3 Standard-Infrequent Access (S3 Standard-IA),并在 180 天后移动到 Amazon S3 Glacier Instant Retrieval。
- D. 将日志组的保留期配置为30天。创建一个使用Amazon Data Firehose将日志事件发送到S3存储桶的CloudWatch订阅过滤器。创建一个S3生命周期策略,将对象在90天后移至Amazon S3 Standard-Infrequent Access(S3 Standard-IA),并在180天后移至Amazon S3 Glacier Deep Archive。
答案: D
解析: 选项 D 是满足所有要求的最具成本效益的解决方案:(1) CloudWatch 中保留 30 天(标准日志类)允许在前 30 天内进行实时搜索。(2) 使用 Amazon Data Firehose 的 CloudWatch 订阅筛选比 Kinesis 数据流更具成本效益,因为 Firehose 完全托管且无服务器,可自动扩展。(3) 90 天后使用 S3 Standard-IA 可在 30-180 天期间提供低延迟访问和多可用区数据保护。(4) 180 天后使用 S3 Glacier Deep Archive 是长期归档(对延迟不敏感)的最便宜存储层。选项 A 和 B 错误,因为它们使用 CloudWatch Logs 不频繁访问日志类,不支持在 CloudWatch Logs Insights 中进行实时搜索/查询。选项 C 使用 Kinesis 数据流(比 Firehose 更贵)和 Glacier 即时检索(对于罕见访问比 Deep Archive 更贵)。选项 B 使用 S3 One Zone-IA,仅将数据存储在单个可用区中,未满足数据保护要求。
第 30 题 · 题号 931 · 单选
一家公司在 AWS Organizations 中拥有一个组织。该组织已启用所有功能,并为管理账户配置了 AWS CloudTrail 可信访问权限。已配置一个 Amazon Simple Notification Service (Amazon SNS) 主题用于通知。该公司需要记录和保留该组织中所有 AWS 区域的所有 AWS 事件,并存储在审计账户中。该公司需要对任何失败的登录尝试进行近实时通知。一位 DevOps 工程师已在管理账户中创建了一条组织跟踪,以记录所有区域的事件。哪种解决方案能够以最少的运维工作量满足这些要求?
- A. 配置跟踪以将日志发布到审计账户中的新 Amazon S3 存储桶。在审计账户中,创建一个 Amazon EventBridge 规则,以响应 CloudTrail 中的失败登录事件。将该 EventBridge 规则配置为通知 SNS 主题。
- B. 将跟踪配置为将日志发布到管理账户中的新 Amazon S3 存储桶。配置一个 Amazon Athena 表以从新的 S3 存储桶读取数据。创建一个 AWS Lambda 函数,该函数查询 Athena 表以获取失败的登录事件,并将发现结果发布到 SNS 主题。创建一个 Amazon EventBridge 计划规则,以每 5 分钟调用一次该 Lambda 函数。
- C. 配置跟踪以将日志发布到审计账户中的新 Amazon S3 存储桶和管理账户中的新 Amazon CloudWatch 日志组。在该日志组上创建 CloudWatch Logs 指标过滤器,以创建用于登录失败的自定义指标。配置使用该自定义指标并通知 SNS 主题的 CloudWatch 告警。
- D. 配置跟踪,将日志发布到审计账户中一个新的 Amazon CloudWatch 日志组。在审计账户中创建 Amazon Kinesis 数据流。在日志组上配置订阅筛选器,以便将日志发送到该数据流。使用 Amazon Managed Service for Apache Flink 从数据流中筛选出失败登录记录。将结果发布到 SNS 主题。
答案: C