DOP-C02 题库 · 最新 50 题免费预览(第 4/5 页)
DOP-C02(AWS Certified DevOps Engineer Professional (DOP-C02))最新题库第 31–40 题,共 5 页 50 题,含答案与中英解析,无需登录。点此进入在线题库练习全部 951 题。
第 31 题 · 题号 932 · 单选
一家公司在 Amazon Elastic Kubernetes Service (Amazon EKS) 上运行微服务应用程序。用户最近报告在访问账户摘要功能时存在显著延迟,尤其是在业务高峰时段。一名 DevOps 工程师使用 Amazon CloudWatch 指标和日志来排查问题。日志显示 EKS 节点上的 CPU 和内存利用率正常。该 DevOps 工程师无法确定延迟发生在微服务架构中的哪个位置。该 DevOps 工程师需要提高应用程序的可观测性,以精确定位延迟发生的位置。哪种解决方案能够满足这些要求?
- A. 将 AWS X-Ray 守护进程作为 DaemonSet 部署在 EKS 集群中。使用 X-Ray SDK 对应用程序代码进行插桩。重新部署应用程序
- B. 为 EKS 集群启用 CloudWatch Container Insights。使用 Container Insights 数据来诊断延迟问题。
- C. 基于现有的 CloudWatch 指标创建警报。设置 Amazon Simple Notification Service (Amazon SNS) 主题以发送电子邮件警报。
- D. 在应用程序代码中增加网络操作的超时设置,以便为操作完成留出更多时间。
答案: A
解析: 关键需求是提高可观测性,以便精确定位微服务架构中延迟发生的位置。AWS X-Ray 专门设计用于跨微服务进行分布式跟踪,使 DevOps 工程师能够追踪单个请求在多个服务中的流转路径,并准确识别延迟或瓶颈发生的位置。通过将 X-Ray 守护进程作为 DaemonSet 部署在 EKS 集群中,并使用 X-Ray SDK 检测应用程序代码,工程师将获得对请求路径、服务到服务延迟以及微服务架构内性能瓶颈的详细可见性。选项 B(Container Insights)仅提供集群级别的指标,不提供微服务级别的跟踪。选项 C 仅添加通知,没有改进调试能力。选项 D 只是通过延长超时时间来掩盖问题,而无法识别根本原因。
第 32 题 · 题号 933 · 单选
一家公司采用基于主干的开发分支策略。该公司有两条与 Git 提供商集成的 AWS CodePipeline 流水线。pull_request 流水线具有一个用于匹配特性分支的分支过滤器。main_branch 流水线具有一个用于匹配主分支的分支过滤器。当拉取请求合并到主分支后,将通过 main_branch 流水线对这些拉取请求进行部署。公司的开发人员需要尽快从 pull_request 流水线获取所有已提交拉取请求的测试结果。公司希望确保 main_branch 流水线的测试结果完成,并且每次部署在下一次流水线执行之前完成。哪种解决方案能够满足这些要求?
- A. 配置 pull_request 流水线使用 PARALLEL 模式。配置 main_branch 流水线使用 QUEUED 模式。
- B. 将 pull_request 管道配置为使用 SUPERSEDED 模式。将 main_branch 管道配置为使用 QUEUED 模式。
- C. 将 pull_request 流水线配置为使用 PARALLEL 模式。将 main_branch 流水线配置为使用 SUPERSEDED 模式。
- D. 配置 pull_request 流水线以使用 QUEUED 模式。配置 main_branch 流水线以使用 SUPERSEDED 模式。
答案: A
解析: 对于 pull_request 管道,需要使用 PARALLEL 模式,这样多个不同拉取请求的测试执行可以并发运行,从而尽可能快地提供测试结果。SUPERSEDED 模式会取消之前的执行(导致结果丢失),而 QUEUED 模式会让开发人员依次等待每个请求完成。对于 main_branch 管道,QUEUED 模式可以确保每次执行(包括测试和部署)在下一次开始之前完全完成,防止重叠部署可能引发的问题。PARALLEL 模式会有并发部署的风险,而 SUPERSEDED 模式可能通过取消当前执行导致部署不完整。
第 33 题 · 题号 934 · 单选
一位 DevOps 工程师需要配置一个 AWS CodePipeline 流水线,用于将容器镜像发布到 Amazon Elastic Container Registry(Amazon ECR)仓库。该流水线必须等待上一次运行完成,并且必须在连接到 AWS CodeConnections 的 Git 仓库中推送新的 Git 标签时运行。一个现有的部署流水线需要在新的容器镜像发布时运行。哪种解决方案能够满足这些要求?
- A. 配置一个使用 QUEUED 模式的 CodePipeline V2 类型管道。在管道定义中添加一个包含所有标签的触发器过滤器。配置一个 Amazon EventBridge 规则,用于匹配容器镜像推送事件,以启动现有的部署管道。
- B. 配置一个使用 SUPERSEDED 模式的 CodePipeline V2 类型管道。在管道定义中添加一个包含所有分支的触发器过滤器。配置一个 Amazon EventBridge 规则,用于匹配容器镜像推送事件,以启动现有的部署管道。
- C. 配置一个使用 SUPERSEDED 模式的 CodePipeline V1 类型管道。向管道定义中添加一个包含所有标签的触发器过滤器。在管道的末尾添加一个阶段,以调用现有的部署管道。
- D. 配置一个使用 QUEUED 模式的 CodePipeline V1 类型管道。在管道定义中添加一个包含所有分支的触发过滤器。在管道末尾添加一个阶段以调用现有的部署管道。
答案: A
解析: 选项A正确满足了所有要求:(1) 需要使用CodePipeline V2类型,因为V2支持QUEUED执行模式(V1不支持此模式)。(2) QUEUED模式确保管道在开始新执行之前等待上一次运行完成。(3) 触发过滤器包含所有标签,这确保当推送新的Git标签时管道会运行(分支不符合要求)。(4) 使用匹配容器镜像推送到Amazon ECR的EventBridge规则是当新镜像发布时触发现有部署管道的正确方式。选项B不正确,因为SUPERSEDED模式不会等待之前的运行完成。选项C和D不正确,因为CodePipeline V1不支持QUEUED/SUPERSEDED执行模式。
第 34 题 · 题号 935 · 单选
一家公司正在 Amazon Elastic Kubernetes Service (Amazon EKS) 上运行应用程序。该公司需要为控制平面(control plane)和节点实施全面的日志记录。该公司必须分析对 Kubernetes 控制平面的 API 请求,并必须监控节点上的容器性能。哪种解决方案能以最小的运维开销满足这些要求?
- A. 启用 AWS CloudTrail 以进行控制平面日志记录。在节点上以 ReplicaSet 方式部署 Logstash,以从节点收集日志。使用 Amazon OpenSearch Service 存储和分析控制平面及节点的日志。
- B. 为 EKS 集群启用控制平面日志记录。将日志发送到 Amazon CloudWatch。使用 CloudWatch Container Insights 收集节点和容器的日志。使用 CloudWatch Logs Insights 查询和分析控制平面及节点的日志。
- C. 为 EKS 集群启用 API 服务器控制平面日志记录。将日志发送到 Amazon S3。
在节点上部署 Kubernetes Event Exporter 以收集节点的日志。将日志发送到 Amazon S3。
使用 Amazon Athena 查询控制平面和节点的日志。
使用 Amazon QuickSight 进行可视化。
- D. 使用 AWS Distro for OpenTelemetry 收集控制平面和节点的日志。将所有日志流式传输到 Amazon Data Firehose。使用 Amazon Redshift 分析控制平面和节点的聚合日志数据。
答案: B
解析: 选项 B 是最佳选择,因为它利用了 AWS 原生集成,可最大限度地减少运维开销。EKS 控制平面日志记录可以直接启用以将日志发送到 CloudWatch,这是一个完全托管的服务。CloudWatch Container Insights 专为收集、聚合和汇总容器化应用程序及微服务的指标和日志而设计,提供开箱即用的节点和容器监控功能。CloudWatch Logs Insights 提供强大的查询功能,无需额外设置。选项 A、C 和 D 都需要部署和管理额外的组件(Logstash、Kubernetes Event Exporter、OpenTelemetry 收集器),以及/或使用未针对此用例优化的服务(使用 Redshift 进行日志分析),这会增加运维开销。
第 35 题 · 题号 936 · 多选
一家公司希望通过在所有项目中强制执行最小权限来改进其安全实践。开发人员必须能够访问 Amazon EC2 资源,但不能访问 Amazon RDS 资源。数据库管理员只能访问 Amazon RDS 资源。每位员工都有一个唯一的 IAM 用户。目前已有针对开发人员和数据库管理员工作职责的预定义 IAM 策略。所有 AWS 资源都已使用相应的项目标签进行标记。所有 IAM 用户也已使用适当的项目和职位职能标签进行标记。公司必须确保每位员工只能访问其正在参与的项目。哪种解决方案能够满足这些要求?(选择三项。)
- A. 对于每个项目,为开发人员创建一个 IAM 角色,并为数据库管理员创建一个 IAM 角色。使用相应的项目和职位功能标记这些 IAM 角色。
- B. 修改预先存在的 IAM 策略,以包含一个 StringEquals ResourceTag 条件,用于匹配 PrincipalTag 值的项目。将修改后的策略附加到每个职能角色的 IAM 角色上。
- C. 创建一个 IAM 策略,当项目标签和职位标签的 ResourceTag 值与 PrincipalTag 值匹配时,允许用户担任该角色。将此新策略附加到所有 IAM 用户。
- D. 创建一个 IAM 策略,允许用户在 ResourceTag 值与 PrincipalTag 值(项目标签和职位标签)匹配时承担角色。将新策略附加到每个职能对应的 IAM 角色。
- E. 为现有的 IAM 策略添加相应的项目和职能标签,并将修改后的策略附加到每个职能对应的 IAM 角色上。
- F. 对于每个项目,分别为开发人员和数据库管理员创建一个 IAM 组。将合适的用户添加到每个组中,以便这些用户可以承担各自的 IAM 角色。
答案: A, B, C
第 36 题 · 题号 937 · 单选
一家公司在 Amazon EC2 实例上运行开发环境网站和数据库,该实例使用 Amazon Elastic Block Store(Amazon EBS)存储。该公司希望提高实例对底层硬件问题的弹性。公司希望在 AWS 确定实例已失去网络连接时自动恢复 EC2 实例。哪种解决方案能满足这些要求?
- A. 将 EC2 实例添加到弹性伸缩组中,并将最小容量、最大容量和期望容量均设置为 1。
- B. 将 EC2 实例添加到 Auto Scaling 组中。配置一个生命周期挂钩,以便在 EC2 实例关闭或终止时分离 EBS 卷。
- C. 为 StatusCheckFailed_System 指标创建 Amazon CloudWatch 警报。添加一个 EC2 操作,以便在警报状态为 ALARM 时恢复实例。
- D. 为 NetworkOut 指标创建一个 Amazon CloudWatch 警报。添加一个 EC2 操作,以便在警报状态为 INSUFFICIENT_DATA 时恢复实例。
答案: C
解析: 选项C是正确答案。StatusCheckFailed_System CloudWatch指标专门监控AWS控制的系统检查,包括底层硬件问题和网络连接丢失。当该指标处于ALARM状态时,EC2恢复操作将通过将实例移动到新的健康主机来自动恢复实例,同时保留EBS卷、实例元数据和私有IP地址。选项A不正确,因为期望容量为1的Auto Scaling组不会自动从底层硬件问题中恢复实例——它们响应的是扩展策略。选项B不正确,因为用于分离EBS卷的生命周期钩子不能解决网络丢失的自动恢复问题。选项D不正确,因为NetworkOut衡量的是出站网络流量吞吐量,而不是网络连接丢失,并且恢复操作应在ALARM状态下触发,而不是INSUFFICIENT_DATA状态。
第 37 题 · 题号 938 · 单选
一家公司运营着一支 Amazon EC2 实例舰队,用于托管关键应用程序和处理敏感数据。这些 EC2 实例必须安装最新的安全补丁,以防止漏洞并确保符合行业标准和法规。该公司需要一个自动化解决方案来监控并强制执行 EC2 实例舰队中的安全补丁合规性。哪种解决方案可以满足这些要求?
- A. 配置 AWS Systems Manager Patch Manager 和 AWS Config,使用定义的补丁基线和合规性规则来运行 Systems Manager 自动化文档。
- B. 使用SSH密钥访问每台EC2实例。使用包管理器检查并应用安全更新。验证安装情况。
- C. 配置具有基于 Amazon CloudWatch 指标的扩展策略的 Auto Scaling 组。
配置 Auto Scaling 启动模板,使其通过使用包含最新安全补丁的最新 AMI 来启动新实例。
- D. 使用 AWS CloudFormation 在每次有新补丁可用时,使用最新的 AMI 重新创建 EC2 实例。使用 AWS CloudTrail 日志来监控补丁合规性,并对不合规的实例发送警报。
答案: A
解析: AWS Systems Manager Patch Manager 专门用于自动化 EC2 实例的补丁流程。结合 AWS Config,您可以定义补丁基线和合规规则,以监控整个实例群的补丁合规性。Systems Manager Automation 文档可用于在发现实例不合规时自动应用补丁。该解决方案提供了一种完全自动化的方法来监控和实施安全补丁合规性。选项 B 是手动的,不是自动化的。选项 C 仅解决通过 Auto Scaling 启动的新实例,而不解决现有实例群。选项 D 具有破坏性,因为它会为每个补丁重新创建实例,并且 CloudTrail 并非用于合规性监控。
第 38 题 · 题号 939 · 单选
一家公司已在 Amazon 弹性容器服务(Amazon ECS)集群上实施了基于微服务的新应用程序。在每次部署之后,该公司希望在将流量路由到新应用程序版本之前验证关键的用户旅程和 API 端点。该公司必须实施一个自动化解决方案,以检测新部署中的问题并在必要时启动回滚。哪种解决方案将以最少的运营开销满足这些要求?
- A. 为 ECS 集群设置 Amazon CloudWatch Application Insights。创建一个 Amazon EventBridge 规则,以调用 AWS Lambda 函数来分析任务状态。编写 Lambda 函数,使其使用 ECS UpdateService API 调用,在特定比例的任务失败时启动回滚。
- B. 为ECS集群设置Amazon CloudWatch Application Insights。配置Application Insights以监控关键用户旅程和API调用中微服务的关键性能指标。根据这些洞察创建CloudWatch告警。使用Amazon EventBridge调用AWS Step Functions工作流来评估告警。配置工作流,以便在必要时通过告警与Amazon ECS的内置集成来启动回滚。
- C. 创建 CloudWatch Synthetics 金丝雀测试,用于模拟关键用户旅程和 API 调用。为所有微服务实施 AWS X-Ray 跟踪。配置 X-Ray 将跟踪数据发送到 CloudWatch。根据错误率和延迟指标创建 CloudWatch 告警。创建一个 AWS Lambda 函数,用于分析跟踪数据,并在必要时通过告警与 Amazon ECS 的内置集成启动回滚。
- D. 创建 CloudWatch Synthetics 金丝雀测试,用于模拟关键的用户操作路径和 API 调用。配置这些金丝雀测试以针对新部署运行。创建 CloudWatch 告警,当金丝雀测试失败时触发。利用告警与 Amazon ECS 的内置集成,在流量路由到新部署之前,如果告警被触发,则启动回滚操作。
答案: D
解析: 选项 D 是最佳选择,因为它使用 CloudWatch Synthetics 金丝雀来验证关键的用户旅程和 API 端点,这直接符合“在将流量路由到新应用程序版本之前验证关键用户旅程和 API 端点”的要求。金丝雀在路由流量之前针对新部署运行,如果金丝雀失败则触发 CloudWatch 告警,并通过与 Amazon ECS 的内置集成自动启动回滚。该方案不需要自定义 Lambda 代码、不需要其他跟踪基础设施(如 X-Ray),也不需要复杂的工作流编排,因此运营开销最小。选项 A 和 B 需要自定义 Lambda/Step Functions 代码以及 CloudWatch Application Insights 监控设置。选项 C 需要实施 X-Ray 跟踪以及用于分析的自定义 Lambda 函数,增加了大量的运营开销。
第 39 题 · 题号 940 · 多选
一名DevOps工程师需要在AWS账户中实施CI/CD管道。该管道必须使用存储在AWS Systems Manager Parameter Store参数中的敏感数据库凭证。该Parameter Store参数位于一个独立的核心账户中。DevOps工程师需要创建该参数并将其与CI/CD账户集成。哪些步骤组合能够满足这些要求?(选择三项)
- A. 使用高级别 Parameter Store 参数在中央 AWS 账户中存储数据库凭证。
- B. 在托管 CI/CD 管道的 AWS 账户中创建一个 IAM 角色。将该参数的全称 ARN 添加到与该 IAM 角色关联的 IAM 策略中。
- C. 使用标准层级的 Parameter Store 参数在中央 AWS 账户中存储数据库凭据。
- D. 使用 AWS KMS 托管密钥来加密参数。向托管 CI/CD 流水线的 AWS 账户授予该 KMS 密钥的解密权限。
- E. 使用客户管理的 AWS KMS 密钥来加密参数。并向托管 CI/CD 流水线的 AWS 账户授予该客户管理密钥的解密权限。
- F. 在中央 AWS 账户中创建一个 AWS Resource Access Manager (AWS RAM) 资源共享。将该参数共享给托管 CI/CD 管道的账户。
答案: A, E, F
第 40 题 · 题号 941 · 单选
一家公司正在使用 AWS 云开发工具包 (AWS CDK) 开发基于微服务的应用程序。该公司需要为开发、暂存和生产三个环境创建可重用的基础设施组件。这些组件必须包括网络资源、数据库资源和无服务器计算资源。该公司必须实施一个解决方案,在跨环境提供一致基础设施的同时,提供环境特定自定义的选项。该解决方案还必须最大限度地减少代码重复。哪种解决方案能够以最少开发开销满足这些要求?
- A. 在存在可重复模式的情况下,从 Level 2 (L2) 构件中创建自定义的 Level 1 (L1) 构件。创建一组部署栈,在实例化时接受环境名称作为参数。为每个环境部署 CDK 应用程序。
- B. 使用 Level 2 (L2) 构造创建自定义的 Level 1 (L1) 构造,在存在可重复模式的情况下这样做。为每个环境创建单独的部署栈。使用 CDK 上下文命令确定在部署到每个环境时要运行哪些栈。
- C. 创建由第 2 级 (L2) 构造组成的自定义第 3 级 (L3) 构造,其中存在可重复的模式。创建一组部署栈,在实例化时接受环境名称作为参数。为每个环境部署 CDK 应用程序。
- D. 在存在可重复模式的情况下,使用二级(L2)构造来创建自定义的三级(L3)构造。为每个环境创建单独的部署堆栈。使用 CDK 上下文命令来确定在部署到每个环境时要运行哪些堆栈。
答案: C
解析: 选择C的原因如下:1) L3 构造(模式)是从 L2 构造构建的,专门用于创建可重用的架构模式,这符合可重用基础设施组件的需求。2) 创建一套将环境名称作为参数的部署堆栈,可以最大限度地减少代码重复,并为所有环境提供单一的基础设施来源。3) 通过参数实现环境特定的定制化,同时保持一致性。选项A和B错误,因为L1构造比L2构造的级别更低,通常不会从L2创建L1。选项D错误,因为为每个环境创建单独的部署堆栈会增加代码重复和管理开销。