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

GCP-PCD 練習問題 12|スケーラブルで安全かつ信頼性の高いクラウドネイティブ アプリケーションの設計

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

問題
あなたは、アプリケーションの複雑なデータ分析を処理するためのワークフローを Workflows で構築しています。Google が推奨するベスト プラクティスに従いながら、ワークフローを使用して Cloud Run ジョブを実行する予定です。どうすればよいですか?

選択肢と解説

  • 1
    Pub/Sub トピックを作成し、Cloud Run ジョブをそのトピックにサブスクライブする。
  • 2
    Cloud Run ジョブを呼び出す Eventarc トリガーを構成し、そのトリガーをワークフローのステップに含める。
  • ✓
    Cloud Run Admin API コネクタを使用して、ワークフロー内で Cloud Run ジョブを実行する。
  • 4
    Cloud Run ジョブのエントリ ポイントを特定し、ワークフローから HTTP リクエストを送信する。

解説

【正解】C

【0からの解説】
①前提知識
・Workflows は、Google Cloud のサービスや HTTP API の呼び出しを YAML / JSON で定義した順序で実行するサーバーレスのオーケストレーション サービスです。
・Workflows の「コネクタ」は、Google Cloud の各 API を呼び出すための組み込み機能です。認証、リトライ、長時間実行オペレーションの完了待ち(ポーリング)を自動的に処理してくれるため、API の URL や認証ヘッダーを自分で組み立てる必要がありません。
・Cloud Run ジョブは、HTTP リクエストを受け付ける「サービス」とは異なり、処理を最後まで実行して終了するバッチ型のワークロードです。ジョブは HTTP エンドポイントを持たず、Cloud Run Admin API の jobs.run(実行)メソッドなどで起動します。

②要件と制約の整理
・ワークフローの中から Cloud Run ジョブを実行したい。
・Google 推奨のベスト プラクティスに従う。

③正解がどう満たすか
公式ドキュメントでは「ワークフローから Cloud Run ジョブを実行するには、Cloud Run Admin API コネクタを使用する」と明記されています。ワークフローのステップで Cloud Run Admin API コネクタのジョブ実行メソッド(例: googleapis.run.v1.namespaces.jobs.run など)を call するだけで、認証が自動で行われ、ジョブの実行完了まで待機して結果を後続ステップで使うこともできます。複雑なデータ分析の各段階を順序立てて制御するのに適した方法です。

【誤りの選択肢】
A:Cloud Run ジョブは Pub/Sub トピックを直接サブスクライブしてメッセージを受け取る仕組みを持ちません(push サブスクリプションの宛先にできるのは HTTP エンドポイントを持つサービスです)。また、ワークフローの中でジョブの完了を待って次の処理へ進むといった制御もできません。
B:Eventarc はイベント(Cloud Storage へのファイル作成など)をきっかけにターゲットを呼び出す仕組みで、「トリガーをワークフローのステップに含める」という使い方はできません。Eventarc はむしろワークフロー自体を起動する側として使うもので、ワークフローの中からジョブを実行する方法ではありません。
D:Cloud Run ジョブには、リクエストを受け付ける「エントリ ポイント」となる HTTP URL がありません。Cloud Run Admin API の REST エンドポイントを http.post で直接呼ぶことは技術的には可能ですが、URL の組み立てや認証設定、完了待ちのポーリングを自前で書く必要があり、それらを自動処理するコネクタを使う推奨方法に劣ります。

【参考】
Workflows を使用してジョブを呼び出す | Cloud Run
コネクタを理解する | Workflows
← 練習問題 11練習問題 13 →
GCP-PCD の模擬問題集は全 200 問

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

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

GCP-PCD の無料公開問題

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