PRACTICE練習問題

DevOps Engineer Professional(DOP-C02)の練習問題 100問

CI/CD・IaC・監視・インシデント対応を自動化で回す。DVA と SOA の先。 この問題は、執筆者が公式ドキュメントを出典に一から作った独自問題です。本試験の問題の再現・転載ではありません。各問に公式ドキュメントの出典を付けています。

WHAT'S INSIDE

DOP-C02 の練習問題 100問の分野と扱うサービス

DOP-C02 の試験ガイドが示す分野ごとに問題を分けています。問題数は分野の配分に合わせたもので、どの分野も公式ドキュメントを出典に作っています。

分野問題数多く扱うサービス
SDLCの自動化22問AWS CodeDeploy、AWS CodePipeline、AWS Lambda、AWS CodeBuild、Amazon ECS
構成管理とIaC17問AWS CloudFormation、AWS Systems Manager、Amazon RDS、Amazon CloudWatch、AWS Organizations
回復性の高いクラウドソリューション15問Amazon EC2 Auto Scaling、Amazon S3、Amazon Route 53、Amazon Aurora、Amazon DynamoDB
モニタリングとロギング15問Amazon CloudWatch、AWS X-Ray、Amazon SNS、Amazon S3、Amazon EC2
インシデントとイベントへの対応14問Amazon EventBridge、AWS Systems Manager、Amazon EC2、Amazon CloudWatch、AWS Lambda
セキュリティとコンプライアンス17問AWS IAM、AWS Organizations、AWS CloudTrail、AWS Config、Amazon S3

SAMPLE QUESTIONS

DOP-C02 の見本の問題(分野ごとに1問)

全100問のうち、分野ごとに1問を答えと解説つきで載せています。残りの問題は、上の4つのモードから解けます。

SDLCの自動化DOP-C02 #1

ある SaaS 企業は、アプリのソースコードを GitHub の組織リポジトリで管理しています。main ブランチへの push をきっかけに AWS CodePipeline を起動したいが、個人のアクセストークンを発行・更新し続ける運用はやめたいと考えています。最も運用負荷が低い構成はどれですか?

  • AGitHub の個人アクセストークンを AWS Secrets Manager に保存し、webhook を受ける Lambda 関数からパイプラインを起動する
  • BAWS CodeConnections で GitHub への接続を作成して GitHub App をインストールし、ソースアクションにその接続を使う
  • Cリポジトリを AWS CodeCommit に移行し、CodeCommit をパイプラインのソースにする
  • DEventBridge Scheduler で 5 分ごとに Lambda 関数を起動し、リポジトリの ZIP を S3 に置いて S3 ソースアクションで拾わせる
答えと解説を見る

正解: B

CodeConnections の接続は GitHub App で認証するため、OAuth アプリや個人アクセストークンの発行・更新が不要で、push を webhook で検知してパイプラインを起動できます。トークンを Secrets Manager に置く方式や定期取得の方式は自前の仕組みの保守が残ります。CodeCommit への移行は、GitHub でリポジトリを管理し続けるという要件に合いません。

公式の出典

構成管理とIaCDOP-C02 #23

ある小売グループでは、AWS Organizations に新しいアカウントが加わるたびに、監査用の IAM ロールと AWS Config の設定を自動で作りたいと考えています。アカウントは OU 単位で管理されています。最も運用負荷が低い方法はどれですか?

  • A新しいアカウントができるたびに、各アカウントで CloudFormation スタックを手動で作成する
  • Bセルフマネージド型のアクセス許可で StackSets を作り、新しいアカウント ID を都度追加する
  • Cサービスマネージド型のアクセス許可で StackSets を作成して対象の OU を指定し、自動デプロイを有効にする
  • Dアカウント作成のイベントで Lambda 関数を起動し、各アカウントのロールを引き受けてスタックを作らせる
答えと解説を見る

正解: C

サービスマネージド型の StackSets は Organizations と連携し、必要な IAM ロールを各アカウントに自動で用意します。対象 OU を指定して自動デプロイを有効にすれば、OU に加わったアカウントにスタックが自動で展開されます。手動作成やアカウント ID の都度追加は漏れが起きやすく、Lambda による自前の仕組みは保守の負担が残ります。

公式の出典

回復性の高いクラウドソリューションDOP-C02 #40

全世界向けの予約サイトは Aurora MySQL を使っています。主リージョンが大規模に障害を起こした場合に備え、別リージョンで低レイテンシの読み取りを提供しつつ、データ損失を最小限にして短時間で別リージョンを主にできる構成にしたいです。最も適切なのはどれですか?

  • A自動バックアップを別リージョンにレプリケートしておき、障害時にそのリージョンで復元する
  • B同じリージョン内でマルチ AZ の Aurora レプリカを増やす
  • C手動スナップショットを 1 時間ごとに別リージョンへコピーし、障害時に最新のものから復元する
  • DAurora グローバルデータベースを構成し、障害時はセカンダリを昇格する
答えと解説を見る

正解: D

Aurora グローバルデータベースは、ストレージ層の専用の仕組みで別リージョンのセカンダリクラスターに複製し、セカンダリでは読み取りを提供できます。主リージョンの障害時はセカンダリを昇格して書き込みを再開できます。バックアップやスナップショットのコピーは復元に時間がかかり、データ損失も大きくなります。同じリージョン内のレプリカはリージョン障害に備えられません。

公式の出典

モニタリングとロギングDOP-C02 #55

障害の振り返りで、API サーバーの JSON 形式のアクセスログ(CloudWatch Logs に保存済み)から、直近 3 時間で 5xx を返した回数が多いエンドポイントの上位 10 件をすぐに知りたいです。事前の準備なしで最も手早い方法はどれですか?

  • ALogs Insights で 5xx に絞り、stats でパスごとに集計して並べ替える
  • Bメトリクスフィルターを作成し、パスごとの 5xx の件数をディメンション付きのメトリクスにして集計する
  • Cログを S3 にエクスポートし、Amazon Athena のテーブルを定義してパスごとの件数を SQL で集計する
  • DCloudWatch Contributor Insights のルールを新しく作成する
答えと解説を見る

正解: A

CloudWatch Logs Insights は、保存済みのログにクエリを実行して絞り込み・集計・並べ替えができ、JSON のフィールドも自動で扱えます。準備なしで過去のログを調べられます。メトリクスフィルターは作成後に届いたログにしか適用されないため、過去 3 時間の分は数えられません。S3 と Athena は手順が多く、Contributor Insights のルールも新規作成では過去の分析に向きません。

公式の出典

インシデントとイベントへの対応DOP-C02 #70

開発用のアカウントで EC2 インスタンスが停止や終了されたら、そのたびにチームのチャットに通知したいです。定期的に状態を問い合わせる仕組みは作りたくありません。どうしますか?

  • A1 分ごとに Lambda 関数で DescribeInstances を呼び、前回と比べる
  • BEventBridge ルールで EC2 の状態変更イベントを検知し、通知先へ送る
  • CCloudTrail のログを毎日 Athena で検索し、停止や終了の操作を見つけて知らせる
  • DAWS Config ルールで、停止しているインスタンスを検出する
答えと解説を見る

正解: B

EC2 はインスタンスの状態が変わるとイベントを EventBridge に送ります。ルールで停止や終了の状態を条件にし、SNS や Lambda をターゲットにすれば、ポーリングなしで通知できます。定期的な問い合わせは要件に反し、毎日の Athena 検索は即時性がありません。Config ルールは設定の準拠を評価する仕組みで、状態変更の通知には向きません。

公式の出典

セキュリティとコンプライアンスDOP-C02 #84

アプリが RDS for MySQL に接続するためのパスワードを、定期的に自動で変えたいです。ローテーションの最中もアプリの接続が途切れにくいように、2 つのデータベースユーザーを交互に更新する方式にしたいです。どうしますか?

  • ASecrets Manager に保存し、交代ユーザー方式の自動ローテーションを設定する
  • BParameter Store の SecureString にパスワードを保存し、担当者が四半期ごとに手動で変更する
  • Cパスワードをアプリの設定ファイルに書き、デプロイのたびに変更する
  • Dパスワードを環境変数に設定し、ローテーション時にアプリを再起動する
答えと解説を見る

正解: A

Secrets Manager はシークレットの自動ローテーションに対応し、交代ユーザー方式では 2 つのユーザーを交互に更新するため、切り替えの間も片方の認証情報が有効で接続が途切れにくくなります。アプリはシークレットから最新の値を取得します。手動の変更や設定ファイル・環境変数への記載は、自動化にならないうえ漏えいの危険もあります。

公式の出典

READ FIRST

DOP-C02 の論点を記事で読む

ABOUT THESE QUESTIONSこの問題について

  • 試験ガイドで公開されている出題範囲の論点だけを対象に、AWS の公式ドキュメントを出典として、シナリオ・選択肢・解説をすべて新規に作っています。流出した本試験の問題の複製・翻案ではありません(編集ポリシー)
  • 試験の版が変わると論点も変わります。版はAWS 認定の一覧で追い、古くなった問題は差し替えます
  • 図のサービスのアイコンは AWS Architecture Icons(AWS 公式)を、AWS の利用条件の範囲(構成図・教材の用途)で改変せずに使っています。当サイトは AWS と提携・承認の関係にありません
  • 解答の記録はこの端末のブラウザにだけ残ります(プライバシーポリシー)
  • 誤りを見つけたら krnichi224898@gmail.com へ。問題番号(DOP-C02 の #番号)を添えてください