GCP サンプル問題

1.IAM権限

あなたはプロジェクト オーナーで、アプリケーションの新しいバージョンを App Engine にデプロイする作業を担当者に行ってもらう必要があります。作業は、Google が推奨する方法で行いたいと考えています。この場合、どの IAM 役割を作業担当者に付与しますか。

A. プロジェクト編集者
B. App Engine サービス管理者
C. App Engine デプロイ担当者
D. App Engine コード閲覧者









回答:C

説明
AppEngineは全てのリソース共通の基本ロールの他に、事前定義ロールを設定可能である。
事前定義ロールでは、AppEngine全てにアクセス可能な管理権限や、読み取り可能だがデプロイ不可能なサービス管理権限、デプロイ可能なデプロイ権限を設定可能である。
デプロイのみの責務である場合は、デプロイ権限の付与がふさわしい

2.課金アラート

プロジェクトに対し、会社から月次予算が割り当てられているとします。そこで、プロジェクトの課金が上限に近づいてきたときに対策を取れるように、課金について自動通知を受け取りたいと考えています。どのように対応しますか。

A. 予算と同額の月次利用上限額であるクレジット カードを利用する。
B. 合計月次予算の 50%、90%、100% に達したときに通知する予算アラートを作成する。
C. App Engine の設定で、月次予算の 1/30 の割合で日次予算を設定する。
D. GCP Console で、BigQuery への請求のエクスポートを構成する。合計課金額のクエリを行う保存済みビューを作成する。









回答:B

説明
GCPでは予算の作成が可能。また、閾値を設定可能。
閾値はデフォルトで 50%、90%、100% に設定されており、アラートの発砲が可能。

3.bqコマンド

BigQuery を使用したプロジェクトがあります。このプロジェクトのすべての BigQuery ジョブを一覧表示したり、このプロジェクトを bq コマンドライン ツールのデフォルトとして設定したりしたい場合、どうすればよいですか。

A. "gcloud config set project" を使ってデフォルトのプロジェクトを設定する。
B. "bq config set project" を使ってデフォルトのプロジェクトを設定する。
C. "gcloud generate config-url" を使って、デフォルトのプロジェクトを設定するために使用する Google Cloud Platform Console への URL を生成する。
D. "bq generate config-url" を使って、デフォルトのプロジェクトを設定するために使用する Google Cloud Platform Console への URL を生成する。









回答:A

説明
bqコマンドとは、BigQueryを使用するためのコマンドラインツール
bqコマンドは、Google Cloud SDKを利用し使用可能
bqコマンドを利用したいgcpプロジェクトに、gcloudコマンドでデフォルトとして設定する必要がある

4.Cloud Shell

プロジェクトのすべての Compute Engine リソースが europe-west1 リージョンにあります。europe-west1 を gcloud コマンドのデフォルトのリージョンとして設定したい場合、どうすればよいですか。

A. 端末のコマンドライン インターフェースではなく、Cloud Shell を使用する。europe-west1 リージョン内のリソースに移動してから Cloud Shell を起動する。europe-west1 リージョンが自動的にデフォルトのリージョンになる。
B. "gcloud config set compute/region europe-west1" を使って、今後実行する gcloud commands のデフォルトのリージョンを設定する。
C. "gcloud config set compute/zone europe-west1" を使って、今後実行する gcloud commands のデフォルトのリージョンを設定する。
D. オンプレミスから europe-west1 のサブネットへの VPN を作成し、その接続を gcloud コマンドの実行時に使用する。









回答:B

説明

以下のようにgcloudコマンドを実行しデフォルトのリージョンやゾーンの変更が可能

cloud compute project-info add-metadata \
   --metadata google-compute-default-region=europe-west1,google-compute-default-zone=europe-west1-b

5.App Engine

App Engine の新しいアプリケーションを開発し、本番環境にデプロイする準備が整いました。Google Cloud Platform におけるこのアプリケーションのランニング コストをできる限り正確に見積もる必要がある場合、どうすればよいですか。

A. 予想される使用量を表した YAML ファイルを作成する。このファイルを "gcloud app estimate" コマンドに渡し、正確な見積もりを算出する。
B. 「開発環境でのアプリケーションの費用」に「予想されるユーザー数」を乗算して、正確な見積もりを算出する。
C. App Engine の料金計算ツールを使って、予想される課金額の正確な見積もりを算出する。
D. Google Cloud Billing サポートでチケットを作成して、正確な見積もりを入手する。









回答:C

説明
以下のカルキュレーターで料金の計算が可能
https://cloud.google.com/products/calculator?hl=JA

6.ビッグデータ

あなたの会社では、タイムスタンプ付きの大量の IoT データを処理しています。総データ量は数ペタバイトにのぼります。また、データに対する高速な書き込み処理と変更処理が要求されます。このデータに対して最もパフォーマンスの高いストレージ オプションを使用したい場合、どのプロダクトを使用しますか。

A. Cloud Datastore
B. Cloud Storage
C. Cloud Bigtable
D. BigQuery









回答:C

説明
こちらを参照
ペタバイトにものぼる大量データの処理にはBigtableがふさわしい
https://note.com/yofu0198/n/n5c1a8f817d3b

7.データストア

あなたのアプリケーションには世界中に多数のオーディエンスが存在し、複数のロケーションにまたがってマネージド インスタンス グループ内でステートレスな仮想マシンを実行しています。アプリケーションの 1 つの機能により、ユーザーはファイルをアップロードして、他のユーザーと共有できます。ファイルの使用可能期間は 30 日間であり、期限を過ぎるとシステムから完全に削除されなければなりません。どのストレージ ソリューションを選択しますか。

A. Cloud Datastore データベース。
B. マルチリージョン Cloud Storage バケット。
C. 仮想マシン インスタンス上の永続 SSD。
D. Filestore サーバーのマネージド インスタンス グループ。









回答:B

説明
オブジェクトの保管にはCloud Storageの利用がふさわしい。

8.オートスケーリング

インスタンス テンプレートの定義があり、ウェブ アプリケーションが含まれています。アプリケーションをデプロイし、受信する HTTP トラフィックに応じてスケーリングできるようにするには、どうすればよいですか。

A. インスタンス テンプレートから VM を作成する。VM のディスクからカスタム イメージを作成し、Cloud Storage にイメージをエクスポートする。HTTP ロードバランサを作成し、そのバックエンド サービスとして Cloud Storage バケットを追加する。
B. インスタンス テンプレートから VM を作成する。App Engine アプリケーションを自動スケーリング モードで作成し、すべてのトラフィックが VM に転送されるようにする。
C. インスタンス テンプレートに基づいてマネージド インスタンス グループを作成する。HTTP トラフィックに基づいて自動スケーリングを構成し、HTTP ロードバランサのバックエンド サービスとしてインスタンス グループを構成する。
D. インスタンス テンプレートに基づいて、ピーク時のユーザー トラフィックに対応するために必要な数のインスタンスを作成する。非マネージド インスタンス グループを作成し、そのインスタンス グループにインスタンスを追加する。HTTP ロードバランサのバックエンド サービスとしてインスタンス グループを構成する。









回答:C

説明
HTTPトラフィックによってオートスケーリングが可能

9.ロギング

Kubernetes Engine クラスタを作成し、その中に複数のポッドをデプロイしようとしています。後で分析できるように、すべてのコンテナログを BigQuery に格納する必要があります。Google 推奨の方法に沿って実践する場合、以下の中から採用できる方法を 2 つ選択してください。
A. Kubernetes Engine クラスタの作成時に Stackdriver Logging をオンにする。
B. Kubernetes Engine クラスタの作成時に Stackdriver Monitoring をオンにする。
C. Cloud Logging API と BigQuery API を使用するカスタム アドオンを開発し、Kubernetes Engine クラスタにデプロイする。
D. Stackdriver Logging のエクスポート機能を使用して Cloud Storage へのシンクを作成する。ログファイルを Cloud Storage から BigQuery にインポートする Cloud Dataflow ジョブを作成する。
E. Stackdriver Logging のエクスポート機能を使用して BigQuery へのシンクを作成する。Kubernetes Engine クラスタのみに関連したログレコードをエクスポートするフィルタ式を指定する。









回答:A,E

説明
Stackdriverではサービスごとにloggingをオンにすることでlog収集が可能。
また、収集したログをBigQueryによって検索することが可能。

10.Kubernets

ワーカーノード数を自動スケーリングできる新しい Kubernetes クラスタを Google Cloud Platform で作成する必要があります。どのように対応しますか。

A. Kubernetes Engine でクラスタを作成し、Kubernetes Engine で自動スケーリングを有効にする。
B. Kubernetes Engine でクラスタを作成し、クラスタのインスタンス グループで自動スケーリングを有効にする。
C. Compute Engine インスタンスをワーカーとして構成し、非マネージド インスタンス グループに追加する。このインスタンス グループにロードバランサを追加し、そのロードバランスを利用して、必要に応じて追加の Compute Engine インスタンスを作成する。
D. ワーカー用とマスター用の Compute Engine インスタンスを作成し、Kubernetes をインストールする。Kubernetes を利用し、必要に応じて追加の Compute Engine インスタンスを作成する。









回答:A

説明
GKEのオートスケールは以下の2種類がある
Horizontal Pod Autoscaling(水平Podオートスケール)
Cluster Autoscaler
HPAはPodをスケールさせ、Clusterはその名の通り、Clusterをスケールさせる

Horizontal Pod Autoscaling
yamlを事前に作成し、yamlを元にdeploymentを作成する
deploymentに対してオートスケール設定を行う

Cluster Autoscaler
Cluster Autoscaler はクラスタの作成時にノードの数のmin, maxを指定する形で設定する

11.レプリケート

europe-west1-d ゾーンの Compute Engine 上でアプリケーション サーバーを実行しています。高可用性を実現するため、できる限り少ない手順で europe-west2-c ゾーンにサーバーをレプリケートする必要があります。どのように対応しますか。

A. ディスクからスナップショットを作成する。europe-west2-c ゾーンで、そのスナップショットからディスクを作成する。そのディスクを使って新しい VM を作成する。
B. ディスクからスナップショットを作成する。europe-west1-d ゾーンで、そのスナップショットからディスクを作成し、そのディスクを europe-west2-c に移動する。そのディスクを使って新しい VM を作成する。
C. "gcloud" を使用してディスクを europe-west2-c ゾーンにコピーする。そのディスクを使って新しい VM を作成する。
D. パラメータ "--destination-zone europe-west2-c" を指定して "gcloud compute instances move" を使用し、インスタンスを新しいゾーンに移動する。









回答:A

説明

12.ストレージサービス

あなたの会社では、ミッション クリティカルなアプリケーションを使用して世界中のユーザーにサービスを提供しています。このアプリケーションのためのトランザクション データとリレーショナル データのストレージ システムを選択する必要があります。選択すべきプロダクトを次の中から 2 つ選んでください。

A. BigQuery
B. Cloud SQL
C. Cloud Spanner
D. Cloud Bigtable
E. Cloud Datastore









回答:B,C

説明
それぞれのユースケースを整理する
リレーショナルデータベースに該当するのは、spannerとcloud sql

BigQuery
大規模データ解析。より低レイテンシーが求められる場合はBigtableを採用する
Cloud SQL
リレーショナルデータベース。処理負荷に応じてインスタンスを変更する機能(水平スケーリング)は備わっていないが、レプリカのスケールアウトが可能
Cloud Spanner
リレーショナルデータベース。水平スケーリングが可能。高い拡張性が求められる場合には、CloudSQLよりも相応しい
Cloud Bigtable
大規模データ解析。ペタバイトのデータ処理も可能。コストがかかるため、レイテンシーが遅くても良いならBigQueryを採用した方が良い
Cloud Datastore
NoSQLのドキュメント指向データベース。コスト低く、処理速度がデータ量に依存しない。RDBでなくても良いなら、CloudSQLやSpannerよりも導入コストが低い

13.Kubernets

ノードプールが 1 つ構成されている Kubernetes クラスタを使用しています。このクラスタは大量のトラフィックを受信しており、拡張する必要があります。そのため、ノードを追加することにしました。どのように対応しますか。
A. "gcloud container clusters resize" を使用して、必要な数のノードを指定する。
B. "kubectl container clusters resize" を使用して、必要な数のノードを指定する。
C. クラスタのマネージド インスタンス グループを編集して、VM の数を 1 つ増やす。
D. クラスタのマネージド インスタンス グループを編集して、自動スケーリングを有効にする。






回答:A

説明
ノードプールのリサイズや追加はgcloudコマンドを使用する
https://cloud.google.com/kubernetes-engine/docs/how-to/node-pools?hl=ja

14.App Engine

App Engine 上のアプリケーション用のアップデートを作成しました。ユーザーに影響を与えずにアップデートをデプロイし、デプロイが失敗した場合はできるだけ早くロールバックできるようにするには、どうすればよいですか。

A. 現行バージョンのアプリケーションを削除する。削除したバージョンと同じバージョン ID を使ってアップデートをデプロイする。
B. 今後のメンテナンスの時間枠をユーザーに通知する。この時間枠の間にアップデートをデプロイする。
C. 現在実行しているバージョンと同じバージョン ID を使ってアップデートをデプロイする。
D. アップデートを新バージョンとしてデプロイする。トラフィックを現行バージョンから新バージョンに移行する







回答:D

説明

15.Kubernets

Deployment-A という名前の Kubernetes デプロイメントを作成し、クラスタ上に 3 つのレプリカを指定しました。Deployment-A には、別のデプロイメント Deployment-B からアクセスする必要がありますが、Deployment-A をクラスタの外部に公開することはできません。どのように対応しますか。
A. Deployment A にタイプ NodePort のサービスを作成し、そのサービスの Ingress リソースを作成する。Deployment B で、その Ingress リソースの IP アドレスを使用するように設定する。
B. Deployment A にタイプ LoadBalancer のサービスを作成する。Deployment B で、そのサービスの IP アドレスを使用するよう設定する。
C. Deployment A にタイプ LoadBalancer のサービスを作成し、そのサービスの Ingress リソースを作成する。Deployment B で、その Ingress リソースの IP アドレスを使用するように設定する。
D. Deployment A にタイプ ClusterIP のサービスを作成する。Deployment B で、そのサービスの IP アドレスを使用するよう設定する。







回答:D

説明
ClusterIPとはクラスタ内でのみアクセス可能なIP。クラスタ外からはアクセスすることができない

16.BigQuery

毎晩実行するようスケジュール設定されている BigQuery クエリの年間ランニング コストを見積もる必要があります。どのように対応しますか。

A. "gcloud query --dry_run" を使用して、クエリで読み取られるバイト数を特定する。この数値を Pricing Calculator で使用する。
B. "bq query --dry_run" を使用して、クエリで読み取られるバイト数を特定する。この数値を Pricing Calculator で使用する。
C. "gcloud estimate" を使用して単一のクエリに課金される金額を特定する。この金額に 365 を掛ける。
D. "bq estimate" を使用して単一のクエリに課金される金額を特定する。この金額に 365 を掛ける。







回答:B

説明
dry runコマンドで読み取りバイトの見積もりが可能
正確な見積もりを出すにはPricing Calculatorを使用することが好ましい

17.プロジェクト

組織内で "my-project" という名前のプロジェクトに対するオーナー アクセス権を持つユーザーを特定する必要があります。どのように対応しますか。

A. Google Cloud Platform Console で組織の IAM ページに移動して、「Role:Owner」というフィルタを適用する。
B. Google Cloud Platform Console でプロジェクトの IAM ページに移動して、「Role:Owner」というフィルタを適用する。
C. ターミナルから "gcloud iam list-grantable-role --project my-project" を実行する。
D. プロジェクト ページで Cloud Shell から "gcloud iam list-grantable-role" を実行する。







回答:B

説明

18.IAM

担当者用の新しい役割を作成し、組織で作成される現在および今後のプロジェクトすべてにその役割を適用しようと考えています。この役割には BigQuery ジョブユーザーの役割と Cloud Bigtable ユーザーの役割の権限が必要です。作成する作業は、Google が推奨する方法で行いたいと考えています。新しい役割をどのように作成しますか。
A. "gcloud iam combine-roles --global" を実行して、2 つの役割を 1 つの新しいカスタムの役割にまとめる。
B. いずれかのプロジェクトに対して、Google Cloud Platform Console の [役割] で両方の役割を選択し、1 つの新しいカスタムの役割にまとめる。"gcloud iam promote-role" を実行して、この役割をプロジェクトの役割から組織の役割に昇格させる。
C. すべてのプロジェクトに対して、Google Cloud Platform Console の [役割] で両方の役割を選択し、1 つの新しいカスタムの役割にまとめる。
D. 組織に対して、Google Cloud Platform Console の [役割] で両方の役割を選択し、1 つの新しいカスタムの役割にまとめる。







回答:D

説明

19.IAM

あなたは規模の小さな会社の従業員です。特定のプロジェクトのすべてのリソースを全員が表示できるようにする必要があります。全員にアクセス権を付与する作業は、Google が推奨する方法で行いたいと考えています。どのように対応しますか。
A. 全ユーザーのメールアドレスとプロジェクト閲覧者の役割に対して、"gcloud projects add-iam-policy-binding" を実行するスクリプトを作成する。
B. 全ユーザーのメールアドレスとプロジェクト閲覧者の役割に対して "gcloud iam roles create" を実行するスクリプトを作成する。
C. 新しい Google グループを作成し、そのグループに全ユーザーを追加する。プロジェクト閲覧者の役割とグループのメールアドレスを指定して "gcloud projects add-iam-policy-binding" を実行する。
D. 新しい Google グループを作成し、そのグループに全メンバーを追加する。プロジェクト閲覧者の役割とグループのメールアドレスを指定して、"gcloud iam roles create" を実行する。







回答:C

説明

20.


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