QUIZ 15分

クイズの説明

Step 3「横断的関心事の設計」で学んだ内容の理解度を確認します。全8問、80%(7問)以上正解で合格です。


問題

Q1. ゼロトラストアーキテクチャの基本原則として最も適切なのはどれですか?

  • A) ファイアウォールの内側は信頼する
  • B) ネットワーク境界に関係なく、すべてのアクセスを検証する
  • C) VPNを通れば社内ネットワークとして信頼する
  • D) 管理者アカウントは常に信頼する
答えを見る

正解: B

ゼロトラストは「決して信頼せず、常に検証する(Never Trust, Always Verify)」の原則に基づきます。ネットワーク境界の内外に関係なく、すべてのリクエストに対して認証・認可・暗号化を適用します。NexPayではmTLS + JWT + RBACを組み合わせて実現します。


Q2. NexPayでPCI DSSのスコープを最小化するために最も重要な設計判断はどれですか?

  • A) すべてのサービスでカード番号を暗号化する
  • B) トークナイゼーションによりカード番号の保持をTokenization Serviceに限定する
  • C) カード情報をログに出力しない
  • D) WAFですべてのリクエストをフィルタリングする
答えを見る

正解: B

トークナイゼーションにより、カード番号(PAN)の保持をTokenization Serviceのみに限定します。他のサービスはトークン(代替値)のみを扱うため、PCI DSSの監査対象外となります。これによりスコープが劇的に縮小し、コンプライアンスコストを削減できます。


Q3. OpenTelemetryを採用する最大のメリットはどれですか?

  • A) 無料で使えること
  • B) ベンダーロックインを回避しつつ、メトリクス・ログ・トレースを統一的に収集できること
  • C) Datadogより高機能であること
  • D) ログの出力量を削減できること
答えを見る

正解: B

OpenTelemetryはベンダーニュートラルな可観測性フレームワークです。メトリクス・ログ・トレースの3本柱を統一的なSDKで計装し、バックエンドを自由に選択できます(Grafana、Datadog、New Relic等)。ベンダーロックインを避けながら包括的な可観測性を実現できます。


Q4. 「エラーバジェット」の考え方として正しいのはどれですか?

  • A) エラーが発生しても予算があれば問題ない
  • B) SLOとの差分(許容されるダウンタイム)を定量化し、リスクテイクの判断基準にする
  • C) エラーの修正にかかるコストを見積もる
  • D) エラーの発生回数を年間で制限する
答えを見る

正解: B

エラーバジェットは「SLOで許容される不安定さの総量」です。例えば99.99%のSLOなら年間52.6分のダウンタイムが「予算」です。バジェットに余裕があれば積極的にリリース、枯渇しそうなら安定性を優先するという意思決定の仕組みを提供します。


Q5. 分散トレーシングでSpan間の因果関係を表現するために必要な情報はどれですか?

  • A) ログレベル(INFO, ERROR等)
  • B) TraceIDとSpanID(親SpanIDを含む)
  • C) サーバーのIPアドレス
  • D) リクエストのHTTPメソッド
答えを見る

正解: B

分散トレーシングでは、TraceID(リクエスト全体を一意に識別)とSpanID(各処理単位を識別)、および親SpanIDにより、サービスをまたぐ処理の因果関係(コールツリー)を再構成します。これによりボトルネックの特定やエラーの根本原因分析が可能になります。


Q6. NexPayの決済サービスでキャッシュ戦略として「Cache-Aside」を採用する場合の注意点はどれですか?

  • A) キャッシュヒット率が低くなること
  • B) キャッシュとDBの間でデータの不整合が発生する可能性があり、残高のような強整合性が必要なデータには不向きなこと
  • C) Redisが必須になること
  • D) 書き込み性能が低下すること
答えを見る

正解: B

Cache-AsideパターンはキャッシュとDBの更新がアトミックではないため、データの不整合が発生し得ます。NexPayでは残高のような強整合性が必要なデータはDBを正とし、キャッシュは「直近の取引履歴」や「加盟店情報」など最終的整合性で許容されるデータに限定します。


Q7. NexPayのRPO/RTO設計で、分析サービス(Tier 4)にBackup & Restoreを選択する合理的な理由はどれですか?

  • A) 分析サービスのデータが重要でないから
  • B) ビジネスインパクトが限定的で、Active-Active等の高コスト構成はROIに見合わないから
  • C) 分析サービスにはバックアップが不要だから
  • D) Backup & Restoreが最も高速だから
答えを見る

正解: B

DR構成のコストはRPO/RTOが厳しいほど増大します。分析サービスは4時間のRTOで許容可能であり、Active-ActiveやHot Standbyの高コストを正当化できません。ビジネスインパクトに応じてDR構成のレベルを最適化し、限られた予算を決済など高優先度のサービスに集中します。


Q8. 縮退運転モード(Graceful Degradation)を設計する最も重要な理由はどれですか?

  • A) システム全体を同時に停止するのを避け、重要な機能だけでも継続稼働させるため
  • B) 運用チームの負荷を軽減するため
  • C) ユーザーにエラーメッセージを表示するため
  • D) 障害の原因分析を容易にするため
答えを見る

正解: A

縮退運転は「全か無か」ではなく、障害の影響範囲に応じて段階的にサービスを縮小する設計です。NexPayでは、投資サービスの障害時でも決済・送金は継続し、リージョン全体障害時でも残高照会は維持するなど、ビジネスの優先順位に基づいた段階的な劣化を実現します。


結果

7問以上正解の場合

合格です。 横断的関心事 — セキュリティ、可観測性、パフォーマンス、DR/BCP — を統合的に理解しています。

「横断的関心事はアーキテクチャの”骨格”だ。各サービスの機能設計がどんなに優れていても、これらが不十分なら本番では使い物にならない。次は実装・運用計画に進もう」 — 佐藤CTO

6問以下の場合

もう少し復習しましょう。 Step 3のレッスンを再度読み返してください。

  • Q1-Q2を間違えた場合 → Step 3-1(セキュリティアーキテクチャ)を復習
  • Q3-Q5を間違えた場合 → Step 3-2(可観測性)を復習
  • Q6を間違えた場合 → Step 3-3(パフォーマンスとスケーラビリティ)を復習
  • Q7-Q8を間違えた場合 → Step 3-4(災害復旧と事業継続)を復習