{
  "schemaVersion": 1,
  "title": "条件比較3例の確認記録",
  "reviewDate": "2026-09-17",
  "method": "Google Chromeの公開画面で、各例の条件と回答を選び「理由を確かめる」を押し、表示された結果と理由を確認しました。",
  "environment": {
    "browser": "Google Chrome on macOS",
    "account": "登録なし",
    "viewport": "未記録。モバイル動作の確認結果としては扱いません。"
  },
  "limits": [
    "架空の学習例。AWS環境での構築・削除・移行・通信は実行していない。",
    "学習効果、合格可能性、試験範囲の網羅性の測定ではない。",
    "3ラボ各3ケースの追試。全問題・全条件の検証ではない。",
    "モバイルや固定9質問の全経路の検証ではない。",
    "この教材の判定規則と表示が一致することの確認。技術主張は別途AWS資料と照合。"
  ],
  "checks": [
    {
      "labId": "saa-object-lock-exception",
      "course": "SAA-C03",
      "task": "1.3",
      "title": "保存期間中の例外を、誰に認める？",
      "url": "https://passquest.signalandship.com/aws-saa-c03-practice#lab-saa-object-lock-exception",
      "context": "S3バケットのバージョニングとObject Lockは有効にできる。保持対象は指定されたオブジェクトのバージョンで、期限付きの保持を設定する。リーガルホールドは今回使用しない。",
      "steps": [
        {
          "step": 1,
          "observedAt": "2026-09-17T06:24:31.645Z",
          "condition": "条件A：管理者にも期限前の削除を認めない",
          "requirement": "AWSアカウントを維持したまま監査データを保存する。保持期間中は、ルートユーザーを含むどの利用者にも、対象バージョンの削除や保持期間の短縮を認めない。",
          "select": "S3 Object Lockのコンプライアンスモードで保持期間を設定する",
          "action": "理由を確かめる",
          "expectedStatus": "この条件に合っています。",
          "observedStatus": "この条件に合っています。",
          "observedReason": "コンプライアンスモードで保持されたバージョンは、保持期間中にルートユーザーを含む利用者が削除・上書きできず、保持期間も短縮できない。この条件の例外を認めない要件に合う。",
          "observedAnswer": "S3 Object Lockのコンプライアンスモードで保持期間を設定する",
          "match": true
        },
        {
          "step": 2,
          "observedAt": "2026-09-17T06:25:18.007Z",
          "condition": "条件B：承認された例外削除を残す",
          "requirement": "通常の利用者には保持期間中の削除を禁止する。一方、承認された管理者には誤登録データを期限前に削除する手段を残す。管理者は必要な削除権限・バイパス権限を持ち、要求に明示的なバイパス指定を付ける。",
          "select": "S3 Object Lockのコンプライアンスモードで保持期間を設定する",
          "action": "理由を確かめる",
          "expectedStatus": "優先する条件をもう一度見てみましょう。",
          "observedStatus": "優先する条件をもう一度見てみましょう。",
          "observedReason": "保持期間中のバージョンを承認された管理者が例外削除する運用を認められないため、今回の例外処理の要件と合わない。",
          "observedAnswer": "S3 Object Lockのガバナンスモードで保持し、承認された管理者だけにバイパス権限を与える",
          "match": true
        },
        {
          "step": 3,
          "observedAt": "2026-09-17T06:25:39.913Z",
          "condition": "条件B：承認された例外削除を残す",
          "requirement": "通常の利用者には保持期間中の削除を禁止する。一方、承認された管理者には誤登録データを期限前に削除する手段を残す。管理者は必要な削除権限・バイパス権限を持ち、要求に明示的なバイパス指定を付ける。",
          "select": "S3 Object Lockのガバナンスモードで保持し、承認された管理者だけにバイパス権限を与える",
          "action": "理由を確かめる",
          "expectedStatus": "この条件に合っています。",
          "observedStatus": "この条件に合っています。",
          "observedReason": "ガバナンスモードでは通常の利用者の削除を防ぎながら、s3:BypassGovernanceRetentionと要求の明示的な指定を持つ管理者に例外操作を認められる。権限付与と承認手順も管理する。",
          "observedAnswer": "S3 Object Lockのガバナンスモードで保持し、承認された管理者だけにバイパス権限を与える",
          "match": true
        }
      ],
      "sources": [
        {
          "label": "Object Lockの保持モード・バージョン・バイパス",
          "url": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html"
        }
      ]
    },
    {
      "labId": "sap-resolver-direction",
      "course": "SAP-C02",
      "task": "1.1",
      "title": "DNSの問い合わせは、どこからどこへ？",
      "url": "https://passquest.signalandship.com/aws-sap-c02-practice#lab-sap-resolver-direction",
      "context": "オンプレミスとVPCはVPNまたはDirect Connectで接続済み。DNSに必要な経路とセキュリティ設定も用意する。今回の一方向の問い合わせに必要な、最小のResolverエンドポイント構成を選ぶ。",
      "steps": [
        {
          "step": 1,
          "observedAt": "2026-09-17T06:26:13.396Z",
          "condition": "条件A：オンプレミスからVPC内の名前を引く",
          "requirement": "オンプレミスのアプリケーションが、対象VPCに関連付けられたRoute 53プライベートホストゾーンの名前を解決したい。VPCからオンプレミス側の名前を解決する要件はない。",
          "select": "インバウンドエンドポイントを作り、オンプレミスDNSから対象ドメインの問い合わせを転送する",
          "action": "理由を確かめる",
          "expectedStatus": "この条件に合っています。",
          "observedStatus": "この条件に合っています。",
          "observedReason": "問い合わせはオンプレミスからVPC側へ入る。インバウンドエンドポイントを受け口とし、オンプレミスDNSが対象ドメインの問い合わせを転送する構成にする。",
          "observedAnswer": "インバウンドエンドポイントを作り、オンプレミスDNSから対象ドメインの問い合わせを転送する",
          "match": true
        },
        {
          "step": 2,
          "observedAt": "2026-09-17T06:26:52.603Z",
          "condition": "条件B：VPCからオンプレミスの名前を引く",
          "requirement": "VPCのEC2インスタンスが、オンプレミスDNSで管理する社内ドメインの名前を解決したい。オンプレミスからVPCの名前を解決する要件はない。対象ドメインだけをオンプレミスDNSへ転送する。",
          "select": "インバウンドエンドポイントを作り、オンプレミスDNSから対象ドメインの問い合わせを転送する",
          "action": "理由を確かめる",
          "expectedStatus": "優先する条件をもう一度見てみましょう。",
          "observedStatus": "優先する条件をもう一度見てみましょう。",
          "observedReason": "インバウンドは外部からVPC側へ問い合わせを受けるための受け口であり、今回のVPCから出る問い合わせを転送する構成ではない。",
          "observedAnswer": "アウトバウンドエンドポイントと転送ルールを作り、対象VPCへルールを関連付ける",
          "match": true
        },
        {
          "step": 3,
          "observedAt": "2026-09-17T06:27:03.611Z",
          "condition": "条件B：VPCからオンプレミスの名前を引く",
          "requirement": "VPCのEC2インスタンスが、オンプレミスDNSで管理する社内ドメインの名前を解決したい。オンプレミスからVPCの名前を解決する要件はない。対象ドメインだけをオンプレミスDNSへ転送する。",
          "select": "アウトバウンドエンドポイントと転送ルールを作り、対象VPCへルールを関連付ける",
          "action": "理由を確かめる",
          "expectedStatus": "この条件に合っています。",
          "observedStatus": "この条件に合っています。",
          "observedReason": "VPCからオンプレミスDNSへ出る問い合わせには、アウトバウンドエンドポイントと対象ドメインの転送ルールを使う。ルールのVPC関連付けも必要。",
          "observedAnswer": "アウトバウンドエンドポイントと転送ルールを作り、対象VPCへルールを関連付ける",
          "match": true
        }
      ],
      "sources": [
        {
          "label": "ハイブリッドDNSとResolverエンドポイント",
          "url": "https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver.html"
        }
      ]
    },
    {
      "labId": "clf-migration-change",
      "course": "CLF-C02",
      "task": "1.3",
      "title": "移行時に、どこまで変える？",
      "url": "https://passquest.signalandship.com/aws-clf-c02-practice#lab-clf-migration-change",
      "context": "社内の業務アプリケーションをAWSへ移す。アプリケーションとデータベースの依存関係は確認できており、移行先での互換性も検証する。今回の移行範囲を表す戦略を選ぶ。",
      "steps": [
        {
          "step": 1,
          "observedAt": "2026-09-17T06:27:31.901Z",
          "condition": "条件A：まず、構成を変えずに移す",
          "requirement": "期限までにデータセンターを退去する。今回はアプリケーションやデータベースの構成を変えず、仮想サーバー上の構成をAmazon EC2へ移す。アプリケーションの改修と基盤の最適化は移行後に検討する。",
          "select": "リホスト：アプリケーションを変更せず、稼働基盤をAWSへ移す",
          "action": "理由を確かめる",
          "expectedStatus": "この条件に合っています。",
          "observedStatus": "この条件に合っています。",
          "observedReason": "今回はアプリケーションを変更せず、稼働する場所を移す計画なのでリホストに当たる。移行後の最適化を予定していても、今回の戦略の分類は変わらない。",
          "observedAnswer": "リホスト：アプリケーションを変更せず、稼働基盤をAWSへ移す",
          "match": true
        },
        {
          "step": 2,
          "observedAt": "2026-09-17T06:27:45.152Z",
          "condition": "条件B：データベースの運用だけ減らす",
          "requirement": "アプリケーションの中核の構成とデータベースエンジンは維持する。一方、データベースを同じエンジンのAmazon RDSへ移し、接続設定等の必要な変更を行って一般的な管理作業を減らす。",
          "select": "リホスト：アプリケーションを変更せず、稼働基盤をAWSへ移す",
          "action": "理由を確かめる",
          "expectedStatus": "優先する条件をもう一度見てみましょう。",
          "observedStatus": "優先する条件をもう一度見てみましょう。",
          "observedReason": "データベースの稼働基盤をRDSへ変更するため、アプリケーションをそのまま移すだけの計画ではない。",
          "observedAnswer": "リプラットフォーム：中核の構成を保ちながら、基盤の一部をマネージドサービスへ移す",
          "match": true
        },
        {
          "step": 3,
          "observedAt": "2026-09-17T06:27:54.741Z",
          "condition": "条件B：データベースの運用だけ減らす",
          "requirement": "アプリケーションの中核の構成とデータベースエンジンは維持する。一方、データベースを同じエンジンのAmazon RDSへ移し、接続設定等の必要な変更を行って一般的な管理作業を減らす。",
          "select": "リプラットフォーム：中核の構成を保ちながら、基盤の一部をマネージドサービスへ移す",
          "action": "理由を確かめる",
          "expectedStatus": "この条件に合っています。",
          "observedStatus": "この条件に合っています。",
          "observedReason": "中核の構成を維持しつつ、RDSへの移行で基盤を最適化する範囲がリプラットフォームに当たる。必要な設定変更や互換性検証も計画に含める。",
          "observedAnswer": "リプラットフォーム：中核の構成を保ちながら、基盤の一部をマネージドサービスへ移す",
          "match": true
        }
      ],
      "sources": [
        {
          "label": "移行戦略の分類",
          "url": "https://docs.aws.amazon.com/prescriptive-guidance/latest/large-migration-guide/migration-strategies.html"
        }
      ]
    }
  ]
}
