難易度は Level 1(やさしめ)〜Level 5(難関) の5段階です。
GCP PDOのサンプル問題(本番形式・解説付き)
GCP PDO(Google Cloud・Professional Cloud DevOps Engineer(PDO))の出題形式を、実際の問題で確かめられます。ここに掲載する5問は、無料の会員登録で解ける模試 第1回(55問)の冒頭から抜粋したオリジナル問題です。当サイトは全605問を本番CBT準拠の形式で収録しており、この5問はそのごく一部にあたります。
設問1
ある企業は、BigQuery のデータセットに CMEK を有効にし、セキュリティチームのプロジェクトにある Cloud KMS の鍵を使うようにした。鍵リングはデータセットと同じリージョンにあり、鍵も有効である。ところが有効化の直後から、クエリやデータの読み込みが鍵へのアクセスで止まるようになった。典型的な原因はどれか。
- 鍵リングのロケーションがデータの置かれたリージョンと異なっており、参照そのものが拒否されている
- 鍵の自動ローテーション期間が設定されておらず、primary の鍵バージョンが決まっていない
- 保護レベルが SOFTWARE のままで、対象サービスが要求する HSM の水準を満たしていない
- サービスのサービスエージェントに
roles/cloudkms.cryptoKeyEncrypterDecrypterが付いていない(正解)
解説
サービスが CMEK を使うにはそのサービスのサービスエージェントに roles/cloudkms.cryptoKeyEncrypterDecrypter を付ける必要があり、付け忘れがトラブルの典型です。鍵の所在地はデータレジデンシー要件で揃えるもので、CMEK を有効にした直後に一斉に扱えなくなる原因としては、権限の付け忘れのほうが先に疑われます。自動ローテーションは対称鍵で設定できる機能で、未設定でも利用は妨げられません。保護レベルの選択は要件に応じたもので、CMEK の前提ではありません。
設問2
ある企業は、Kubernetes の共通構成を社内の Git リポジトリでパッケージとして公開し、各チームが取得して使っている。テンプレート言語で YAML を生成する方式は、出力を読まないと何が適用されるか分かりにくいと不評だった。今後は、取得した実際の YAML を関数で書き換えて配る形にする。適したツールはどれか。
- Helm
- kpt(正解)
- Packer
- Jenkins
解説
kpt は Kubernetes の構成パッケージを Git から取得し、関数(kpt functions)で変換して適用するツールで、テンプレート言語を使わず実際の YAML を操作する点が Helm と異なる。Helm はテンプレート言語で YAML を生成する。Packer は VM イメージを宣言的にビルドするツール、Jenkins は CI サーバーであり、いずれも構成パッケージの変換には当たらない。
設問3
ある医療系サービスは、患者データを Cloud Storage と BigQuery に保存している。監査対応で、患者データを誰がいつ読み出したかの記録の提出が求められた。現在は監査ログを既定の状態のまま使っており、追加の構成は行っていない。この要件を満たすために必要な対応はどれか。
- Admin Activity 監査ログは既定で有効なので、追加の設定をせずそのまま記録を提出する
- 対象サービスについて Data Access 監査ログの DATA_READ を有効化する(正解)
- System Event 監査ログの記録内容を確認し、必要な期間だけログバケットの保持を延長する
- Policy Denied 監査ログを有効化し、セキュリティポリシーで拒否された読み出し操作を記録対象に加える
解説
Data Access ログはデータの読み書きを記録し、BigQuery を除いて既定は無効で、ADMIN_READ / DATA_READ / DATA_WRITE を種別ごとに有効化します。誰がこの顧客データを読んだかを要求される規制では必須になります。Admin Activity は常に有効ですが構成・メタデータを変更する操作の記録であり、読み出しの記録ではありません。System Event は Google のシステムが行った操作の記録で、利用者の読み出しは含みません。Policy Denied はセキュリティポリシーで拒否された操作の記録で、成功した読み出しを残しません。
設問4
ある企業のサービスは、東京リージョンの 3 つのゾーンで動いている。先週、そのうち 1 つのゾーンで障害が発生したが、サービスは大きな影響を受けずに継続し、オンコールの介入も要らなかった。振り返りで、この結果をもたらした構成を確認している。この結果をもたらした構成として正しいものはどれか。
- connection draining が、障害が起きたゾーンの既存接続を他のゾーンへ引き継いだ
- リージョン MIG とマルチゾーンの GKE ノードプールが、障害を自動的に吸収した(正解)
- DNS のフェイルオーバーが、レコードの重みを書き換えたうえで、TTL の経過とともに向き先を切り替えた
- Cloud Armor が、障害ゾーン宛のトラフィックをレート制限した
解説
ゾーン障害では、リージョン MIG とマルチゾーンの GKE ノードプールが自動的に吸収します。connection draining は既存接続を完了させる仕組みで、他ゾーンへ引き継ぐ機能ではありません。DNS のフェイルオーバーは TTL に左右されるため即時ではなく、最後の手段とされています。Cloud Armor は悪性トラフィックやレート超過への対処で、ゾーン障害の吸収とは関係がありません。
設問5
ある通販企業では、ログの取り込みが急増したことに、月末の請求書で初めて気づいたことがある。SRE は、監視の費用が急に増えた時に、すぐ気づいて原因をすぐ特定できる状態を作りたい。「監視の費用を監視する」形として適切なものはどれか。
- 取り込み量のメトリクスにアラートを置き、リソースタイプ別・プロジェクト別に分解したダッシュボードを持つ(正解)
- 請求データの BigQuery エクスポートを月次で集計し、前月との差額が大きい項目を抽出する
- 課金アカウントに予算を設定し、実績が閾値に達した時点で監視系のシンクを停止する
- 推奨事項の BigQuery Export を有効にし、コストのカテゴリの推奨だけを日次で確認する
解説
取り込み量のメトリクス(logging.googleapis.com/billing/bytes_ingested、Monitoring の取り込み量)にアラートを置き、リソースタイプ別・プロジェクト別に分解したダッシュボードを作ると、急増時にどのソースが原因かを即座に特定できます。月次の集計では急増を即時に把握できません。予算は通知するだけで支出を止めず、閾値で監視系のシンクを停止する仕組みでもありません。推奨事項の Export は Active Assist の運用で、監視の取り込み量の分解には対応しません。
続きは、会員登録なしでそのまま50問解けます。採点と解説つきで、上と同じ本物の問題です。
登録なしで50問解く