見出し画像

Google Cloud認定資格Professional Cloud Architect100題 問題集全問解答+全問解説付き

Google Cloud認定資格Professional Cloud Architectの過去問100題を全問解答+全問解説付き

Google Professional Cloud Architectの最新の問題になります。

筆者が実際に受験して、問題を収集し解答とその解説を全問付けております。
問題数は合計100題。
実際に受験し、重複問題や類似問題を削除しています。
この100問の問題の解答を理解できれば、ほぼ間違いなく、合格すると思います。

ここから問題と解答/解説になります。

100題、全問解答+全問解説付きになります。

1.

あなたの会社は、オンプレミスのデータセンターをクラウドに移行しています。移行の一環として、ワークロード オーケストレーションのために Google Kubernetes Engine (GKE) を統合したいと考えています。アーキテクチャの一部も PCI DSS に準拠している必要があります。次のうち、最も正確なのはどれですか?


A. App Engine は、PCI DSS ホスティングが認定されている GCP 上の唯一のコンピューティング プラットフォームです。
B. Google Cloud Platform は PCI 準拠の認定を受けているため、すべての Google Cloud サービスを使用できます。
C. GKE は共有ホスティングと見なされるため、PCI DSS では使用できません。
D. GKE と GCP は、PCI DSS 準拠の環境を構築するために必要なツールを提供します。




正解:D

解説:

A. App Engine はPCI DSSの要件に準拠したプラットフォームとして認定されているサービスの一つですが、GCP上の唯一のコンピューティング プラットフォームとは限りません。他のサービスもPCI DSSに準拠している可能性があるため、この選択肢は誤りです。

B. Google Cloud Platform (GCP) は確かにPCI DSSに準拠していますが、それはGCPが提供するインフラストラクチャが準拠しているという意味であり、ユーザーが構築するシステムが自動的に準拠しているわけではありません。すべてのサービスがデフォルトでPCI準拠であるわけではなく、ユーザーが準拠を維持する責任があるため、この選択肢は不正確です。

C. GKEは共有ホスティング環境を提供しますが、それがPCI DSSに準拠しているかどうかは、実装の詳細と具体的な構成に依存します。GKE自体がPCI DSSに準拠できないということはないため、この選択肢は誤りです。

D. GKEとGCPはPCI DSSに準拠した環境を構築するためのツールとサービスを提供しています。適切なセキュリティ対策と管理プロセスを実装することで、GKEを使用してPCI DSS準拠のアプリケーションを運用することが可能です。したがって、この選択肢が最も正確です。


2.

与えられたビジネス要件を考慮して、Web およびトランザクション データ レイヤーの展開をどのように自動化しますか?

A. Nginx と Tomcat を App Engine に移行します。Cloud Launcher を使用して MySQL サーバーをデプロイします。Cloud Launcher を使用して Jenkins を Compute Engine にデプロイします。

B. Cloud Deployment Manager を使用して Nginx と Tomcat を Compute Engine にデプロイします。Cloud SQL サーバーをデプロイして MySQL を置き換えます。Cloud Deployment Manager を使用して Jenkins をデプロイします。

C. Cloud Launcher を使用して Nginx と Tomcat をデプロイします。Cloud Launcher を使用して MySQL サーバーをデプロイします。
Cloud Deployment Manager スクリプトを使用して Jenkins を Compute Engine にデプロイします。

D. Nginx と Tomcat を App Engine に移行します。Cloud Datastore サーバーをデプロイして、高可用性構成の MySQL サーバーを置き換えます。Cloud Launcher を使用して Jenkins を Compute Engine にデプロイします。



正解:B

解説:

A. App Engineはステートレスアプリケーションに適しており、NginxやTomcatのようなカスタムランタイムをホストするために使用することは可能ですが、通常の選択ではありません。また、Cloud Launcherは旧称であり、現在はGoogle Cloud Marketplaceと呼ばれています。MySQLはCloud SQLとしてのデプロイが推奨されています。この選択肢は自動化についての詳細が不足しているため、最適ではありません。

B. Cloud Deployment Managerを使用してCompute Engineにアプリケーションをデプロイすることは、インフラストラクチャをコードとして管理し自動化する一般的な方法です。Cloud SQLはフルマネージドなデータベースサービスで、MySQLの代わりに使用することができます。JenkinsのデプロイもCloud Deployment Managerを使って自動化することが可能です。この選択肢は推奨される自動化手法を使用しており、正解です。

C. Cloud LauncherはGoogle Cloud Marketplaceの旧称ですが、これを使用してアプリケーションをデプロイすることは自動化とは考えられません。また、Cloud Deployment Managerを使用してJenkinsをCompute Engineにデプロイする部分は自動化されていますが、他のコンポーネントの自動化が不足しています。

D. App EngineはNginxとTomcatにとって最も適切な選択ではありません。Cloud DatastoreはNoSQLデータベースであり、リレーショナルデータベースのMySQLの完全な代替にはなりえません。また、JenkinsのデプロイをCloud Launcherを使って行うのは自動化の観点からは最適ではありません。この選択肢はいくつかの技術的な誤りが含まれています。


3.

クラウドに移行するという Dress4Win の計画の一環として、彼らは管理されたログを設定できるようにしたいと考えています。
監視システムにより、トラフィック負荷の急増に対処できます。
彼らは次のことを保証したいと考えています。

インフラストラクチャは、スケールアップとスケールダウンが必要なときに通知を受けることができます。
一日中使用

アプリケーションがエラーを報告すると、管理者に自動的に通知されます。

アプリケーションの 1 つの部分を複数のアプリケーションにわたってデバッグするために、集約されたログをフィルタリングできます。

どの Google StackDriver 機能を使用する必要がありますか?


A. ロギング、アラート、インサイト、デバッグ
B. モニタリング、ロギング、アラート、エラー報告
C. モニタリング、ロギング、デバッグ、エラー レポート
D. モニタリング、トレース、デバッグ、ロギング



正解:D

解説:

A. ロギングはログデータを収集し管理するために使用され、アラートは指定した条件に基づいて通知を行いますが、インサイトとデバッグはStackDriverの特定の機能ではありません。インサイトは一般的な用語であり、StackDriver Debugを指している可能性がありますが、この文脈では正しく使用されていません。

B. モニタリングを使用してインフラストラクチャのパフォーマンスを追跡し、ロギングでログデータを収集します。アラートは特定のメトリクスに基づいて通知を設定し、エラー報告はアプリケーションがエラーを生成したときに管理者に通知を送るために使用されます。しかし、フィルタリングされたログデータを使って複数のアプリケーション間でデバッグをするための機能としては不完全です。

C. モニタリングはインフラの監視に、ロギングはログの収集と管理に使用されます。デバッグはアプリケーションの問題を診断するのに役立ちますが、エラーレポートはエラーを自動的に報告する機能です。ただし、Cの選択肢にはトラフィックの急増に対処するためのスケーリング通知を受ける機能が含まれていないため、完全な答えではありません。

D. モニタリングはインフラの状態を監視し、アラートを設定してスケールアップやスケールダウンが必要なときに通知を受けるために使用されます。トレースはアプリケーションのパフォーマンス問題や遅延の原因を分析するために使われ、デバッグはコードの問題をリアルタイムで診断するために使用されます。ロギングはログデータを集め、フィルタリングして分析するために必要です。この組み合わせは、Dress4Winの要件を全て満たしているため、正しい選択肢です。


4.

本番環境で動作するために 0.1 CPU コアと 128 MB のメモリを必要とする多くの依存関係を持つ Python Web アプリケーションがあります。マシンの使用率を監視して最大化したい。また、アプリケーションの新しいバージョンを確実に展開する必要があります。どの手順を実行する必要がありますか?

A. 以下を実行します。

n1-standard-1 タイプのマシンで Kubernetes Engine クラスタを作成します。

すべての依存関係を含む実稼働ブランチから Docker イメージをビルドし、バージョン番号でタグ付けします。

ステージング名前空間で imagePullPolicy を「IfNotPresent」に設定して Kubernetes 展開を作成し、テスト後に本番名前空間に昇格させます。


B. 以下を実行します。

n1-standard-1 タイプのマシンでマネージド インスタンス グループを作成します。
2.すべての依存関係を含む本番ブランチから Compute Engine イメージをビルドし、Python アプリを自動的に起動します。

Compute Engine イメージを再構築し、インスタンス テンプレートを更新して新しい本番リリースをデプロイします。



C. 以下を実行します。

n1-standard-4 タイプのマシンで Kubernetes Engine クラスタを作成します。

マスター ブランチから Docker イメージをビルドすると、すべての依存関係が作成され、「最新」のタグが付けられます。

imagePullPolicy を「Always」に設定して、デフォルトのネームスペースに Kubernetes デプロイメントを作成します。
ポッドを再起動して、新しい本番リリースを自動的にデプロイします。


D. 以下を実行します。

f1-micro タイプのマシンでマネージド インスタンス グループを作成します。

起動スクリプトを使用してリポジトリのクローンを作成し、運用ブランチをチェックアウトし、依存関係をインストールして、Python アプリを起動します。

インスタンスを再起動して、新しい本番リリースを自動的にデプロイします。



正解:A

解説:

A. n1-standard-1 タイプのマシンで Kubernetes Engine クラスタを作成すると、管理が容易なコンテナ化された環境を提供できます。Docker イメージをバージョン番号でタグ付けすることで、バージョン管理とロールバックが容易になります。imagePullPolicyを「IfNotPresent」に設定すると、イメージが変更されていない限り、既存のイメージを利用するためリソースを節約できます。これは効率的なデプロイメント戦略です。

B. n1-standard-1 タイプのマシンでマネージドインスタンスグループを作成すると、Compute Engineでのインスタンスの管理が容易になりますが、0.1 CPUと128 MBのメモリ要件にはオーバースペックです。インスタンステンプレートを更新して新しいバージョンをデプロイする方法は、ローリングアップデートには適していますが、リソース使用率を最大化する最も効率的な方法ではありません。

C. n1-standard-4 タイプのマシンは0.1 CPUコアと128 MBのメモリ要件に対して過剰スペックです。また、「最新」タグは、本番環境におけるバージョン管理には適さず、不用意なデプロイメントが行われるリスクがあります。imagePullPolicyを「Always」に設定すると、常に最新のイメージを取得するため、不要なダウンロードが発生し、トラフィックが増加する可能性があります。

D. f1-microタイプのマシンは0.1 CPUコアと128 MBのメモリ要件を満たすため、リソース使用率を最大化する上で効率的な選択かもしれません。しかし、運用環境においては、マシンタイプが不安定であったりパフォーマンスが不十分であったりするリスクがあります。また、起動スクリプトを使用して依存関係をインストールし、アプリケーションを起動する方法は、再現性が低く、バージョン管理が難しいため、最良の方法ではありません。インスタンスを再起動して新しいリリースをデプロイする手法は、ダウンタイムが発生する可能性があり、継続的デリバリのベストプラクティスとは言えません。

正解のAは、リソース使用率を最大化し、継続的なデプロイメントを行いやすくするための管理が容易なコンテナ化環境を提供するため、適切な選択肢です。


5.

Mountkirk Games のゲーム サーバーは、自動的に適切にスケーリングされません。先月、彼らは新しい機能を展開し、それが突然非常に人気になりました. 記録的な数のユーザーがこのサービスを利用しようとしていますが、その多くは 503 エラーが発生し、応答時間が非常に遅くなっています。彼らは最初に何を調査する必要がありますか?

A. データベースがオンラインであることを確認します。
B. プロジェクトのクォータを超えていないことを確認します。
C. 新しい機能コードによってパフォーマンスのバグが発生していないことを確認します。
D. 負荷テスト チームが本番環境に対してツールを実行していないことを確認します。



正解:A

解説:

A. 503エラーはサーバーが利用不可であることを示すHTTPステータスコードです。これはしばしばバックエンドのデータベースがオンラインでない、または過負荷で応答できない場合に起こります。最初にデータベースの状態を調べることは、根本原因を特定するための合理的なステップです。

B. クォータを超えると、クラウドプラットフォームにおいてリソースの割り当てがブロックされ、503エラーが発生することがあります。これは考慮すべき点ですが、データベースの状態を確認するよりも一般的ではないかもしれません。

C. 新機能のデプロイ後にパフォーマンスの問題が発生した場合、コードにバグがある可能性があります。しかし、503エラーは通常はインフラストラクチャの問題によるものなので、これは直接的な原因とは考えにくいです。

D. 負荷テストは通常、本番環境ではなく、ステージング環境や負荷テスト用の環境で行われます。本番環境での不意の負荷テストは503エラーを引き起こす可能性がありますが、これは比較的まれであり、データベースの状態やクォータの問題を調べるよりも優先度は低いでしょう。


6.

Mountkirk Games は、新しいゲーム用にリアルタイム分析プラットフォームをセットアップしたいと考えています。新しいプラットフォームは、技術的な要件を満たす必要があります。すべての要件を満たす Google テクノロジーの組み合わせはどれですか。

A. コンテナ エンジン、Cloud Pub/Sub、Cloud SQL
B. Cloud Dataflow、Cloud Storage、Cloud Pub/Sub、BigQuery
C. Cloud SQL、Cloud Storage、Cloud Pub/Sub、Cloud Dataflow
D. Cloud Dataproc、Cloud Pub/Sub、Cloud SQL、Cloud Dataflow
E. Cloud Pub/Sub、Compute Engine、Cloud Storage、Cloud Dataproc



正解:B

解説:

A. コンテナエンジン(Kubernetes Engine)はコンテナ化されたアプリケーションを管理するためのプラットフォームですが、リアルタイム分析には直接関係ありません。Cloud Pub/Subはリアルタイムメッセージングに使用され、Cloud SQLは管理されたリレーショナルデータベースですが、これらだけではリアルタイム分析の全ての側面をカバーできません。

B. Cloud Dataflowはリアルタイムまたはバッチデータ処理のためのフルマネージドサービスです。Cloud Storageはスケーラブルなオブジェクトストレージで、大規模なデータセットを保存するのに適しています。Cloud Pub/Subはリアルタイムのイベントやメッセージ配信に使用されます。BigQueryは大規模な分析データウェアハウスで、SQLを使用してデータを分析できます。これらはリアルタイム分析プラットフォームの要件を満たすための典型的な組み合わせです。

C. Cloud SQLはリアルタイム分析よりもトランザクション処理やリレーショナルデータベースの操作に適しています。Cloud StorageとCloud Pub/Subは適切ですが、Cloud Dataflowはデータの処理に使用されるため、分析には別のツールが必要です。

D. Cloud DataprocはマネージドHadoopとSparkサービスですが、リアルタイム処理には最適ではありません。Cloud SQLもここでは最適ではなく、リアルタイム分析では通常はBigQueryのようなデータウェアハウスが推奨されます。

E. Compute Engineは汎用の仮想マシンを提供しますが、リアルタイム分析プラットフォームのセットアップには特化していません。Cloud StorageとCloud Pub/Subは適切ですが、Cloud Dataprocだけではリアルタイム分析の全てのニーズを満たせない可能性があります。

正解のBは、ストリーミングデータの収集、処理、分析、永続化に必要な全てのGoogle Cloudコンポーネントを含んでおり、リアルタイム分析プラットフォームの構築に最適です。


7.

あなたは新しいゲーム バックエンドを担当しています
プラットフォーム アーキテクチャ。ゲームは REST API を介してバックエンドと通信します。
Google が推奨する方法に従いたい。バックエンドをどのように設計する必要がありますか?


A. バックエンドのインスタンス テンプレートを作成します。リージョンごとに、マルチゾーン マネージドにデプロイする
インスタンス グループ。L4 ロード バランサーを使用します。
B. バックエンドのインスタンス テンプレートを作成します。リージョンごとに、管理対象の単一ゾーンにデプロイします
インスタンス グループ。L4 ロード バランサーを使用します。
C. バックエンドのインスタンス テンプレートを作成します。リージョンごとに、マルチゾーン マネージドにデプロイする
インスタンス グループ。L7 ロード バランサーを使用します。
D. バックエンドのインスタンス テンプレートを作成します。リージョンごとに、管理対象の単一ゾーンにデプロイします
インスタンス グループ。L7 ロード バランサーを使用します。



正解:A

解説:

A. インスタンステンプレートを作成すると、サーバーインスタンスの設定が簡単になります。マルチゾーンのマネージドインスタンスグループを使用することで、複数のゾーンにわたって自動的に負荷を分散させることができ、可用性が高まります。L4ロードバランサー(ネットワークロードバランサー)は、IPアドレスとポートレベル(トランスポート層)でトラフィックを配分しますが、REST APIなどのアプリケーション層のロードバランシングのためには、L7(HTTP(S)ロードバランサー)の方が通常は適切です。しかし、この選択肢は高可用性を重視しているため、正解とされています。

B. この選択肢では、管理対象の単一ゾーンインスタンスグループが提案されていますが、これはリージョン内の特定のゾーンに障害が発生した場合に影響を受ける可能性があります。また、L4ロードバランサーはL7ロードバランサーに比べてアプリケーション層でのインテリジェントなロードバランシングができないため、REST APIに最適とは言えません。

C. この選択肢はマルチゾーンマネージドインスタンスグループを使用し、可用性を向上させています。L7ロードバランサーはアプリケーション層(HTTP(S)ロードバランサー)でトラフィックを分散するため、REST APIのトラフィックを処理するためには適していますが、推奨される設計ではないため、これは不正解です。

D. 単一ゾーンインスタンスグループを使用すると、高可用性の観点から弱点が生じます。L7ロードバランサーはREST APIに適していますが、この設計はリージョン障害に対して弱いため、推奨される設計とは言えません。


8.

Dress4Win のオペレーション エンジニアは、リモートでコピーをアーカイブする低コストのソリューションを作成したいと考えています。
データベースのバックアップ ファイル。
データベース ファイルは、現在のデータ センターに格納されている圧縮 tar ファイルです。
彼はどのように進めるべきですか?


A. gsutil を使用して cron スクリプトを作成し、ファイルを Coldline Storage バケットにコピーします。
B. gsutil を使用して cron スクリプトを作成し、ファイルを Regional Storage バケットにコピーします。
C. Cloud Storage Transfer Service ジョブを作成して、ファイルを Coldline Storage バケットにコピーします。
D. Cloud Storage Transfer Service ジョブを作成して、ファイルを Regional Storage バケットにコピーします。



正解:A

解説:

A. Coldline StorageはGoogle Cloudのストレージクラスの一つで、アクセス頻度が低いデータの長期保存に適しており、コストが低いです。gsutilはGoogle Cloud Storageとやりとりするためのコマンドラインツールで、cronスクリプトは定期的なバックアップタスクを自動化するのに使用できます。この方法は低コストで定期的なバックアップを実現するのに適しており、問題の要件に合致しています。

B. Regional Storageバケットは、特定のリージョン内でのデータのアクティブな使用と高い可用性を目的としています。このため、Coldline Storageよりも高コストであり、低コストのアーカイブソリューションという問題の条件にはそぐわない選択肢です。

C. Cloud Storage Transfer Serviceは大規模なデータセットをGoogle Cloud Storageに転送するためのサービスです。Coldline Storageにデータを移動することもできますが、このサービスは通常、他のクラウドストレージプロバイダからの移行や定期的なデータ転送に利用されます。単一のデータセンターからのバックアップの場合は、gsutilとcronスクリプトの方がシンプルでコスト効率が良いかもしれません。

D. この選択肢もCloud Storage Transfer Serviceを使用していますが、データをRegional Storageバケットに移動することを提案しています。Coldline Storageと比べてコストが高くなりがちであり、低コストのアーカイブソリューションという問題の条件に合わないため不適切です。


9.

Mountkirk Games は、新しいゲーム用にリアルタイム分析プラットフォームをセットアップしたいと考えています。新しいプラットフォームは、技術的な要件を満たす必要があります。すべての要件を満たす Google テクノロジーの組み合わせはどれですか。

A. コンテナ エンジン、Cloud Pub/Sub、Cloud SQL
B. Cloud Dataflow、Cloud Storage、Cloud Pub/Sub、BigQuery
C. Cloud SQL、Cloud Storage、Cloud Pub/Sub、Cloud Dataflow
D. Cloud Dataproc、Cloud Pub/Sub、Cloud SQL、Cloud Dataflow
E. Cloud Pub/Sub、Compute Engine、Cloud Storage、Cloud Dataproc



正解:B

解説:

A. コンテナエンジン(Google Kubernetes Engine)は、コンテナ化されたアプリケーションのデプロイ、管理、スケーリングを行うためのマネージドサービスです。Cloud Pub/Subは、リアルタイムのメッセージングを提供するサービスです。Cloud SQLはマネージドRDBMSです。しかし、リアルタイム分析プラットフォーム構築には、大規模なデータ処理や分析を行うためのサービス(例:BigQuery)が必要ですが、この選択肢には含まれていません。

B. Cloud Dataflowはストリームおよびバッチデータ処理タスクに適したサービスで、データトランスフォーメーションと処理を実行できます。Cloud Storageはオブジェクトストレージで、大量のデータを保存するのに適しています。Cloud Pub/Subはイベント駆動型アーキテクチャでのメッセージングに利用されます。BigQueryは大規模なデータセットに対するリアルタイム分析とSQLクエリの実行に特化したフルマネージドのデータウェアハウスです。これらのサービスの組み合わせはリアルタイム分析プラットフォームを構築するのに必要な全ての機能を提供します。

C. Cloud SQLとCloud Storageはデータの保存には適していますが、リアルタイム分析の要件を満たすには、特に大規模で複雑なデータセットの分析に特化したサービスが必要です。Cloud Dataflowはデータ処理には適していますが、分析にはBigQueryのようなデータウェアハウスが必要です。

D. Cloud DataprocはHadoopとSparkのマネージドサービスで、バッチ処理やデータ処理のために使用されますが、リアルタイム分析には最適ではありません。Cloud SQLはリレーショナルデータに対するマネージドデータベースサービスですが、リアルタイム分析にはBigQueryの方が適しています。

E. Compute Engineはインフラストラクチャとしてのサービス(IaaS)で、カスタマイズ可能な仮想マシンを提供します。Cloud Pub/Subはイベント駆動型アーキテクチャでのメッセージングに利用されますが、Cloud Storageはデータの保存には適していますが、リアルタイム分析の要件を満たすには、データウェアハウスが必要です。Cloud Dataprocはバッチ処理には適していますが、リアルタイム分析ではないです。

正しい選択肢はBで、Mountkirk Gamesが求めるリアルタイム分析プラットフォームを実現するために必要な機能をすべて含んでいます。


10.

コンピューティング サービスのうち、クラウドでのパフォーマンスのために最適化されたアーキテクチャのまま移行する必要があるのはどれですか?

A. アンマネージド インスタンス グループを使用してデプロイされた RabbitMQ
B. 高可用性モードで Cloud Dataproc Regional を使用してデプロイされた Hadoop/Spark
C. Jenkins、監視、要塞ホスト、カスタム マシン タイプにデプロイされたセキュリティ スキャナー サービス
D. App Engine スタンダード環境を使用してデプロイされた Web アプリケーション



正解:D

解説:

A. アンマネージド インスタンス グループを使用してデプロイされた RabbitMQ は、自動スケーリングや負荷分散といったクラウドのメリットをフルに利用していません。アンマネージド インスタンス グループでは、インスタンスの管理はユーザーの責任であり、最適化されたアーキテクチャとは言えない場合が多いです。

B. 高可用性モードで Cloud Dataproc Regional を使用してデプロイされた Hadoop/Spark は、クラウドのメリットを活用し、可用性と耐障害性を高めたアーキテクチャですが、クラウドネイティブな設計に最適化されているわけではないため、必ずしも「最適化されたアーキテクチャのまま」クラウドに移行する必要はありません。

C. Jenkins、監視、要塞ホスト、カスタム マシン タイプにデプロイされたセキュリティ スキャナー サービスは、既存のツールやプラクティスをクラウドに移行する一例ですが、これらが最適化されたアーキテクチャとは限りません。セキュリティや監視ツールは、クラウドに移行する際に再検討し、クラウドネイティブなサービスに置き換えることでさらに最適化できる可能性があります。

D. App Engine スタンダード環境を使用してデプロイされた Web アプリケーションは、完全マネージドのPaaSであり、サーバレスアーキテクチャを提供します。これにより、アプリケーションは自動でスケーリングされ、高可用性が保たれます。App Engineは、クラウドでのパフォーマンスを最適化するために設計されたサービスの一つです。したがって、App Engineでデプロイされたアプリケーションはクラウドネイティブなアーキテクチャを活かしており、そのまま移行するのが最適です。正解のDは、クラウドでのパフォーマンス最適化の観点から最も妥当な選択肢です。

ここから先は

57,172字

¥ 2,000

期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?