この記事の目的
Clouds StarterがKindle・Udemyにてしている問題集の一部を公開します。
この記事の問題を解くことで、本番レベルの問題に慣れるだけでなく、どういった観点が本番で問われるかを確認することができます。
本シリーズのリンク
Part4:https://qiita.com/clouds-starter/items/361f806146e20ae6c926
Part6:https://qiita.com/clouds-starter/items/5f0ff0e3974f2b36605e
問題集(Udemy・Kindle)
Udemy
【Google Cloud】
Associate Cloud Engineer:https://www.udemy.com/course/google-cloud-associate-cloud-engineer-z/?referralCode=6F46C7AAC19A25BE1728
Professional Cloud Architect:https://www.udemy.com/course/google-cloud-professional-cloud-architect-i/?referralCode=2533A3214C4439F57A42
Professional Data Engineer:https://www.udemy.com/course/google-cloud-professional-data-engineer-s/?referralCode=B50B6D7F8849CCCF6B6E
【AWS】
Cloud Practitioner:https://www.udemy.com/course/2022aws-10-650/?referralCode=6B63C1D36EA602B66A02
Machine Learning:https://www.udemy.com/course/aws-30-b/?referralCode=62C2C02B9127E6DFE9F6
Kindle
Google Cloud認定Professional Cloud Architect:https://amzn.to/3GQw2XT
Google Cloud認定Professional Data Engineer:https://amzn.to/339Az9Z
その他問題集:
https://amzn.to/34LKAu9
##問題(#13~#15)
####Q13:
ミッションクリティカルなアプリケーションの災害対策をテストするための手順を作成する必要があります。Googleが推奨する方法とGCPのネイティブ機能を使用したいと考えています。
要件を達成するためにするべきことは何ですか?
A. Deployment Managerを使用してサービスプロビジョニングを自動化する。Activity Logsを使用して、テストの監視とデバッグを行う。
B. Deployment Manager を使用してサービス プロビジョニングを自動化するStackdriverを使用して、テストの監視とデバッグを行う。
C. gcloud スクリプトを使用してサービスプロビジョニングを自動化するActivity Logs を使用してテストの監視とデバッグを行う。
D. gcloud スクリプトを使用してサービスプロビジョニングを自動化するStackdriver を使用して、テストの監視とデバッグを行う。
####解説:
障害復旧(DR)におけるGoogleが推奨するプラクティスは、自身でスクリプト等を組まずに、Googleが提供する検証済みのフレームワークを利用することです。
VM インスタンスやその他の Google Cloud インフラストラクチャのプロビジョニングを自動化するには、Deployment Manager を使用します。
本番環境をオンプレミスで実行する場合は、モニタリング プロセスを用意する必要があります。
このプロセスにより、障害が検出されると DR プロセスが開始され、適切な復旧アクションがトリガーされます。
したがって正解は以下の通りです。
「Deployment Manager を使用してサービス プロビジョニングを自動化するスタックドライバーを使用して、テストの監視とデバッグを行う」
####参照:
https://cloud.google.com/solutions/dr-scenarios-planning-guide
####正解: B
####Q14:
あなたは、Google Compute EngineとCloud Bigtable上で動作する主要なクラウドサービスの拡張性をテストするために、QAチームが新しいロードテストツールを展開するのを手伝っています。
どの3つの要件を含めるべきですか?(3つ選んでください)
A. 負荷テストでCloud Bigtableの性能が検証されていることを確認する。
B. 負荷テストの環境として、別のGoogle Cloudプロジェクトを作成する。
C. 負荷テストツールが本番環境に対して定期的に実行されるようスケジュールする
D. サービスが使用するすべてのサードパーティシステムが高負荷に対応できることを確認する
E. 負荷テストツールによる再現のために、すべてのトランザクションを記録するよう、本番サービスに機能を組み込む
F. 負荷テストツールおよび対象サービスに、詳細なロギングおよびメトリクスの収集機能を持たせる
####解説:
今回の正解の選択肢はいずれも、負荷テストにおける一般的なベストプラクティスです。
測定可能な詳細メトリクスと履歴ログでテスト結果を収集することは、テストにおいて必須のプラクティスです。
また、テストのためにGoogle Cloudで別のプロジェクトを作成することは、権限を減らして職務を分離するための良いプラクティスになります。
一見すると、Bigtableはシームレスにスケールサービスに管理されており、テストする必要はないように思われます。
しかし、Bigtableのパフォーマンスには数多くの要素があるため、Bigtableのパフォーマンスを計測してボトルネックを特定しないと、負荷が増えてコストがかかるのに、クラスタはどんどんノードを追加してスケールし続けてしまう可能性があります。
クラスタの稼働状況にかかわらず、このような事態は避けなければなりません。
実際、テストではクラウド型Bigtableの性能を検証しますが、これはBigTableの最も重要なテストの一つです。
したがって正解は以下の通りです。
- 負荷テストでCloud Bigtableの性能が検証されていることを確認する
- 負荷テストの環境として、別のGoogle Cloudプロジェクトを作成する
- 負荷テストツールおよび対象サービスに、詳細なロギングおよびメトリクスの収集機能を持たせる
####参照:
https://cloud.google.com/bigtable/docs/performance
####正解: A, B, F
####Q15:
あなたの会社は、オンプレミスのユーザー認証用PostgreSQLデータベースのバックアップレプリカをGoogle Cloud Platform上に構築することにしました。データベースは4TBで、大規模な更新が頻繁に行われます。レプリケーションにはプライベートアドレス空間での通信が必要です。
あなたはどのネットワークアプローチを使用する必要がありますか?
A. Google Cloud 専用Interconnect
B. データセンターのネットワークに接続されたGoogle Cloud VPN
C. オンプレミスに設置されたNATとTLSの変換ゲートウェイ
D. VPNサーバーがインストールされたGoogle Compute Engineインスタンスをデータセンターのネットワークに接続する
####解説:
Google Cloud 専用Interconnectは、お客様のオンプレミスネットワークとGoogleのネットワーク間で、直接の物理的な接続とRFC1918の通信を提供します。
専用Interconnectは、ネットワーク間で大容量のデータを転送することができ、パブリックインターネット上で追加の帯域幅を購入したり、VPNトンネルを使用するよりもコスト効率が高い場合があります。
したがって正解は以下の通りです。
「Google Cloud 専用Interconnect」
####参照:
https://cloud.google.com/interconnect/docs/details/dedicated
####正解: A