模擬問題集 › GCP-PCD › 練習問題 15

GCP-PCD 練習問題 15|クラウドネイティブ アプリケーションのデプロイ構成

Professional Cloud Developer・無料公開(全 200 問中 15 問を無料公開中)

問題
あなたは、会社の新しい e コマース ウェブサイトを開発しています。顧客が注文したときに、カスタマイズされたメール通知を受け取れるようにしたいと考えています。デプロイの手間を最小限に抑えながら、このメール サービスを構成する必要があります。どうすればよいですか。

選択肢と解説

  • ✓
    Firestore の作成(create)タイプのイベントによってトリガーされる Cloud Function を作成する。
  • 2
    HTTP リクエストによって呼び出される、Compute Engine 上でホストされるメール送信アプリケーションを作成する。
  • 3
    メール通知チャネルを作成し、作成(create)タイプのイベントのログベースの指標に基づくアラート ポリシーを設定する。
  • 4
    orders/ API が HTTP レスポンス 200 OK を返したときに、Pub/Sub を使用してメールを送信する。

解説

【正解】A

【0からの解説】
①前提知識
・Firestore はサーバーレスなドキュメント データベースで、e コマースの注文データなどを保存するのによく使われます。
・Cloud Functions(現 Cloud Run functions)は、イベントをトリガーに小さなコードをサーバーレスで実行するサービスです。Firestore トリガー(Eventarc 経由の google.cloud.firestore.document.v1.created イベントなど)を使うと、ドキュメントが作成されたタイミングで関数を自動起動できます。
・関数は作成されたドキュメント(注文内容・顧客名・メールアドレスなど)をイベント データとして受け取れるため、それを使って顧客ごとにカスタマイズしたメールを、SendGrid などのメール送信サービスの API 経由で送信できます。

②要件の整理
・注文時に顧客へメール通知を送る
・メールは顧客ごとにカスタマイズ(注文内容などを反映)
・デプロイの手間を最小化

③正解の理由
注文が Firestore にドキュメントとして作成されたことをトリガーに Cloud Function を起動すれば、サーバーの構築・運用なしに、関数のコードをデプロイするだけで注文ごとのメール送信を実現できます。注文データをそのまま受け取れるのでメールのカスタマイズも容易です。デプロイの手間が最も少なく、イベント駆動で確実に動作する A が最適です(なお原文の選択肢 A は末尾が読点で終わっていますが、意味は完結しています)。

【誤りの選択肢】
B:Compute Engine の VM にメール送信アプリをホストすると、VM の作成・OS やミドルウェアの管理・スケーリング・パッチ適用などが必要になり、「デプロイの手間を最小限に」という要件に反します。さらに注文処理側から HTTP で呼び出す連携も自前で実装する必要があります。
C:Cloud Monitoring の通知チャネルとアラート ポリシーは、システムの異常を運用担当者に知らせるための仕組みです。宛先は事前に登録した固定の通知チャネルで、顧客ごとに宛先や本文を変えたカスタマイズ メールを送る用途には使えません。
D:Pub/Sub はサービス間でメッセージを非同期に受け渡すメッセージング サービスであり、それ自体にメールを送信する機能はありません。メッセージを受け取ってメールを送る処理を別途実装する必要があり、選択肢の記述どおりでは要件を満たしません。

【参考】
Firestore ドキュメントで関数をトリガーする | Cloud Run
Cloud Run functions の概要
← 練習問題 14
GCP-PCD の模擬問題集は全 200 問

本番形式の練習テスト 4 回を、試験モード/演習モードで受験できます。 全問に解説付き、ドメイン別の弱点分析にも対応。模試プラン(月額 ¥980)からご利用いただけます。

GCP-PCD の模試を受ける料金プランを見る

GCP-PCD の無料公開問題

問題 1問題 2問題 3問題 4問題 5問題 6問題 7問題 8問題 9問題 10問題 11問題 12問題 13問題 14問題 15