変更要約: in-scope サービス網羅: Elastic Disaster Recovery, Resilience Hub, Compute Optimizer, FSx 4種, Aurora Serverless v2, DocumentDB, MemoryDB for Redis, Redshift, EKS Distro, ROSA, DMS, Transit Gateway, PrivateLink, Client VPN, Site-to-Site VPN
3.2高可用性と自己修復
障害に強い設計——マルチ AZ/マルチリージョン、疎結合(SQS/SNS)、自己修復(ヘルスチェック+自動置換)、Route 53 ヘルスチェック/フェイルオーバー——を理解します。単一障害点をなくします。
高可用性の鉄則は単一障害点をなくすこと。複数 AZ に冗長化し、疎結合と自己修復で障害を局所化します。
3.2.1高可用性と自己修復の手段
- マルチ AZ:複数 AZ に冗長化し、単一 AZ 障害に耐える(RDS マルチ AZ など)。
- 疎結合:SQS/SNS でコンポーネントを分離し、障害を局所化する。
- 自己修復:ヘルスチェック失敗のインスタンスを Auto Scaling が自動置換。
- Route 53 フェイルオーバー:リージョン障害時に別リージョンへ切替(ヘルスチェック連動)。
「単一 AZ 障害に耐える=マルチ AZ」「障害の局所化=SQS/SNS で疎結合」「不健全インスタンスの自動置換=Auto Scaling の自己修復」「リージョン障害の切替=Route 53 フェイルオーバー」 は DOP-C02 で頻出です。状態を持たないステートレス設計ほど自己修復が容易です。
単一 AZ や単一インスタンスへの依存は単一障害点になります。状態(セッション等)はインスタンス外(DynamoDB/ElastiCache 等)に持たせ、ステートレスに保ちましょう。
DOP-C02 の可用性設計は「どの障害ドメインに対して、どこまで自動で回復させるか」を問います。マルチ AZ は単一 AZ 障害に耐える基本で、RDS マルチ AZ は同期レプリケーションで待機系へ自動フェイルオーバーし、Aurora はストレージを 3 AZ・6 コピーに分散します。疎結合では、同期呼び出しの連鎖がカスケード障害を生むため、SQS でバッファリングして取り込み側の障害を吸収し、SNS/EventBridge でファンアウトして発行者と購読者を切り離します。キュー+Auto Scaling(キュー長で増減)にすればバックプレッシャーにも追従できます。自己修復は、ヘルスチェック失敗の自動置換に加え、EventBridge+Lambda/SSM Automation で「アラーム→隔離→復旧ランブック実行」を自動化します。リージョン規模の障害には Route 53 のヘルスチェック+フェイルオーバールーティング(アクティブ/パッシブ)や、レイテンシ/加重ルーティングでの分散を使い、データ層は クロスリージョンレプリケーション(S3 CRR、Aurora グローバルDB、DynamoDB グローバルテーブル)で追随させます。設計検証には AWS Resilience Hub でポリシーに対する RTO/RPO 達成度を評価し、Fault Injection Service(FIS)でカオス実験を行って想定どおり自己修復するかを確かめます。ステートレス化(状態を DynamoDB/ElastiCache/外部ストアへ)が、これらの自動回復を成立させる前提です。
| 障害の範囲 | 対策 | 要点 |
|---|---|---|
| 単一インスタンス障害 | Auto Scaling 自己修復 | ヘルスチェック失敗を自動置換 |
| 単一 AZ 障害 | マルチ AZ 冗長化 | ELB+ASG・RDS マルチ AZ |
| 依存連鎖によるカスケード | SQS/SNS で疎結合 | バッファ+ファンアウトで局所化 |
| リージョン全断 | Route 53 + クロスリージョン | フェイルオーバー+データ複製 |
シナリオ:注文処理が下流の在庫 API の遅延に引きずられ、ピーク時に全体が詰まる。可用性を上げたい。→ 注文受付と在庫更新の間に SQS を挟んでバッファリングし、消費側を キュー長でスケール。一時的な在庫 API 障害でもメッセージは保持され、復旧後に処理されます。複数購読者が要るイベントは SNS/EventBridge でファンアウト。これで一部の遅延・障害が全体を止めない疎結合になります。
FAQ:マルチ AZ とマルチリージョンはどう違う? マルチ AZ は1 つのリージョン内で AZ 障害に耐える設計で、多くのワークロードの基本。マルチリージョンはリージョン全断や広域災害に備えるもので、コストと複雑さが増します。要件の可用性目標(RTO/RPO)が「リージョン障害でも継続」を求めるかで判断します。
ひっかけ:「ステートフルなセッションを各インスタンスのローカルに保持」したままスケールアウト/自己修復しても、置換時にセッションが失われます。状態は DynamoDB/ElastiCache などインスタンス外へ。また Route 53 フェイルオーバーは ヘルスチェック未設定だと発火しない点に注意します。
3.2.2AWS Resilience Hub — 回復力の評価と継続追跡
Resilience Hub はアプリケーションの回復力(RTO/RPO 目標に対する達成度)を評価・可視化・継続追跡するサービスです。まずアプリケーションのリソース(CloudFormation スタック・Terraform 状態・AppRegistry など)を登録し、回復力ポリシー(目標 RTO と RPO)を定義します。次にサービスが構成を分析し、単一障害点・ギャップ・改善推奨(コンポーネントのマルチ AZ 化など)を洗い出します。推奨は具体的なアクション(例「このターゲットグループを複数 AZ に分散せよ」)として提示され、修正後に再評価して達成度の改善を確認できます。継続評価モード(CI/CD パイプライン統合)では、インフラ変更がデプロイされるたびに自動で再評価し、目標 RTO/RPO を満たさなくなった変更を早期検知します。AWS Fault Injection Service(FIS)とも連携し、カオス実験による実証を組み合わせた回復力の検証が可能です。DevOps 文脈では「設計レビューの代わりに Resilience Hub を定量的ゲートとして CI/CD に組み込む」使い方が典型で、ドリフトを継続的に監視する点が従来の静的アーキテクチャレビューと異なります。
- ポリシー定義:目標 RTO/RPO を設定し、構成を静的に分析して単一障害点を洗い出す。
- 改善推奨:具体的なアクション(マルチ AZ 化・バックアップ追加など)を提示し、修正後に再評価。
- 継続評価(CI/CD 統合):デプロイごとに自動再評価し、ポリシー違反のドリフトを早期検知。
- FIS 連携:カオス実験の結果と組み合わせ、回復力を実証的に検証。
「RTO/RPO 達成度を継続的に評価・追跡」「デプロイのたびに回復力ポリシーを自動チェック」「単一障害点と改善推奨を可視化」=Resilience Hub が DOP-C02 での定番対応です。カオス実験=FIS、一時的なフェイルオーバー切替制御=Application Recovery Controller と区別して覚えます。
3.2.3ネットワーク接続 — マルチアカウント/ハイブリッドの高可用性
マルチアカウントやハイブリッドクラウド構成での高可用性は、ネットワーク接続の設計が土台になります。Transit Gateway は多数の VPC とオンプレミスネットワークをハブ&スポークトポロジで一元接続します。VPC ピアリングは 1 対 1 接続のためアカウント数が増えると配線がフルメッシュになり管理コストが爆発しますが、Transit Gateway に集約することでルーティングを一元管理し、単一障害点のない冗長構成を維持できます。PrivateLink は VPC 内のエンドポイント(インターフェイスエンドポイント)から AWS サービスやサードパーティサービスへ、インターネットを経由せずプライベートに接続します。データはパブリック IP やインターネットゲートウェイを通らないため、セキュリティ境界を維持しながらサービス間の接続を確立します。Client VPN は個々のクライアント(ラップトップ等) から AWS VPC へ TLS ベースの VPN 接続を確立します。社員のリモートアクセスに使い、クライアント証明書や SAML 認証と組み合わせます。Site-to-Site VPN はオンプレミス拠点と AWS VPC を IPsec で暗号化接続します。2 本のトンネルが自動提供されるため、1 本の障害時も冗長性を確保します。帯域要件が高い場合は専用線の Direct Connect と組み合わせることが多く、VPN はフェイルオーバーや補完として使います。
| サービス | 接続形態 | 主なユースケース |
|---|---|---|
| Transit Gateway | 多 VPC・オンプレをハブ&スポーク集約 | マルチアカウント間のルーティング一元化 |
| PrivateLink | VPC 内エンドポイント→サービスへプライベート | インターネット非経由でサービス利用 |
| Client VPN | クライアント→VPC へ TLS VPN | リモートワーカーのアクセス |
| Site-to-Site VPN | オンプレ拠点→VPC へ IPsec | 拠点とクラウドの暗号化接続・DR |
3.2.4この節のまとめ
- HA=マルチ AZ+疎結合(SQS/SNS)
- 自己修復=ヘルスチェック+自動置換/切替=Route 53
- 回復力評価=Resilience Hub(RTO/RPO 継続追跡・CI/CD 統合)
- ネットワーク HA=Transit Gateway(多 VPC 集約)+PrivateLink(プライベート接続)+Client VPN/Site-to-Site VPN(ハイブリッド)
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. Web 層の単一 AZ 障害でサービス全体が止まらないようにしたい。最も基本的な対策はどれですか?
Q2. インスタンスがヘルスチェックに失敗したら、自動で置き換えて回復させたい。何が行いますか?
Q3. プライマリリージョンが全断したとき、別リージョンの環境へ自動で切り替えたい。何を使いますか?

