出題範囲(6分野)
- SDLC Automation59問
- Configuration Management and Infrastructure as Code60問
- Resilient Cloud Solutions60問
- Monitoring and Logging60問
- Incident and Event Response55問
- Security and Compliance59問
AWS Certified DevOps Engineer – Professionalの例題(6問・解説つき)
スキルサートのAIが出題範囲に沿って作成した演習問題です(過去問ではありません)。アプリでは毎週新しい問題が追加されます。
例題1SDLC Automation
ある企業では、AWS CodeBuild を使用して Docker イメージのビルドを行っていますが、ビルドごとに外部リポジトリから多数の依存関係をダウンロードしており、ビルド時間が長くなっていることが問題となっています。ビルドの効率を向上させ、実行時間を短縮するための最も適切な方法はどれですか。
- CodeBuild プロジェクトのコンピューティングタイプをより大きなインスタンスに変更する。
- Amazon EC2 インスタンス上でセルフホストされた Jenkins サーバーに移行する。
- CodeBuild プロジェクトでキャッシュを有効にし、アーティファクトを再利用する。
- ビルドスペックファイル (buildspec.yml) で、ビルド開始前に毎回 `docker prune` を実行するように設定する。
- CodeCommit リポジトリのサイズを小さくするために、古いブランチをすべて削除する。
解答と解説を見る
正解: CodeBuild プロジェクトでキャッシュを有効にし、アーティファクトを再利用する。
正解は「CodeBuild プロジェクトでキャッシュを有効にし、アーティファクトを再利用する。」です。CodeBuild のキャッシュ機能(S3 キャッシュまたはローカルキャッシュ)を使用することで、ビルド間で依存関係や Docker レイヤーを再利用でき、ダウンロード時間を大幅に削減できます。コンピューティングタイプの変更は CPU やメモリを増強しますが、ネットワーク経由のダウンロード遅延の根本解決にはなりません。`docker prune` はキャッシュを削除するため逆効果です。Jenkins への移行は管理オーバーヘッドを増やし、SDLC 自動化のベストプラクティスに反します。リポジトリのブランチ削除はビルド時間には影響しません。
例題2Configuration Management and Infrastructure as Code
組織内のすべての AWS アカウントにおいて、Amazon S3 バケットでサーバー側の暗号化(SSE)が有効であることを保証し、非準拠のバケットが発見された場合には自動的に修正される仕組みを構築する必要があります。最も運用効率が高く、継続的なコンプライアンスを維持できる方法はどれですか。
- AWS Config ルールを作成し、修復アクションとして AWS Systems Manager Automation ドキュメントを指定する。
- すべてのバケットに対して Amazon S3 マネージド型暗号化キー(SSE-S3)の使用を強制する IAM ポリシーを全ユーザーに適用する。
- AWS Trusted Advisor のバケット権限チェックを使用し、非準拠の通知が届いた際に手動で設定を変更する。
- すべての S3 バケット作成を Amazon EventBridge で検知し、AWS Lambda をトリガーして暗号化設定を適用する。
- AWS CloudTrail ログを Amazon Athena でクエリし、非準拠のバケットを特定するスクリプトを 1 時間ごとに実行する。
解答と解説を見る
正解: AWS Config ルールを作成し、修復アクションとして AWS Systems Manager Automation ドキュメントを指定する。
正解は「AWS Config ルールを作成し、修復アクションとして AWS Systems Manager Automation ドキュメントを指定する。」です。AWS Config はリソースの設定変更を継続的に監視し、あらかじめ定義されたルールへの適合性を評価します。非準拠が検出された際に SSM Automation を組み合わせて自動修復を実行できるため、運用負荷を最小限に抑えつつコンプライアンスを維持できます。EventBridge と Lambda の組み合わせも自動化は可能ですが、既存リソースの評価や状態管理の面で Config の方が構成管理として適しています。SCP や IAM ポリシーは作成を拒否することはできますが、既存リソースの監視や自動修復には対応していません。
例題3Resilient Cloud Solutions
ある企業が、地理的に離れた2つのAWSリージョン(メイン:us-east-1、セカンダリ:us-west-2)でステートレスなウェブアプリケーションを運用しています。トラフィックは、Amazon Route 53のフェイルオーバールーティングポリシーを使用して、各リージョンのApplication Load Balancer (ALB) にルーティングされています。メインリージョンで障害が発生した際に、自動的にセカンダリリージョンへ切り替えるための最も適切な設定はどれですか。
- Route 53のシンプルルーティングポリシーを使用して、両方のリージョンのALBのDNS名を登録し、TTLを0に設定することで、クライアント側でのキャッシュを防ぎフェイルオーバーを実現する。
- AWS Global Acceleratorを導入し、エンドポイントグループとして両方のALBを登録する。各リージョンのALBに対して独自のスクリプトによるHTTPヘルスチェックをEC2上で実行し続ける。
- 各リージョンのALBにAliasレコードを作成し、「ターゲットの正常性の評価」を「はい」に設定する。Route 53のヘルスチェックをメインリージョンのALBに対して構成し、レコードに紐付ける。
- Route 53のレイテンシールーティングポリシーを使用し、両方のリージョンの正常性を「ターゲットの正常性の評価」で監視する。ヘルスチェックが失敗した場合は、自動的にS3の静的ウェブサイトホスティングへ転送するよう設定する。
- メインリージョンのALBのIPアドレスを監視するCloudWatchアラームを作成し、アラーム状態になった場合にRoute 53のレコードを手動で更新するLambda関数を呼び出す。
解答と解説を見る
正解: 各リージョンのALBにAliasレコードを作成し、「ターゲットの正常性の評価」を「はい」に設定する。Route 53のヘルスチェックをメインリージョンのALBに対して構成し、レコードに紐付ける。
正解は「各リージョンのALBにAliasレコードを作成し、「ターゲットの正常性の評価」を「はい」に設定する。Route 53のヘルスチェックをメインリージョンのALBに対して構成し、レコードに紐付ける。」です。Route 53のフェイルオーバールーティングでは、Aliasレコードとターゲットの正常性の評価(Evaluate Target Health)を組み合わせることで、ALBの背後にあるインスタンスの状態を含めたヘルスチェックが可能になります。手動更新やシンプルルーティングでは迅速な自動フェイルオーバーが実現できません。Global Acceleratorも有効な手段ですが、今回の要件であるフェイルオーバールーティングポリシーの構成としては、Aliasレコードの活用が直接的です。レイテンシールーティングは応答速度に基づき、フェイルオーバー専用の構成とは異なります。
例題4Monitoring and Logging
Auto Scaling グループ(ASG)で運用されている EC2 インスタンス群において、CPU 使用率は低いものの、アプリケーションのメモリ消費が原因でパフォーマンスが低下する問題が発生しています。DevOps エンジニアは、メモリ使用率に基づいて ASG を動的にスケーリングさせたいと考えています。この要件を満たす最も適切な方法はどれですか。
- CloudWatch エージェントを使用してメモリ使用率を収集し、スケーリングの基準とする
- インスタンスメタデータから直接メモリ使用量を取得する Lambda 関数を毎分実行する
- EC2 のデフォルトメトリクスに含まれるディスク使用率を使用してアラームを作成する
- AWS Systems Manager を使用して、インスタンスの負荷を定期的にチェックし再起動する
- VPC フローログを分析して、ネットワークの遅延をメモリ不足の兆候として特定する
解答と解説を見る
正解: CloudWatch エージェントを使用してメモリ使用率を収集し、スケーリングの基準とする
正解は「CloudWatch エージェントを使用してメモリ使用率を収集し、スケーリングの基準とする」です。EC2 の標準メトリクスにはメモリ使用率は含まれていないため、CloudWatch エージェント(以前のカスタムメトリクススクリプトの後継)をインスタンスにインストールし、OS 内部のメトリクスとしてメモリ使用率を CloudWatch に送信する必要があります。送信されたカスタムメトリクスに基づいて CloudWatch アラームを作成し、それを ASG のスケーリングポリシーに紐付けることで、メモリに応じたスケーリングが可能になります。ディスク使用率や VPC フローログはメモリ不足を直接示す指標ではなく、メタデータからもメモリ使用率は取得できません。また、Systems Manager による再起動は根本的な解決策ではありません。
例題5Incident and Event Response
DevOps エンジニアは、Amazon S3 バケットがパブリック読み取り可能になった際に、自動的にそれを検出し、非公開にするための修復プロセスを実装する必要があります。また、コンプライアンスの履歴を保持するために、修復アクションのログを記録する必要があります。最も効率的なソリューションはどれですか。
- Amazon S3 のイベント通知を使用して、パブリックアクセスを無効にする AWS Lambda 関数をトリガーする。
- 1時間ごとに実行される Amazon EventBridge ルールを作成し、すべての S3 バケットをスキャンして修復する Lambda 関数を起動する。
- AWS CloudTrail のログを Amazon Athena で分析し、パブリックアクセス設定を検出するたびに SNS 通知を送信する。
- IAM ポリシーを使用して、組織内のすべてのユーザーに対して S3 パブリックアクセス設定の変更を明示的に拒否する。
- AWS Config 規定のルールを使用し、SSM Automation ドキュメントを修復アクションとして設定する。
解答と解説を見る
正解: AWS Config 規定のルールを使用し、SSM Automation ドキュメントを修復アクションとして設定する。
正解は『AWS Config 規定のルールを使用し、SSM Automation ドキュメントを修復アクションとして設定する。』です。AWS Config はリソースの構成変更を継続的に監視し、非準拠のリソースに対して AWS Systems Manager (SSM) Automation を使用した自動修復をネイティブにサポートしています。これにより、修復の実行結果も Config 内で履歴として管理されます。S3 イベント通知や EventBridge スケジュールによる Lambda 実行も可能ですが、Config を使用する方がコンプライアンス管理のフレームワークとして統合されており、運用のオーバーヘッドが低いです。CloudTrail と Athena の組み合わせは検出には使えますが、自動修復とログ保持を効率的に行う仕組みとしては不十分です。IAM ポリシーでの拒否は予防的コントロールであり、既存のリソースやドリフトに対する「修復」には該当しません。
例題6Security and Compliance
ある企業では、AWS Organizationsを使用して複数のアカウントを管理しています。セキュリティチームから、特定のAWSリージョン以外でのリソース作成を制限しつつ、CloudFrontやIAMなどのグローバルサービスへの影響を避けるようにという指示がありました。管理負荷を最小限に抑えつつ、この要件を満たすための最適な構成はどれですか。
- 各アカウントにConfigルールを作成し、許可されていないリージョンのリソースを検知した際にLambdaで自動削除する。
- すべてのIAMユーザーにインラインポリシーをアタッチし、Condition句でリージョンを制限するスクリプトを実行する。
- 組織のルートレベルでSCPを適用し、aws:RequestedRegion条件演算子を使用して、グローバルサービス以外のリソース作成を制限する。
- CloudFrontの地理的制限機能を使用して、特定のリージョン以外からのアクセスを物理的に遮断する。
- リソースベースのポリシーを使用して、特定のリージョン以外からのAPI呼び出しをすべて拒否する設定を各サービスに適用する。
解答と解説を見る
正解: 組織のルートレベルでSCPを適用し、aws:RequestedRegion条件演算子を使用して、グローバルサービス以外のリソース作成を制限する。
正解は「組織のルートレベルでSCPを適用し、aws:RequestedRegion条件演算子を使用して、グローバルサービス以外のリソース作成を制限する。」です。AWS Organizationsのサービスコントロールポリシー(SCP)を使用することで、組織全体に対して一元的にガードレールを設置できます。aws:RequestedRegion条件キーを利用し、NotAction要素でグローバルサービスを除外することで、必要なサービスを維持しながらリージョン制限が可能です。Configルールによる自動削除は後付の対応であり、管理負荷が高くなります。IAMポリシーの個別適用やリソースベースポリシーの編集は、大規模な環境では現実的ではありません。CloudFrontの地理的制限はコンテンツ配信に対するものであり、AWSリソース作成の制限とは無関係です。
よくある質問
- AWS Certified DevOps Engineer – Professionalの問題はスキルサートで何問解けますか?
- 全353問・6分野の問題を用意しています。問題は出題範囲に沿って随時追加しています。
- 無料で使えますか?
- 無料プランで週10回の演習(1回10問)と、毎日の「今日の1問」を利用できます。解説を読み、わからない点はAIに質問できます。
- ここの問題は過去問ですか?
- 過去問ではありません。出題範囲に沿ってAIが作成した演習問題です。すべて解説つきで、間違えた問題は繰り返し解けます。
AWS Certified DevOps Engineer – Professionalの対策はアプリで
AIが毎週生成する新作問題・ランクマッチ・週次ランキング・AI診断で「続けられる」資格学習を。無料で始められます。