Google CloudLevel 4

難易度は Level 1(やさしめ)〜Level 5(難関) の5段階です。

GCP PCDのサンプル問題(本番形式・解説付き)

GCP PCD(Google Cloud・Professional Cloud Developer(PCD))の出題形式を、実際の問題で確かめられます。ここに掲載する5問は、無料の会員登録で解ける模試 第1回(55問)の冒頭から抜粋したオリジナル問題です。当サイトは全605問を本番CBT準拠の形式で収録しており、この5問はそのごく一部にあたります。

設問1

研究機関が、ゲノム解析のバッチ処理を Compute Engine で毎晩回している。処理は途中で止められても、チェックポイントから再実行すれば翌朝までに終わる。予算が大幅に削られたため、担当者は計算資源の費用をできるだけ大きく下げたい。この要件を満たす手法はどれか。

  • 確約利用割引(CUD)を1年で申し込み、使用量を確約して割引を受ける
  • 継続利用割引(SUD)を申し込み、月内の稼働時間に応じて割引を受ける
  • Spot VM を使い、大幅な割引と引き換えにいつでも停止されうる前提で回す(正解)
  • 推奨事項(Recommender)に従い、マシンタイプを縮小して費用を下げる

解説

Spot VM は大幅な割引を受けられる代わりにいつでも停止されうる VM で、途中で止められても再実行できるバッチ処理に向き、費用を最も大きく下げられる。確約利用割引(CUD)は1年または3年の使用量を確約する割引で、使わなくても課金され、夜間だけ動くバッチには割に合わない。継続利用割引(SUD)は月内の稼働時間が長いと自動で適用される割引で、申し込むものではなく、夜間だけの稼働では効きが小さい。推奨事項(Recommender)に従う縮小は過大な VM を適正にする手法で、割引の幅は Spot VM に及ばない。

設問2

EC サイトの運用チームは、障害が起きるたびに担当者ごとに調べ方がばらばらで、原因の特定に時間がかかっている。チームは、ダッシュボードの指標、Cloud Trace のトレース、Cloud Logging のログを使う調査の手順を統一し、無駄な調査を減らしたい。最も適切な順序はどれか。

  • プロファイルで関数ごとの消費を見て、次にログを読み、最後に指標で範囲を掴む
  • トレースで遅い区間を特定し、次に指標で範囲を掴み、最後にログを読む
  • 指標で異常の範囲と時刻を掴み、次にトレースで遅い区間を特定し、最後にログを読む(正解)
  • ログで具体的な原因を読み、次にトレースで遅い区間を見て、最後に指標で範囲と時刻を掴む

解説

まず指標で異常の範囲と時刻を掴み、次にトレースでその時間帯の遅い区間を特定し、最後にログで具体的な原因を読む順序にすれば、絞り込みながら調べられて無駄が少ない。プロファイルから始める順序は、異常の範囲を掴む前に関数の細部へ入ってしまう。トレースから始める順序は、どのリクエストを見るべきかが決まらない。ログから始める順序は、範囲と時刻が分からないまま大量のログを読むことになる。

設問3

不動産会社の開発者が、新しく作ったプロジェクトで Cloud Run を使い始めようとしたところ、デプロイのコマンドが、サービスの API が有効でないという理由で失敗した。既定のプロジェクトは正しく設定されており、開発者の権限にも問題はない。デプロイを通すために実行すべきコマンドはどれか。

  • gcloud auth application-default login
  • gcloud services enable run.googleapis.com(正解)
  • gcloud container clusters get-credentials <cluster> --region <r>
  • gcloud config set project <id> を実行し、Cloud Run を使うプロジェクトを既定にする

解説

新しいプロジェクトでは使うサービスの API を有効にする必要があり、gcloud services enable run.googleapis.com で Cloud Run の API を有効にすればデプロイが通る。gcloud auth application-default login はクライアントライブラリが使う認証情報(ADC)を作る操作で、API の有効化とは関係しない。gcloud container clusters get-credentials は GKE クラスタの接続情報を取得するコマンドで、Cloud Run には関係しない。gcloud config set project は操作の対象を決めるだけで、既定のプロジェクトは正しく設定済みであり、API も有効にならない。

設問4

SaaS 企業は、GKE のクラスタを複数のチームで共有している。開発者には、自分のチームの名前空間でだけワークロードを作ったり直したりできる権限を渡し、クラスタ全体の管理や他チームの名前空間には触れさせたくない。最も適切な構成はどれか。(2つ選択)

  • Pod Security Admission でクラスタ全体の操作を許可する
  • RBAC を無効にして IAM だけで制御する
  • 名前空間単位の Role と RoleBinding で操作範囲を絞る(正解)
  • roles/container.clusterViewer を与えて接続だけを許す(正解)
  • roles/container.admin を開発者全員に与える

解説

開発者に IAM の roles/container.clusterViewer を与えてクラスタへの接続だけを許し、名前空間単位の Role と RoleBinding でそのチームの名前空間だけに操作の範囲を絞る二段構えが適切です。GKE では IAM と RBAC のどちらか一方で許可されれば操作できるので、プロジェクト単位で全クラスタの Kubernetes のオブジェクトを扱える roles/container.developer を与えると、他チームの名前空間にも触れられてしまいます。Pod Security Admission は特権コンテナなどを名前空間の単位で制限する仕組みで、操作の権限を与えるものではありません。RBAC を無効にして IAM だけで制御する構成は、名前空間ごとの細かい制御ができなくなります。roles/container.admin を全員に与えると、クラスタ全体の管理まで任せることになり、最小権限に反します。

設問5

運用チームが、数百台ある Compute Engine のインスタンスに無駄がないかを点検している。担当者は、実際の使用状況に基づいて、どのインスタンスをどの大きさまで小さくしてよいかの判断材料を、自分で使用率を集計せずに得たいと考えている。使うべき仕組みはどれか。

  • Spot VM に切り替え、割引の効き方から適正な規模を推定する
  • Active Assist の推奨事項(Recommender)に従ってマシンタイプを縮小する(正解)
  • 確約利用割引(CUD)を申し込み、確約量から必要な規模を割り出す
  • 継続利用割引(SUD)の適用状況から、稼働時間の長いインスタンスを特定する

解説

Active Assist の推奨事項(Recommender)は実際の使用状況からマシンタイプの縮小を推奨するので、使用率を自分で集計せずに判断材料が得られる。Spot VM は中断耐性のあるバッチ向けの割引で、どこまで縮小するかを示す仕組みではない。確約利用割引(CUD)は使用量を確約して割引を受ける仕組みで、確約量から逆算しても使用状況に基づく判断材料にはならない。継続利用割引(SUD)は月内の稼働時間が長いと自動で適用される割引で、稼働時間は分かっても縮小できる規模は分からない。

続きは、会員登録なしでそのまま50問解けます。採点と解説つきで、上と同じ本物の問題です。

登録なしで50問解く