[アップデート] AWS Elastic Disaster Recovery の起動後アクションを使ってリカバリ時の自動検証が可能になりました #AWSreInvent

2023.12.05

いわさです。

AWS re:Invent 2023 中のアップデートの中で AWS Elastic Disaster Recovery (AWS DRS)に関する次のアナウンスがありました。

パッと見よくわからなかったのですが、過去のアップデート情報などから整理して結果何がアップデートされたのかわかったので解説したいと思います。
一応試してみたのですが、期待どおり検証エラーにならなかったので、そのあたりは再挑戦したいと思います。

AWS Elastic Disaster Recovery のおさらい

AWS DRS は私の観測範囲ではまだまだ普及がこれからのサービスだと思います。
なので、はじめにまず何のサービスだ?という点を軽く復習しておきましょう。

AWS DRS は re:Invent 2021 の予選落ちのタイミングで突然リリースされた新サービスだったと思います。
主に、仮想マシンを中心としたワークロードのディザスターリカバリーを実現するためのサービスです。

特徴的な点としては継続的なスナップショットを取得し続け、DR のドリル(訓練)などを実行出来る点や、サービスとしてフェイルバックまでしっかりサポートされている点です。
AWS 内での DR にも利用できますし、オンプレミスサーバーを AWS にレプリケーションし続け、いざという時に AWS 上でリカバリーすることもできます。

「起動後のアクション」という機能が追加されていた

そんな AWS DRS ですが、2023 年 9 月に「起動後のアクション」という機能が追加されていました。

AWS DRS の操作としてはリカバリボタンをポチっと押すだけです。
上記機能を事前に構成しておくと、AWS 上へリカバリした後に、追加で SSM などを通してエージェントのインストールやアプリケーションの起動など、初期処理やリカバリ先での追加セットアップを行うことが出来ます。

[New] 検証カテゴリと事前定義アクションが追加された

AWS DRS では仮想マシンの起動を行ってくれるのですが、これまでは起動後にサーバーが正しく立ち上がっているのかアプリケーションが使用可能なのか、などについては手動で検証する必要がありました。

今回のアップデートでは、起動後のアクションに検証用の事前定義アクションとカテゴリが追加されました。
これによってリカバリ操作を行った際に、起動後のアクションの中で仮想マシン起動後の検証ステップを実行することが出来ます。

事前定義されたアクションは以下が追加されています。

  • Volume integrity validation
  • EC2 connectivity check
  • Process status validation
  • Validate disk space
  • HTTP/HTTPS response validation
  • Verify tags

また、次のようにカスタム検証アクションを追加することも可能です。

これらを組み合わせて、リカバリ時の自動検証フェーズを構成することが出来るようになった。というのが今回のアップデートになります。

試してみた

ソースサーバーに DRS エージェントがセットアップ済みで、DRS 上のソースサーバーとして認識済みであることを前提とします。
「起動後アクションの設定を編集」メニューを選択します。

デフォルトで有効にさせる設定もありますがここでは無効状態だったので、起動後のアクションの設定をアクティブにします。

起動後の設定タブから、検証カテゴリのアクションを選択して有効化します。
ここでは EC2 の接続性を確認するアクションをアクティブにしました。

リカバリを開始します。
なお、起動後アクションはリカバリドリルでも可能です。

リカバリジョブのログ上ではどうやら検証フェーズなど、細かい情報は出力されないようです。
失敗するパターンについてはまた改めて確認してみたいと思いますが、大まかな使い方としてはこの流れになります。

マネージドポリシーも更新されている

ソースサーバーインスタンスに設定する IAM ロールに DRS 用のマネージドポリシーをアタッチする必要があるのですが、そのマネージドポリシーも今回のタイミングで更新されています。

数日前にバージョン4が追加され、検証アクションに必要な SSM アクションの許可が付与されていました。

さいごに

本日は AWS Elastic Disaster Recovery の起動後アクションを使ってリカバリ時の自動検証が可能になったので、何が出来るようになったのか改めて整理し、実際に使ってみました。

なお、私が試した際にはタグが設定されていない環境で Verify Tags を使っても正常起動したものと判断されたので、もしかしたらもう少し追加の構成手順が必要かもしれません。

知らない間に Elastic Disaster Recovery も機能追加されており、また re:Invent 2023 のパートナーキーノート内では AWS Resilience Competency も新たに発表されました。

FIS のアップデートがあったり、EXPO では AWS Resilience ブースもありましたので、Resilience 周りに力を入れている気配を感じました。ちょっと注目したいですね。