DOP-C02 题库 · 最新 50 题免费预览(第 1/5 页)
DOP-C02(AWS Certified DevOps Engineer Professional (DOP-C02))最新题库第 1–10 题,共 5 页 50 题,含答案与中英解析,无需登录。点此进入在线题库练习全部 951 题。
第 1 题 · 题号 902 · 单选
一家公司有一个托管在 Amazon EC2 实例上的 Web 应用程序。该公司正在将应用程序部署到多个 AWS 区域。该应用程序由动态内容组成,例如基于 WebSocket 的实时产品更新。该公司使用 Amazon Route 53 来管理所有 DNS 记录。哪种解决方案将以最小的延迟提供对应用程序的多区域访问?
- A. 在每个区域的 EC2 实例前面部署应用程序负载均衡器 (ALB)。使用基于延迟的路由策略创建 Route 53 A 记录。将 ALB 的 IP 地址添加为记录的值。
- B. 在每个区域的 EC2 实例前面部署应用程序负载均衡器 (ALB)。部署 Amazon CloudFront 分配,其源组包含 ALB 作为源。创建指向 CloudFront 分配的 DNS 地址的 Route 53 别名记录。
- C. 在每个区域的 EC2 实例前面部署网络负载均衡器 (NLB)。使用多值应答路由策略创建 Route 53 A 记录。将 NLB 的 IP 地址添加为记录的值。
- D. 在每个区域的 EC2 实例前面部署网络负载均衡器 (NLB)。为每个 NLB 部署一个 AWS Global Accelerator 标准加速器,其中包含一个终端节点组。创建指向加速器的 DNS 地址的 Route 53 别名记录。
答案: D
解析: 提供多区域访问且延迟最小的最佳解决方案是使用AWS Global Accelerator。该服务专门用于通过基于健康状况、地理位置和路由策略将流量路由到最佳端点,从而提高应用程序的可用性和性能。它利用AWS的全球网络基础设施将流量路由到最近的健康端点,显著减少延迟。相比之下,CloudFront(选项B中使用)是一个内容交付网络(CDN),主要用于静态或缓存内容,而不是基于WebSocket的动态流量。基于延迟的路由(选项A)和多值答案路由(选项C)无法像Global Accelerator那样为动态内容提供相同的优化。
第 2 题 · 题号 903 · 多选
一家公司有一个使用 Amazon API Gateway REST API、AWS Lambda 函数和 Amazon DynamoDB 表的应用程序。该应用程序目前在单个 AWS 区域中运行。该公司希望使应用程序在两个区域中具有高可用性。用户流量必须路由到延迟最小的区域。哪种步骤组合将满足这些要求?(选择三个。
- A. 在第二个区域中创建 DynamoDB 表的副本。
- B. 为 DynamoDB 表创建全局二级索引。
- C. 在第二个区域中创建 REST API 和 Lambda 函数的副本。
- D. 在 Amazon Route 53 中创建运行状况检查。创建包含故障转移路由策略的 DNS 记录。
- E. 在 Amazon Route 53 中创建运行状况检查。创建包含延迟路由策略的 DNS 记录。
- F. 在 Amazon Route 53 中创建包含多值应答路由策略的 DNS 记录。
答案: A, C, E
解析: 为了使应用程序在两个区域中实现高可用性并将用户流量路由到延迟最小的区域,您需要在第二个区域中复制必要的组件。首先,创建DynamoDB表的副本(A),以确保数据在第二个区域中可访问。其次,在第二个区域中复制REST API和Lambda函数(C),以便两个区域都可以独立处理请求。最后,配置Amazon Route 53使用延迟路由策略(E),该策略根据实时网络性能将用户定向到延迟最低的区域。选项B、D和F是不正确的,因为它们不符合要求:全局二级索引(B)不能提供区域冗余,故障转移路由(D)不会优化延迟,而多值应答路由(F)用于返回多个值而不是优化流量路由。
第 3 题 · 题号 904 · 单选
一家公司想要构建一个管道来每月更新标准 AMI。必须更新 AMI 以使用最新的补丁,以确保启动的 Amazon EC2 实例是最新的。每个新的 AMI 都必须可供 AWS Organizations 中公司组织中的所有 AWS 账户使用。该公司需要配置自动化管道来构建 AMI。哪种解决方案将以最高的运营效率满足这些要求?
- A. 创建使用 AWS CodeBuild 的 AWS CodePipeline 管道。创建一个 AWS Lambda 函数以每月运行管道。创建 AWS CloudFormation 模板。与组织中的所有 AWS 账户共享模板。
- B. 使用 EC2 Image Builder 创建 AMI 管道。配置管道以将 AMI 分发到组织中的 AWS 账户。将管道配置为每月运行一次。
- C. 创建一个 AWS CodePipeline 管道,该管道运行 AWS Lambda 函数来构建 AMI。配置管道以与组织中的 AWS 账户共享 AMI。将 Amazon EventBridge Scheduler 配置为每月调用管道。
- D. 创建 AWS Systems Manager Automation 运行手册。将自动化配置为在组织中的所有 AWS 账户中运行。创建一个 AWS Lambda 函数以每月运行自动化。
答案: B
解析: 最高效的解决方案是使用 EC2 Image Builder,因为它专门用于创建和管理 AMI。它可以自动执行管道流程,轻松配置更新并将 AMI 分发到 AWS 组织中的所有账户。此方法还减少了手动干预或自定义脚本的需求,从而提高了效率。
第 4 题 · 题号 905 · 单选
一家公司有一个工作流程,该工作流程为公司的每种产品生成一个文件,并将文件存储在生产环境 Amazon S3 存储桶中。该公司的用户可以访问 S3 存储桶。每个文件都包含一个产品 ID。尚未公开发布的产品的产品 ID 以特定的 UUID 为前缀。产品编号的长度为 12 个字符。未公开公告的产品的 ID 以字母 P 开头。该公司不希望有关尚未公开宣布的产品的信息在生产环境 S3 存储桶中可用。哪种解决方案可以满足这些要求?
- A. 创建一个新的暂存 S3 存储桶。在新的暂存存储桶中生成所有文件。创建 Amazon Macie 自定义数据标识符,以标识新存储桶中以特定 UUID 开头的产品 ID。使用自定义数据标识符启动 Amazon Macie 敏感数据发现作业。将所有没有 Macie 调查结果的文件复制到生产 S3 存储桶。
- B. 创建 Amazon Macie 自定义数据标识符,以识别生产存储桶中以特定 UUID 开头的产品 ID。使用自定义数据标识符启动 Amazon Macie 敏感数据发现作业。从生产 S3 存储桶中删除所有具有 Macie 发现的文件。
- C. 创建一个新的暂存 S3 存储桶。在新的暂存存储桶中生成所有文件。使用托管数据标识符启动 Amazon Macie 敏感数据发现作业。将所有没有 Macie 调查结果的文件复制到生产 S3 存储桶。
- D. 使用托管数据标识符创建 Amazon Macie 敏感数据发现作业。从生产 S3 存储桶中删除所有具有 Macie 发现的文件。
答案: A
解析: 选项 A 是最佳解决方案,因为它引入了一个暂存 S3 存储桶,在文件生成后先存储在暂存桶中,然后再移动到生产环境。通过使用带有自定义数据标识符的 Amazon Macie,可以确保只有不包含敏感产品 ID(以特定 UUID 开头)的文件被复制到生产 S3 存储桶中。这可以防止未发布的产品信息在生产环境中未经授权被暴露。
第 5 题 · 题号 906 · 单选
一家公司正在将其 Web 应用程序迁移到 AWS。该应用程序使用 WebSocket 连接进行实时更新,并且需要粘性会话。DevOps 工程师必须为应用程序实现高可用性体系结构。应用程序必须可供全球用户以尽可能少的延迟访问。哪种解决方案可以满足这些要求,同时运营开销最小?
- A. 部署应用程序负载均衡器 (ALB)。在不同的 AWS 区域部署另一个 ALB。在 ALB 上启用跨区域负载均衡和粘性会话。将 ALB 与基于延迟的 Amazon Route 53 路由集成。
- B. 部署网络负载均衡器 (NLB)。在不同的 AWS 区域部署另一个 NLB。在 NLB 上启用跨区域负载平衡和粘性会话。将 NLB 与 Amazon Route 53 地理位置路由集成。
- C. 部署启用了跨区域负载均衡的网络负载均衡器 (NLB)。在多个可用区中使用基于 IP 的目标配置 NLB。使用 Amazon CloudFront 进行全球内容交付。在 NLB 上使用源 IP 地址保留来实现粘性会话。
- D. 为 HTTP 流量部署应用程序负载均衡器 (ALB)。在公司的每个 AWS 区域中部署网络负载均衡器 (NLB) 以进行 WebSocket 连接。在 ALB 上启用粘性会话。配置 ALB 以将请求转发到 NLB。
答案: A
第 6 题 · 题号 907 · 多选
一家公司在与 AWS CodeConnections 兼容的 Git 存储库中具有应用程序代码。该公司希望将单元测试配置为在打开拉取请求时运行。该公司希望确保测试完成后,测试状态在拉取请求中可见。该公司希望在测试完成后将测试生成的输出数据文件保存到 Amazon S3 存储桶中。哪种解决方案组合可以满足这些要求?(选择三个。
- A. 创建 IAM 服务角色以允许访问运行测试所需的资源。
B 在 AWS CodePipeline 中创建一个具有测试阶段的管道。创建触发器以在创建或更新拉取请求时运行管道。添加源作以报告测试结果。
- C. 创建一个 AWS CodeBuild 项目来运行测试。启用 Webhook 触发器,以便在创建或更新拉取请求时运行测试。启用生成状态报告以报告测试结果。
- D. 创建一个具有报告部分的buildspec.yml文件,以便在测试运行完成后上传输出文件。
- E. 创建一个具有工件部分的buildspec.yml文件,以便在测试运行完成后上传工件。
- F. 创建一个appspec.yml文件,该文件具有一个文件部分,用于在测试运行完成后上传输出文件。
答案: A, C, E
解析: 为了满足需求,公司需要一组解决方案。首先,需要一个IAM服务角色来授予运行测试和上传文件所需的权限(A)。其次,AWS CodeBuild非常适合在创建或更新拉取请求时运行单元测试,并且启用构建状态报告可确保测试结果在拉取请求中可见(C)。最后,测试生成的输出数据文件必须上传到S3存储桶,这可以通过buildspec.yml文件中的artifacts部分实现(E)。其他选项要么不符合用例,要么引入了错误的配置。
第 7 题 · 题号 908 · 单选
一个软件开发团队正在为其 Web 应用程序实施 CI/CD 管道。该团队正在使用 AWS CodeBuild 编译基于 Java 的源代码并运行单元测试。团队需要存储由 CodeBuild 项目创建的项目。哪种解决方案可以满足此要求?
- A. 创建 Amazon S3 存储桶。将 S3 存储桶配置为项目中的构件输出位置。将项目位置添加到项目的 buildspec 文件中。配置 S3 存储桶策略,允许 CodeBuild 项目的资源访问角色访问 S3 存储桶。
- B. 创建 Amazon S3 存储桶。将 S3 存储桶配置为项目 buildspec 文件中的项目输出位置。将项目位置添加到项目的 buildspec 文件中。
配置允许 CodeBuild 服务角色访问 S3 存储桶的 S3 存储桶策略。
- C. 将 Amazon Elastic File System (Amazon EFS) 文件系统配置为项目的文件系统位置。将 EFS 文件系统配置为项目 buildspec 文件中的项目输出位置。配置允许 CodeBuild 访问文件系统的文件系统策略。
- D. 创建 Amazon Elastic Block Store (Amazon EBS) 卷。将 EBS 卷配置为项目 buildspec 文件中的项目输出位置。配置允许 CodeBuild 访问卷的 IAM 角色。
答案: A
解析: 最佳解决方案是使用Amazon S3作为存储工件的位置,因为S3是一种高持久性和可扩展的对象存储服务,非常适合存储构建工件。AWS CodeBuild与S3无缝集成,允许您在buildspec文件中指定S3存储桶作为输出位置。此外,配置S3存储桶策略可确保CodeBuild项目的资源访问角色的安全访问。其他选项(B、C和D)要么错误配置权限,要么建议不适合此用例的服务(EFS和EBS通常不用于存储工件)。
第 8 题 · 题号 909 · 单选
DevOps 工程师更新 AWS CloudFormation 堆栈以添加包含多个 Amazon EC2 实例的嵌套堆栈。当 DevOps 工程师尝试部署更新的堆栈时,嵌套堆栈无法部署。DevOps 工程师应该怎么做才能确定失败的原因?
- A. 使用故障堆栈的 CloudFormation 检测根本原因功能来分析故障并返回最有可能导致故障的事件。
- B. 通过将根堆栈指定为 ParentId 属性来查询失败的堆栈。检查所有返回堆栈的 StackStatusReason 属性,以确定嵌套堆栈无法部署的原因。
- C. 为运行应用程序的 AWS 账户激活 AWS Systems Manager。使用 AWS Systems Manager Automation AWS-SupportTroubleshootCFNCustomResource 运行手册确定嵌套堆栈部署失败的原因。
- D. 配置 CloudFormation 模板以将日志发布到 Amazon CloudWatch。在 CloudWatch 控制台中查看故障堆栈的 CloudFormation 日志,以确定嵌套堆栈部署失败的原因。
答案: B
第 9 题 · 题号 910 · 多选
一家公司使用 AWS Organizations 管理多个 AWS 账户。这些账户位于一个 OU 中,该 OU 附加了允许所有作的策略。该公司正在将多个 Git 存储库迁移到指定的 AWS CodeConnections 支持的 Git 提供商。Git 存储库管理公司跨多个 AWS 区域部署的应用程序基础设施的 AWS CloudFormation 堆栈。该公司希望一个 DevOps 团队将 CodeConnections 集成到 CloudFormation 堆栈中。DevOps 团队必须确保公司员工只能与指定的 Git 提供程序集成。部署过程必须跨区域具有高可用性。哪种步骤组合将满足这些要求?(选择三个。
- A. 向 OU 添加一个新的 SCP 语句,该语句拒绝提供程序类型不是指定的 Git 提供程序的 CodeConnections CreatingConnections作。
- B. 向 OU 添加一个新的 SCP 语句,该语句允许 CodeConnections CreatingConnections作,其中提供程序类型是指定的 Git 提供程序。
- C. 使用 CodeConnectlons 配置与每个 Git 存储库的单个 CodeConnections 连接。
- D. 使用 CodeConnections 创建从公司运营所在的每个区域到每个 Git 存储库的 CodeConnections 连接。
- E. 使用 CodeConnections 创建 CodeConnections 存储库链接。更新每个 CfoudFormation 堆栈以从 Git 存储库同步。
- F. 对于每个 Git 存储库,在 AWS CodePipefine 中创建一个管道,该管道将 Git 存储库设置为源和 CloudFormation 部署阶段。
答案: A, D, E
解析: 问题要求选择一组步骤以满足需求。步骤A通过SCP确保只允许使用指定的Git提供商,拒绝其他提供商类型。步骤D通过从每个区域创建到Git仓库的连接来确保跨区域的高可用性。步骤E通过仓库链接将CloudFormation堆栈与Git仓库集成,实现同步和部署。步骤B和C不是必需的,因为它们要么不必要地放宽了权限,要么重复了其他步骤已提供的功能。
第 10 题 · 题号 911 · 单选
一名 DevOps 工程师成功创建了一个包含托管节点组的 Amazon Elastic Kubernetes Service(Amazon EKS)集群。当该工程师尝试向集群添加节点组时,集群返回错误:“NodeCreationFailure: Instances failed to join the Kubernetes cluster.”(节点创建失败:实例未能加入 Kubernetes 集群。)该 DevOps 工程师已确认 EC2 工作节点正在运行,且 EKS 集群处于活跃状态。该工程师应如何排查此问题?
- A. 确保 EKS 集群的 VPC 子网不与 172.17.0.0/16 CIDR 范围重叠。
- B. 使用 kubectl 更新 kubeconfig 文件,以使用创建集群时所用的凭据。
- C. 运行 AWSSupport-TroubleshootEKSWorkerNode 运行手册。
- D. 为集群创建一个 AWS 身份和访问管理(IAM)OpenID Connect(OIDC)提供程序。
答案: C
解析: 错误“NodeCreationFailure:实例无法加入 Kubernetes 集群”表明 EC2 工作节点正在运行,但无法注册到 EKS 控制平面。AWS 提供了一个名为“AWSSupport-TroubleshootEKSWorkerNode”的 Systems Manager 自动化运行手册,专门用于诊断和解决阻止工作节点加入 EKS 集群的常见问题。该运行手册可自动检查 IAM 权限、网络、VPC 配置及其他先决条件。虽然选项 A、B 和 D 涉及一些潜在的根本原因,但选项 C 是 AWS 针对此类问题推荐的最直接且全面的故障排除步骤。