はじめに
re:Invent2025の真っ只中にありますが、re:Invent開催の少し前に発表されたRoute53の「高速復旧オプション」という機能アップデートについて調べてみました。
この機能アップデートにより、下記のような改善がなされます。
米国東部 (バージニア北部) AWS リージョンのサービス中断時に 60 分の目標復旧時間 (RTO) を実現するように設計された、新しいドメインネームサービス (DNS) 事業継続特徴量です。この強化により、お客様は地域的な障害時でも DNS の変更やインフラストラクチャのプロビジョニングを継続できるようになり、ミッションクリティカルなアプリケーションの予測可能性と耐障害性が向上します。
以降で、このアップデートについて詳しく見ていきたいと思います。
機能の呼称
該当機能は各所で下記のように表現されていました。
- What's New「accelerated recovery option」
- AWSブログ「高速復旧」
- Route53 Developer Guide「accelerated recovery」
- マネコン「回復の加速」「高速復旧オプション」
「高速復旧オプション」と呼ぶのが一番わかりやすいと感じましたので、本記事ではそのように呼ぶことにします。
コントロールプレーン・データプレーンの概念
高速復旧オプションについて話す前に、前提となる考え方について触れておきたいと思います。
AWSサービス全般において、コントロールプレーン・データプレーンという概念があります。
上記で詳しく解説されていますが、この記事からポイントを少し抜き出していきます。(そのまま抜き出したり意訳したりしています)
言葉としては、元々はネットワーク用語で、AWSのあらゆる場面で利用されている概念です。
それぞれの特徴を表にしてみました。
| コントロールプレーン | データプレーン | 補足 | |
|---|---|---|---|
| 役割 | システムに変更(リソースの追加、削除、変更など)を加え、その変更を必要な場所に反映させる仕組み | リソースの日常的な処理、つまりリソースが機能するために必要な処理 | |
| サービスの顧客にとっての重要度 | 低い | 高い | EC2インスタンスの実行後、その継続的な可用性と正常な動作は、ほとんどの AWS 顧客にとって、新しい EC2 インスタンスを起動できるかどうかよりも重要 |
| 求められる可用性 | 高い | より高い | |
| 複雑性 | 複雑 | 単純 | |
| 動作規模 | 小さい | 大きい | |
| 可動部品 | 多い | 少ない | こちら では変動要素や依存関係と表現されている |
| 障害発生確率 | 高い | 低い |
※なお、「低い」「少ない」等の言葉で誤解を招いてしまうかもしれませんが、いずれの項目も相対的に見てどうか、傾向としてどうか、という視点で書いているので、「比較的」という言葉を補って見ていただければと思います。
コントロールプレーンとデータプレーンそれぞれが具体的に何を指すかはサービスごとに異なりますが、例えばEC2の場合は下記のようになります。
| コントロールプレーン | データプレーン | |
|---|---|---|
| 役割 | EC2が新しいインスタンスを起動する際に行われるすべての処理を行う | 既存のEC2インスタンスが期待どおりに動作し続けるように維持する |
| 具体例 | ・サブネットからENIを割り当てる ・EBSボリュームを準備 ・IAMロールの認証情報を生成 ・セキュリティグループをインストール |
・ルートテーブルに従ってパケットをルーティング ・EBSから読み書きを行う |
コントロールプレーンに障害が発生してもデータプレーンに影響を与えないことが重要で、EC2のコントロールプレーンに障害が発生した場合、例えば下記のようになるようにEC2サービスは設計されています。
- コントロールプレーン
- 物理サーバーがVPCへの新しいEC2インスタンスの追加を認識できない
- データプレーン
- イベント発生前に送受信できていたトラフィックが引き続き動作する
グローバルサービス
Route53はグローバルサービスです。
リージョナルサービスが、コントロールプレーンとデータプレーンがリージョンごとに独立して存在するのに対し、Route53の場合は、コントロールプレーンがバージニアリージョン、データプレーンはグローバルに分散されたPoint of Presence(PoP) ネットワークにあります。
(翻訳)
リージョン別およびゾーン別のAWSサービスに加えて、コントロールプレーンとデータプレーンが各リージョンに独立して存在しない AWSサービスがいくつかあります。これらのリソースはリージョン固有ではないため、一般的にグローバルと呼ばれます 。
ほとんどのグローバルサービスにおける大きな違いは、コントロールプレーンが単一のAWSリージョンでホストされているのに対し、データプレーンはグローバルに分散されていることです。
Route53はus-east-1リージョンでコントロールプレーンを運用していますが、データプレーンは世界中の数百のPoPと各AWSリージョンに分散されています(リージョン内でRoute53のパブリックDNSとプライベートDNSをサポートするため)。
(翻訳)
AWS は、AWS リージョンとアベイラビリティゾーンに加えて、グローバルに分散された Point of Presence (PoP) ネットワークも運用しています。これらの PoP は、コンテンツ配信ネットワーク (CDN) である Amazon CloudFront、パブリックドメインネームシステム (DNS) 解決サービスである Amazon Route 53、エッジネットワーク最適化サービスである AWS Global Accelerator (AGA) をホストしています。
Route53におけるコントロールプレーン・データプレーン
Route53では下記とおりです。
| コントロールプレーン | データプレーン | |
|---|---|---|
| 役割 | 管理操作を実行 | ・コア機能を提供 ・権威 DNSサービス ・200を超えるPoint of Presence (PoP) ロケーションで実行 |
| 具体例 | DNSレコードの作成、更新、削除 | ホストゾーンとヘルスチェックデータに基づいてDNSクエリに応答 |
データプレーンの可用性についてドキュメントに以下の記述があります。
(翻訳)
データプレーンは耐障害性に優れた設計となっているため、まれに発生する中断イベントが発生し、コントロールプレーンが利用できなくなるような場合でも、可用性を維持できます。
Route53はSLAが100%です(100%未満だとクレジットがもらえる)。この100%という稼働率は何のことを言っているかというと、下記にあるとおり、DNSクエリの応答に関するもので、つまりデータプレーンの稼働率を指しています。
Hosted Zoneに割り当てられた4つの仮想ネームサーバーすべてが、所定の期間(分単
位)にHosted Zoneに対して行われたすべてのDNSクエリに応答しなかった場合、そのHosted Zoneは「利用不可」とみなされる。
つまりデータプレーンはそもそも可用性がとてつもなく高いです。
今回のアップデート「高速復旧オプション」の対象はコントロールプレーンで、そのコントロールプレーンの一部の操作の復旧・継続能力を向上させるアップデートです。
復旧・継続能力が向上した操作
機能アップデートにより復旧・継続能力が向上した操作はコントロールプレーンの一部の操作に限定されますが、ざっくり言うと下記のとおりです。
- DNSレコードの作成/変更/削除
- ホストゾーンやレコードセットの参照操作
※詳細は ドキュメント 参照
障害発生時の挙動
実際に試せないのでドキュメントから理解したかぎりですが、下図のような挙動になると思われます。
注意点
ドキュメントで「stranded changes」と表現されていますが、この「取り残された変更」について注意が必要です。
具体的には下図のとおりです。
障害発生時に影響があったかどうかを確認する場合、下記のような方法をとる必要がありそうです。
- 障害発生中のChangeResourceRecordSets API実行履歴を確認
- 履歴があった場合、ChangeResourceRecordSets APIのレスポンスから変更IDを取得
- 変更ステータスをGetChange APIで確認
- GetChange APIレスポンスが
NoSuchChangeである場合、「取り残された変更」が発生していると判断
復旧方法としては、同じ変更操作を再実行すれば良いようです。
また、バージニアリージョン復旧時は自動でフェールバックが行われ、その際は「取り残された変更」は発生しないとのことです。
設定してみた
高速復旧オプションは、障害が発生する前に、事前に有効化されている必要があります。
マネコンとCLIで設定を試してみました。
マネコン
ホストゾーン作成時点では、指定個所はありません。
有効化を押します。
確認画面が出てくるので、もう一度有効化を押します。
有効化中⇒ホストゾーンのロックを有効化中⇒有効化済みのようにステータスが遷移し、4分ほどで有効化が完了しました。
ドキュメント に以下の記述があったので削除してみました。
Hosted zones with accelerated recovery enabled cannot be deleted. You must disable accelerated recovery before attempting to delete the hosted zone.
ちゃんと消せませんでした。
無効化してみます。
無効化中⇒ホストゾーンのロックを無効化中⇒無効化済みようにステータスが遷移し、4分ほどで無効化が完了しました。
改めて削除してみます。
今度はちゃんと消せました!
CLI
CloudShellで実行しようとしたところupdate-hosted-zone-featuresコマンドがありませんでした。
AWS CLIのリリース情報を見てみたところ、バージョン2.32.5で対応していました。
- api-change:
route53: Adds support for new route53 feature: accelerated recovery.
CloudShell上のCLIバージョンは2.32.3となっており、12/2時点では高速復旧オプション未対応のバージョンでした。
最新バージョン2.32.7にしてCLIから有効化を試してみました。
aws route53 update-hosted-zone-features --enable-accelerated-recovery --hosted-zone-id <your-hosted-zone-id>
ステータスがDISABLED⇒ENABLING⇒ENABLING_HOSTED_ZONE_LOCKED⇒ENABLEDのように遷移していくことが確認できました。
次に無効化してみました。
aws route53 update-hosted-zone-features --no-enable-accelerated-recovery --hosted-zone-id <your-hosted-zone-id>
今度はステータスがDISABLING⇒DISABLING_HOSTED_ZONE_LOCKED⇒DISABLEDのように遷移していくことが確認できました。
料金
What's New記載のとおり、追加料金はかかりません。
There is no additional charge for using this feature
さいごに
少なくとも本番環境では有効化が推奨されるものであると感じました。
反対に、有効化しない理由としては、検証用途や開発環境であることくらいしか思いつきません。
ただし、あくまでオプション機能として提供されているため、利用するかどうかをユーザー側が判断する必要があります。
弊社では一緒に働く仲間を募集中です!
現在、様々な職種を募集しております。
カジュアル面談も可能ですので、ご連絡お待ちしております!
募集内容等詳細は、是非採用サイトをご確認ください。






















