【正解】D
【0からの解説】
①前提知識
・Spot VM は、Compute Engine の余剰容量を使う VM で、標準 VM より大幅に安価(オンデマンド料金から最大 91% 割引)です。その代わり、Compute Engine が容量を必要とするといつでもプリエンプト(停止・削除)される可能性があり、可用性の保証(SLA)もありません。そのため「中断されても再実行・再開できる」「完了時間に厳しい要件がない」バッチ処理やフォールト トレラントな処理に最適です(Spot VM はプリエンプティブル VM の後継)。
・確約利用割引(CUD)は、1 年または 3 年の利用を確約する代わりに割引を受ける仕組みで、常時稼働する安定したワークロード向けです。
・Cloud Run と GKE は、どちらもコンテナを実行するプラットフォームです。
②要件の整理
・処理状態は Cloud Storage に保存され、障害時に処理を再開できる(中断耐性あり)
・コンテナ化に適さない(Cloud Run・GKE は使えない)
・処理時間の SLO がない(遅延しても問題ない)
・無料アプリなので「費用対効果が最も高い」ことが最優先
③正解の理由
中断されても再開でき、処理時間の SLO もないため、Spot VM のプリエンプトという欠点は問題になりません。コンテナ化不要の VM で動作し、最も安価に実行できる Spot VM が最も費用対効果の高い選択です。
【誤りの選択肢】
A:Cloud Run はコンテナ イメージを実行するサービスで、要件の「コンテナ化には適していない」と矛盾します。
B:3 年間の確約利用割引は割引にはなりますが、割引率は Spot VM より小さく、さらに 3 年間の支払いを確約するため利用量が変動・減少しても費用が発生します。中断を許容できるワークロードでは Spot VM のほうが安価です。
C:GKE はコンテナ オーケストレーション サービスであり、コンテナ化に適さないサービスは実行できません。クラスタ管理の費用や運用負荷も加わります。
【参考】
Spot VM | Compute EngineSpot VM を作成して使用する | Compute Engine