※ 他の問題集は「タグ:Professional Cloud DevOps Engineer の模擬問題集」からご覧いただけます。
Google Cloud 認定資格 – Professional Cloud DevOps Engineer – 模擬問題集(全 20問)
Question 1
複数ステップの Google Cloud Build パイプラインを使用してアプリケーションを構築し、Google Kubernetes Engine(GKE)にデプロイします。
Webhook へのビルド情報のHTTP POST を実行してサードパーティの監視プラットフォームと統合する必要がありますが開発工数を最小限に抑えたいと考えています。
どうすればいいのでしょうか?
- A. Google Cloud Build の各ステップにビルド情報をWebhook にHTTP POST するロジックを追加します。
- B. Google Cloud Build のパイプラインの最後にビルド情報をWebhook にHTTP POST する新しいステップを追加します。
- C. Stackdriver Loggingを使用して Google Cloud Build のログからログベースのメトリックを作成し、Webhook の通知タイプでアラートを作成します。
- D. Google Cloud Build の cloud-builds トピックの Pub/Sub に Google Cloud Pub/Sub プッシュサブスクリプションを作成し、ビルド情報をWebhook にHTTP POST します
Correct Answer: D
Reference:
– HTTP 通知を構成する | Cloud Build ドキュメント
Question 2
ユーザートラフィックが最小限の週末のメンテナンス期間中に内部アプリケーションの新しいリリースをデプロイします。
メンテナンス期間が終了した後、新機能の 1つが本番環境で期待通りに動作しないことが判明しました。長時間の停止の後、新しいリリースをロールバックし、修正プログラムを導入しました。将来的に長時間の停止を回避するために、平均復旧時間を短縮するようにリリースプロセスを変更したいと考えています。
何をすべきですでしょうか?(回答を 2つ選択しなさい)
- A. 新しいコードをマージする前に 2つの異なるピアでコードの変更を確認してもらう。
- B. CD サーバー経由で新しいコードをリリースする際に Blue/Green のデプロイ戦略を採用します。
- C. コードリーディングツールを統合してコードがリポジトリに受け入れられる前にコーディング標準を検証します。
- D. リリース前に開発者が自分のローカル開発環境で自動統合テストを実行することを要求する。
- E. CI サーバーを構築して 一連の単体テストをコードに追加し、CI サーバーにコミット時にそれらを実行させ、変更を確認します。
Correct Answer: A、C
Question 3
Google Compute Engine で動作するアプリケーション サーバーのプールがあります。
最小限の構成で開発者がトラブルシューティングのためにアプリケーションログに簡単にアクセスできる安全なソリューションを提供する必要があります。
このソリューションを GCP に実装するにはどうすればよいでしょうか?
- A.
- Stackdriver Logging エージェントをアプリケーション サーバーに展開します。
- 開発者に IAM Logs Viewer の役割を与え、Stackdriver にアクセスしてログを表示できるようにします。
- B.
- Stackdriver Logging エージェントをアプリケーション サーバーに展開します。
- 開発者に IAM Logs Private Logs Viewer の役割を与え、Stackdriver にアクセスしてログを閲覧できるようにします。
- C.
- Stackdriver Monitoring エージェントをアプリケーション サーバにデプロイします。
- 開発者に IAM Monitoring Viewer の役割を与え、Stackdriver にアクセスして指標を表示できるようにします。
- D.
- アプリケーション サーバーにコマンドライン ツールの gsutil をインストールします。
- gsutil を使ってアプリケーション ログを Google Cloud Storage バケットにアップロードするスクリプトを書き、それを 5分ごとにcron で実行するようにスケジュールします。
- 開発者に IAM Object Viewer のアクセス権を与え、指定したバケットのログを閲覧できるようにします。
Correct Answer: B
Question 4
顧客は主力サービスの半年ごとのキャパシティプランニングを行っています。
今後 6ヶ月間のサービスユーザー数の増加率は前月比 10%を見込んでいます。サービスは完全にコンテナ化されており、Google Cloud Platform で Google Kubernetes Engine(GKE)リージョン クラスタを 3つのゾーンに配置し、クラスタ オートスケーラーを有効にして稼働しています。現在、展開している CPUの総容量の約 30%を消費しており、ゾーンの障害に対する回復力が必要です。このような成長やゾーン障害によるユーザーへの悪影響を最小限に抑え、不必要なコストを回避したいと考えています。
予測される成長に対応するためにはどのような準備が必要でしょうか?
- A. ノードプールの最大サイズを確認し、水平ポッド自動スケーリングを有効にしてから負荷テストを行い、予想されるリソースの必要性を確認します。
- B. GKE でデプロイされたクラスタ オートスケーラーを使用しているため、GKE クラスタの成長率に関係なく自動的にスケーリングされます。
- C. 使用率が 30%でかなりの余裕があり、この成長率に対して容量を追加する必要はありません。
- D. 半年間の 10%の成長率を考慮し、ノード容量を 60%追加してその後負荷テストを実施して十分な容量があることを確認します。
Correct Answer: B
Reference:
– クラスタ オートスケーラー | Kubernetes Engine ドキュメント
Question 5
アプリケーションのイメージを構築し、Google Container Registry(GCR)にプッシュしています。
イメージが更新されたときにアプリケーションをデプロイする自動化されたパイプラインを開発工数を最小限に抑えながら構築したいと考えています。
どうすればいいのでしょうか?
- A. Google Cloud Build を使用して Spinnaker パイプラインを起動します。
- B. Google Cloud Pub/Sub を使用して Spinnaker パイプラインを大きくします。
- C. Google Cloud Build のカスタムビルダーを使用して Jenkins パイプラインをトリガーする。
- D. Google Cloud Pub/Sub を使用して Google Kubernetes Engine(GKE)で動作するカスタム Deployment を起動します。
Correct Answer: D
Reference:
– カスタム kube-dns Deployment の設定 | Kubernetes Engine ドキュメント | Google Cloud
Question 6
会社では本番環境のシステムにバグや停止、遅さなどが発生しています。
開発者が新機能の開発やバグ修正のために本番環境を使用しています。構成や実験が本番環境で行われており、ユーザーに障害が発生しています。テスト担当者は本番環境を負荷テストに使用しており、本番システムの速度が低下することがあります。本番環境でのバグや停止を減らし、テスト担当者が新機能の負荷テストを行えるように環境を再設計する必要があります。
何をすべきでしょうか?
- A. 障害が発生するとすぐに検出するために本番環境で自動化されたテストスクリプトを作成します。
B. サーバー容量の少ない開発環境を作り、開発者とテスト担当者のみにアクセス権を与えます。 - C. 開発者が変更できないように本番環境を保護し、1年に1回の制御された更新を設定します。
- D. コードを記述するための開発環境と構成、実験、負荷テストのためのテスト環境を作成します。
Correct Answer: D
Question 7
Google App Engine で動作するアプリケーションをサポートしています。
このアプリケーションは世界中で使用されており、さまざまな種類のデバイスからアクセスされています。接続数を把握したい するために Google App Engine の Stackdriver Monitoringを使用しています。
どの指標を使用すればよいでしょうか。
- A. flex/connections/current
- B. tcp_ssl_proxy/new_connections
- C. tcp_ssl_proxy/open_connections
- D. flex/instance/connections/current
Correct Answer: D
Reference:
– Google Cloud metrics | Cloud Monitoring
Question 8
アプリケーション イメージは Google Cloud Build で構築されており Google Container Registry(GCR)にプッシュされます。
ソース管理でタグ付けされたリリースバージョンに基づいて、アプリケーションの特定のバージョンを指定してデプロイできるようにしたいと考えています。
イメージをプッシュするときに何をするべきでしょうか?
- A.ソース管理のタグで画像ダイジェストを参照します。
- B.イメージ名のパラメーターとしてソース管理のタグを指定します。
- C. Google Cloud Build を使用してアプリケーション イメージにリリース バージョンのタグを含めます。
- D. GCR ダイジェストのバージョン管理を使用して画像をソース管理のタグに一致させます。
Correct Answer: C
Reference:
– ビルドトリガーの作成と管理 | Cloud Build ドキュメント
Question 9
現在、仮想マシン(VM)の使用状況のログを Stackdriver に保存しています。
リアルタイムに更新され、四半期ごとに集計された情報を含む、共有しやすいインタラクティブなVM 利用率のダッシュボードを提供する必要があり、Google Cloud Platform のソリューションを使用したいと考えています。
どうすればいいのでしょうか?
- A.
- VM 使用率ログを Stackdriver から Google BigQuery にエクスポートします。
- Google Data Studio でダッシュボードを作成します。
- ダッシュボードを関係者と共有します。
- B.
- Stackdriver から Google Cloud Pub/SubにVM 使用率ログをエクスポートします。
- Google Cloud Pub/Sub からログをセキュリティ情報とSIEM(イベント管理)システムに送信します。
- SIEM システムでダッシュボードを構築して関係者と共有します。
- C.
- VM 使用率ログを Stackdriver から Google BigQuery にエクスポートします。
- Google BigQuery からログをCSV ファイルにエクスポートします。
- CSVファイルを Google スプレッドシートにインポートします。
- Google スプレッドシートでダッシュボードを作成して関係者と共有します。
- D.
- VM 使用率ログを Stackdriver から Google Cloud Storage バケットにエクスポートします。
- Google Cloud Storage API を有効にしてプログラムでログを取得します。
- カスタムデータ視覚化アプリケーションを構築します。
- 取得されたログをカスタム ダッシュボードに表示します。
Correct Answer: A
Question 10
ビジネスクリティカルなワークロードを Google Compute Engine インスタンスの固定セットで数ヶ月間実行する必要があります。
ワークロードは割り当てられた正確な量のリソースで安定しています。 パフォーマンスに影響を与えることなく、このワークロードのコストを削減したいと考えています。
何をするべきでしょうか?
- A. 確約利用割引を購入します。
- B. インスタンスをマネージド インスタンス グループに移行します。
- C. インスタンスをプリエンプティブル仮想マシンに変換します。
- D. ワークロードの実行に使用されるインスタンスの非マネージド インスタンス グループを作成します。
Correct Answer: D
Reference:
– Google Compute Engine のよくある質問 | Compute Engine ドキュメント
– インスタンス グループ | Compute Engine ドキュメント
Question 11
チームは Google Kubernetes Engine(GKE)にデプロイする新しいアプリケーションを設計しています。
アプリケーション レベルのさまざまな指標を収集し、一元的に集計するためにモニタリングを設定する必要があります。Google Cloud Platform サービスを利用しながらモニタリングの設定に必要な作業量を最小限に抑えたいと考えています。
どうすればいいのでしょうか?
- A.さまざまな指標をアプリケーションから直接 Stackdriver Monitoring API に公開し、Stackdriver でこれらのカスタム指標を観測します。
- B. Google Cloud Pub/Sub クライアント ライブラリをインストールし、アプリケーションからさまざまなトピックにさまざまな指標をプッシュして Stackdriver で集計された指標を観測します。
- C. OpenTelemetry クライアント ライブラリをアプリケーションにインストールし、Stackdriver を指標のエクスポート先として構成してから Stackdriver でアプリケーションの指標を観測します。
- D.アプリケーション固有のログメッセージの形式ですべての指標を出力し、そのメッセージをコンテナから Stackdriver Logging に渡してから Stackdriver 指標を観測します。
Correct Answer: C
Reference:
– 分散トレースを使用して OpenCensus と Cloud Trace でマイクロサービスのレイテンシを監視する
– Distributed Tracing with OpenTelemetry | by Yuri Grinshteyn | Google Cloud – Community
– GCPで理想の構造化ログを出力する方法
Question 12
アプリケーションの成果物は CI/CD パイプラインを介して構築され、デプロイされます。
CI/CD パイプラインではアプリケーションのシークレットに安全にアクセスでき、セキュリティ違反が発生した場合にはより簡単にシークレットをローテーションしたいと考えています。
どうすればいいのでしょうか?
- A. 構築時に開発者にシークレットを要求し、シークレットを保存しないように開発者に指示します。
- B. Git の別の構成ファイルにシークレットを保存し、一部の開発者に構成ファイルへのアクセスを提供します。
- C. Google Cloud KMS の鍵で暗号化された Google Cloud Storage にシークレットを保存し、CI/CD パイプラインに IAM 経由で Google Cloud KMS へのアクセスを提供します。
- D. シークレットを暗号化し、ソースコードリポジトリに保存します。復号鍵を別のリポジトリに保存してパイプラインにアクセスを許可します
Correct Answer: C
Reference:
– アプリケーション データの暗号化 | Cloud KMS ドキュメント
Question 13
会社は Site Reliability Engineering(SRE )の手法を採用しています。
顧客向けアプリケーションに影響を与える大規模で進行中のインシデントのコミュニケーション担当者をしています。障害を解決するための必要な時間の見通しは立っていません。 社内 関係者から障害の最新情報を求めているメールと、何が起こっているのかを知りたい顧客からのメールを受け取っています。 障害の影響を受けるすべての人に効率的に最新の更新情報を提供したいと考えています。
どうすればいいでしょうか?
- A. 少なくとも 30分ごとに社内 関係者に対応することに注力し、 「次の更新」の時間を約束します。
- B. すべての関係者に定期的な更新情報を提供します。 すべてのコミュニケーションで「次の更新」の時間を約束します。
- C. 社内 関係者のメールへの対応してインシデント対応チームの別メンバーに委任します。 顧客には直接対応することに注力します。
- D. すべての社内 関係者のメールをインシデント コマンダーに委任し、社内のコミュニケーションを管理できるようにします。 顧客には直接対応することに注力します。
Correct Answer: C
Reference:
– SRE の教訓 : Google におけるインシデント管理とは
Question 14
Google Compute Engine でアプリケーションを実行し、Stackdriver でログを収集しています。
特定のログエントリのフィールドに個人が特定できる情報(PII)が漏れていることがわかりました。すべての PII エントリはテキスト userinfo で始まります。 これらのログエントリを安全な場所にキャプチャして後で確認し、Stackdriver Logging リークしないようにする必要があります。
何をするべきでしょうか?
- A. userinfo に一致する基本的なログフィルタを作成し、Google Cloud Storage をsink として使用して Stackdriver コンソールでログエクスポートを構成します。
- B. Stackdriver エージェントで Fluentd フィルタ プラグインを使用して userinfo を含むログエントリを削除し、エントリを Google Cloud Storage バケットにコピーします。
- C. userinfo に一致する高度なログフィルタを作成し、Google Cloud Storage をsink として Stackdriver コンソールでログのエクスポートを構成してから、userinfo をフィルタとしてログの除外を構成します。
- D. Stackdriver エージェントで Fluentd フィルタ プラグインを使用して userinfo を含むログエントリを削除し、userinfo に一致する高度なログフィルタを作成します。Google Cloud Storage をsink として Stackdriver コンソールでログエクスポートを構成します。
Correct Answer: A
Question 15
Google Cloud Build を使って新しい Docker イメージを構築し、Docker Hub にプッシュするCI/CD パイプラインがあります。
コードのバージョン管理には Git を使用しています。Google Cloud Build の YAML 設定を変更した後、パイプラインで新しい成果物がビルドされていないことに気付きました。Site Reliability Engineering のプラクティスに従って、この問題を解決します。
何をすべきでしょうか?
- A. CI パイプラインを無効にして成果物を手動でビルドしてプッシュするように戻します。
- B. 成果物を Docker Hub ではなく、Google Container Registry にプッシュするようにCI パイプラインを変更します。
- C. YAML 設定ファイルを Google Cloud Storage にアップロードし、エラーレポートを使用して問題を特定して修正します。
- D. 前回の Google Cloud Bulid の設定ファイルと現在の Google Cloud Bulid の構成ファイルの間で Git compare(比較)を実行してバグを見つけて修正します。
Correct Answer: B
Reference:
– Docker Hub イメージとのやり取り | Cloud Build ドキュメント
Question 16
Google Cloud Platform で実行されるトラフィックの多いウェブ アプリケーションをサポートしています。
アプリケーションのエンジニアリングに変更を加えることなく、ユーザーの視点からアプリケーションの信頼性を測定する必要があります。
何をするべきでしょうか? (回答を 2つ選択しなさい)
- A. 現在のアプリケーション指標を確認し、必要に応じて新しい指標を追加します。
- B. コードを変更してユーザーのインタラクションに関する追加情報を取得します。
- C. Webプロキシのログのみを分析し、各要求の応答時間を取得します。
- D. 新しい合成クライアントを作成して、アプリケーションを使用したユーザージャーニーをシミュレートします。
- E. 現在と過去のリクエストログを使用してアプリケーションとの顧客のやり取りを追跡します。
Correct Answer: B、D
Reference:
– Google のサイト信頼性エンジニアリング担当ディレクターが語るデジタル トランスフォーメーション
– SRE の原則に沿ったトイルの洗い出しとトラッキング
Question 17
Stackdriver Logging にログを書き込んでいるアプリケーションを管理します。
一部のチームメンバーにログをエクスポートする機能を与える必要があります。
何をするべきでしょうか?
- A. チームメンバーに CloudI AM の logging.configWriter(ログ構成書き込み)のIAM 役割を付与します。
- B. チームメンバーのみがログをエクスポートできるように Access Context Manager を構成します。
- C. logging.sinks.list と logging.sink.get の権限を持つカスタム IAM ロールを作成して付与します。
- D. Cloud IAM で組織ポリシーを作成し、チームメンバーのみがログエクスポートを作成できるようにします。
Correct Answer: A
Reference:
– アクセス制御ガイド | Cloud Logging
Question 18
アプリケーションサービスは GoogleKubernetes Engine(GKE)で実行されます。
開発時間を最小限に抑えながら altostrat-images プロジェクトで一元管理している Google Container Registry(GCR)イメージ レジストリからのイメージのみをクラスタにデプロイできるようにしたいと考えています。
何をするべきか?
- A. gcr.io/altostrat-images に画像のみをプッシュする Google Cloud Build のカスタムビルダーを作成します。
- B. ホワイトリストの名前パターン gcr.io/altostrat-images/ を含む Binary Authorizationポリシーを使用します。
- C. すべてのマニフェストに gcr.io/altostrat-images のイメージのみが含まれていることを確認するロジックをデプロイメント パイプラインに追加します。
- D. gcr.io/altostrat-images の各イメージにタグを追加し、イメージのデプロイ時にこのタグが存在することを確認します。
Correct Answer: D
Reference:
– コンテナ化されたウェブ アプリケーションのデプロイ | Kubernetes Engine
– 自動デプロイの設定 | Kubernetes Engine ドキュメント
Question 19
GCP で実行されているアプリケーションをサポートしており、Stackdriver Monitoring で最も重要なアラートのSMS 通知をチームに設定したいと考えています。
これを構成するアラートポリシーはすでに特定できています。
何をするべきでしょうか?
- A. Stackdriver Monitoring とSMS ゲートウェイ間のサードパーティ統合ツールをダウンロードして設定します。チームメンバーが外部ツールに自分のSMS/電話番号を追加するようにします。
- B. 各警告ポリシーのWebhook 通知オプションを選択し、サードパーティ統合ツールを使用するように構成します。チームメンバーが外部ツールに自分のSMS/電話番号を追加していることを確認してください。
- C. チームメンバーが Stackdriver Profile で SMS/電話番号を設定していることを確認する。各警告ポリシーのSMS 通知オプションを選択し、リストから適切なSMS/電話番号を選択します。
- D. 各警告ポリシーにSlack 通知を設定します。Slack からSMS への統合を設定して、Slack メッセージを受信したときにSMS メッセージを送信します。チームメンバーが外部統合に自分のSMS/電話番号を追加するようにします。
Correct Answer: D
Reference:
– 通知チャネルの管理 #Slack チャンネルへの Monitoring アプリの追加 | Cloud Monitoring
– GCP 【GCP入門編・第19回】 Stackdriver Monitoring でメールや Slack による通知を設定しよう!
– GCPのStackdriverでモニタリングでエラー通知を作成する
Question 20
チームは Google Cloud Platform の内部/外部の両方でデプロイする新しいアプリケーションを設計しています。
システムリソースの使用率などの詳細な指標を収集する必要があります。この収集システムのセットアップに必要な作業量を最小限に抑えながら、一元化された GCP サービスを使用したいと考えています。
どうすればいいのでしょうか?
- A. Stackdriver Profiler パッケージをインポートし、関数のタイミング情報を Stackdriver に中継して解析するように設定します。
- B. Stackdriver Debugger パッケージをインポートし、タイミング情報を含むデバッグ メッセージを出力するようにアプリケーションを構成します。
- C. タイミング ライブラリを使ってコードを計測し、Stackdriver がスクレイピングするヘルスチェック エンドポイントで指標を公開します。
- D. 両方の場所にアプリケーション パフォーマンス監視(APM)ツールをインストールし、分析のために中央のデータ保存場所へのエクスポートを構成します。
Correct Answer: B
Reference:
– デバッグ ログポイント | Cloud Debugger
Comments are closed