AWS認定資格 WEB問題集&徹底解説セキュリティ専門知識(SCS)

Amazon Application Recovery Controller の概要と試験出題ポイントは?

AWSサービスの一つであるAmazon Application Recovery Controllerはどんな内容なのでしょうか?また、AWS認定資格のセキュリティ-専門知識(SCS)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います

Amazon Application Recovery Controller(ARC) 徹底解説 | AWS認定試験の頻出ポイントまとめ

1. サービス概要

Amazon Application Recovery Controller(ARC。旧 Amazon Route 53 Application Recovery Controller)は、AZ やリージョンの障害が起きたときに、アプリケーションのトラフィックを健全な場所へ素早く、確実に移すためのサービスです。 名称から「Route 53」が外れましたが、API 名前空間(route53-recovery-*、arc-zonal-shift)やドキュメントの URL には旧名の名残があります。

機能は大きく 2 つに分かれます。マルチ AZ の復旧(ゾーンシフト、ゾーンオートシフト)と、マルチリージョンの復旧(ルーティングコントロール、Region switch、readiness check)です。 このうち readiness check は新規受付を終了しており(既存利用者は継続利用可)、同様の目的には Region switch のプラン評価が推奨されています。 SOA-C03 では高可用性環境の実装(タスク 2.2)、SCS-C03 ではインシデントの自動修復(タスク 2.1)の手段として扱われます。

2. 主な特徴と機能

2.1 ゾーンシフト

対応リソース(Application Load Balancer、Network Load Balancer、EC2 Auto Scaling グループ、Amazon EKS)について、障害の出ている 1 つの AZ からトラフィックを一時的に退避させる手動操作です。 不良デプロイや AZ 単位の障害の影響を素早く抑えられます。シフトには期限(最大 3 日、延長可)を付け、期限が来ると自動で元に戻ります。追加の事前構成はほぼ不要です。

2.2 ゾーンオートシフトと練習実行

ゾーンオートシフトを有効にすると、AWS の内部テレメトリーが AZ の障害を検知した時点で、AWS が利用者に代わってトラフィックを退避し、回復すると自動で戻します。 有効化には練習実行(プラクティスラン)の設定が必須です。練習実行は週 1 回程度、約 30 分間トラフィックを 1 つの AZ から実際に退避させ、成功 / 失敗の結果を返します。 結果を判定するアラームと、実行を見合わせるためのブロッキングアラームや除外日時を指定できます。 ARC は個々のリソースの健全性を見ないため、残りの AZ だけで全負荷を処理できるよう事前に容量を確保(プレスケール)しておくことが前提です。

2.3 ルーティングコントロール

リージョン単位のフェイルオーバーを、オン / オフのスイッチで操作する仕組みです。クラスター(5 つのリージョンにエンドポイントを持つ高可用なデータプレーン)、スイッチをまとめるコントロールパネル、個々のルーティングコントロール、それに連動する Route 53 のルーティングコントロールヘルスチェックで構成されます。 フェイルオーバーレコードなどにヘルスチェックを関連付けておけば、スイッチの切り替えで DNS の向き先が変わります。

2.4 安全ルール

自動化や誤操作による事故を防ぐガードレールです。アサーションルールは「少なくとも 1 つはオン」など、ルーティングコントロールの組み合わせが満たすべき条件を強制します。ゲーティングルールは、ゲート用のスイッチがオンのときだけ対象のスイッチを操作できるようにする「マスタースイッチ」です。 緊急時は、状態更新時に対象ルールを指定して意図的に回避(オーバーライド)できます。

2.5 Region switch

複数リージョン・複数アカウントにまたがる復旧作業を「プラン」として定義し、実行するオーケストレーション機能です。プランはワークフローとステップ、各種リソースを切り替える実行ブロックで構成され、アクティブ / パッシブとアクティブ / アクティブの両方に対応します。 手動実行に加え CloudWatch アラームを起点にした自動実行もでき、各リージョンにデータプレーンがあるため障害リージョンに依存せずに実行できます。プラン評価で実行可能な状態かを継続的に確認します。

3. アーキテクチャおよび技術要素

  1. AZ 障害への備え: ALB / NLB / Auto Scaling グループを複数 AZ に配置し、1 AZ を失っても足りる容量を確保したうえで、ゾーンオートシフトと練習実行を有効にする。
  2. リージョン障害への備え: 2 つのリージョンにアプリのレプリカ(セル)を用意し、データをレプリケーションする。
  3. ARC にクラスターとコントロールパネルを作り、セルごとのルーティングコントロールとヘルスチェックを作成して、Route 53 のフェイルオーバーレコードに関連付ける。
  4. 安全ルールで「両方オフ」などの危険な状態を禁止する。
  5. 障害時は、クラスターのエンドポイントに対してデータプレーン API(UpdateRoutingControlState)で状態を切り替える。1 つのエンドポイントが応答しなければ別のエンドポイントで再試行する。
  6. DB の昇格や容量拡張など複数の手順が必要なら、Region switch のプランで一連の作業をまとめて実行する。

ルーティングコントロールの作成・設定(コントロールプレーン)は特定リージョンに依存します。障害時の切り替えはコンソールや設定 API ではなく、可用性の高いデータプレーンを CLI / SDK から呼ぶのがベストプラクティスで、エンドポイントと ARN を手順書に事前に控えておきます。

4. セキュリティと認証・認可

  • IAM による分離: 設定変更(コントロールプレーン)と状態更新(データプレーン)は別のアクションなので、構築担当と切り替え担当・自動化の権限を分けられる。
  • 安全ルール: 自動化の不具合や誤操作で全セルが停止する事態を防ぎ、重大インシデント時だけオーバーライドで解除する。
  • インシデント対応の自動化: セキュリティの検出結果を起点に、Lambda や Systems Manager Automation がルーティングコントロールやゾーンシフトを操作して、侵害が疑われる環境からトラフィックを退避させる。
  • 可視化と通知: ゾーンオートシフトや練習実行の開始・終了は EventBridge で通知でき、API 呼び出しは CloudTrail に記録される。
  • 検証: AWS FIS の AZ 電源断シナリオなどで、オートシフトが期待どおり働くかをテストできる。

5. 料金形態

  • ゾーンシフト / ゾーンオートシフト: 追加料金なし。
  • ルーティングコントロール: クラスター 1 つにつき 1 時間 2.50 USD(月あたり約 1,800 USD)。複数のアプリでクラスターを共用するとコストを抑えられる。
  • Region switch: プラン 1 つにつき月額 70 USD(日割り)。
  • readiness check: チェック 1 つにつき 1 時間 0.045 USD。2026年4月30日から新規利用者は利用できない。
  • その他: Route 53 のホストゾーン・クエリ、ロードバランサー、待機リージョンのリソースなどは通常どおり課金される。

6. よくあるアーキテクチャ・設計パターン

  • AZ 障害の自動退避: 3 AZ 構成でプレスケールし、ゾーンオートシフト+練習実行で人手を介さずに障害 AZ を切り離す。
  • 不良デプロイの切り離し: AZ ごとに段階デプロイし、問題が出た AZ をゾーンシフトで一時的に外してから原因を調べる。
  • アクティブ / パッシブのリージョンフェイルオーバー: ルーティングコントロールと Route 53 フェイルオーバーレコードで DNS を切り替え、アサーションルールで「常にどちらか 1 つはオン」を保証する。
  • 複雑な DR の一括実行: Region switch で DB の昇格、コンピューティングの拡張、DNS 切り替えを順序付きで実行する。
  • セキュリティインシデントの封じ込め: 侵害の疑いがあるリージョンやセルから、データプレーン API でトラフィックを退避させる。

7. 設定・デプロイ手順(ハンズオン例)

  1. ALB と Auto Scaling グループを 3 つの AZ にまたがって作成し、1 AZ を失っても処理できる最小容量にしておく。
  2. ARC コンソール(または EC2 コンソールのロードバランサー画面)で ALB のゾーンシフト連携を有効にし、手動のゾーンシフトを 1 回試して AZ ごとのメトリクスでトラフィックが抜けることを確認する。
  3. 練習実行の設定を作成し、結果判定用の CloudWatch アラームと、実行を見合わせるブロッキングアラーム・除外日時を指定する。
  4. ゾーンオートシフトを有効にし、オンデマンドの練習実行で問題なく稼働することを確かめる。
  5. EventBridge ルールでオートシフトと練習実行のイベントを SNS に流し、運用チームへ通知する。

8. 試験で問われやすいポイント

8.1 AZ 障害への対応

  • Q: AWS が単一 AZ の障害を検知したら、人手を介さずにトラフィックを退避させ、回復後に自動で戻したい場合は?
    A: ARC のゾーンオートシフトを有効にし、練習実行を設定する。
  • Q: 不良デプロイの影響が特定 AZ に出ている。すぐにその AZ を外したい場合は?
    A: ゾーンシフトを手動で開始する(期限付きで、期限後は自動で戻る)。
  • Q: ゾーンオートシフトを有効にする前に必要な準備は?
    A: 残りの AZ だけで全負荷を処理できるよう容量を事前に確保する。オートスケーリングの追従を前提にしない。

8.2 リージョン切り替え

  • Q: リージョン障害時のフェイルオーバー操作を、障害の影響を受けうる構成管理系に依存させたくない場合は?
    A: ルーティングコントロールの ARN とクラスターの 5 つのエンドポイントを事前に控え、CLI / SDK でデータプレーンの UpdateRoutingControlState を呼ぶ。応答しないエンドポイントがあれば別のエンドポイントで再試行する。
  • Q: 複数アカウント・複数リソースの切り替え手順をまとめて自動実行したい場合は?
    A: Region switch のプランを使う。
  • Q: readiness check を新しく使い始められる?
    A: できない。新規受付を終了しており、Region switch のプラン評価が推奨される。

8.3 安全ルール

  • Q: 自動化の誤動作で両方のセルがオフになり全停止する事態を防ぎつつ、緊急時は解除できるようにしたい場合は?
    A: 「少なくとも 1 つはオン」のアサーションルールを作成し、緊急時は状態更新でそのルールをオーバーライドする。
  • Q: 特定のスイッチを、マスタースイッチがオンのときだけ操作可能にしたい場合は?
    A: ゲーティングルールを使う。

8.4 インシデント対応と料金

  • Q: セキュリティインシデント時にトラフィックを自動で退避させるには?
    A: 検出結果を EventBridge で捕捉し、Lambda や Automation からルーティングコントロールやゾーンシフトを操作する。
  • Q: オートシフトが実際に機能するかを検証するには?
    A: 練習実行の結果を確認し、AWS FIS の AZ 電源断シナリオでもテストする。
  • Q: ARC で追加料金なしに使える機能は?
    A: ゾーンシフトとゾーンオートシフト。ルーティングコントロールのクラスターは時間課金、Region switch はプランごとの月額。