Techfirm Cloud Architect Blog

テックファーム株式会社クラウドインフラグループのブログ

Client VPNで利用しているSimple ADが障害になった時の対処

はじめに

Client VPNが急に使えなくなってしまい切り分けを実施しました。
調査の結果、連結しているSimple ADに起因する障害でした。 今回は発生した事象について整理したので記載します。

Client VPNで利用しているSimple ADのステータスが障害になってしまった原因

Simple ADの構成として、使えないVPCエンドポイントが4種類あります。
その内、CloudWatch VPCエンドポイントとSystems Manager VPCエンドポイントをVPCにアタッチして使用していた事が原因となります。
こちらについて公式ドキュメントに記載がありますので、そちらを参照ください。

https://docs.aws.amazon.com/ja_jp/directoryservice/latest/admin-guide/simple_ad_getting_started.html

今回の復旧方法

  • 復旧作業1:Simple ADに紐づく情報を正しい情報にする

Simple ADに紐づくVPCへアタッチされていたCloudWatch VPCエンドポイント(monitor,log)・Systems Manager VPCエンドポイント(EC2)を削除して、Simple ADとVPCエンドポイントの関連づけを除外しました。
この時点でSimple ADに紐づく情報は正しくなったので、ステータスアクティブになることを期待していました。
しかし、依然としてステータスは障害のままでした。

  • 復旧作業2:AWSによるスナップショットからの復元作業

復旧作業1を実施する前段階から同時にサポートケースも投げていたので、サポートケース上でAWSサポートからご提案頂いた最終スナップショットを使った Simple ADの復元をお願いしました。
この方法を選んだ理由は、以下の2点です。

  • 最終スナップショット以降のタイミングで追加でAD登録された情報が無かったこと
  • 障害がおきた環境が検証環境で直近にて他の開発作業等も予定されていなかったこと

結果、復旧作業1と2完了時点で、Simple ADはステータスアクティブになり、Client VPNも無事接続再開できました。
2の作業はサポートケース上で 『海外のサービス部門に「復元」作業を依頼いたします』 との記載がありました。Simple ADの復旧作業ができるのは、海外のサービス部門のみのようなので VPCエンドポイントに対する対応が完了してから、海外のサービス部門に「復元」作業を依頼していただき、海外のサービス部門にて「復元」作業が完了するまでは3日ほどかかりました。
この方法だと時間がかかることに注意してください。

Simple ADのステータスが障害になっていた時の気になるポイント

以下は今回対応していて気になったポイントです。

スナップショットが取得された時点までしか復元できないこと

Simple ADをリストアすると、選んだスナップショットがとられたタイミングまでの情報しかAD上に復元されません。 そのため、スナップショットのタイミング以降のADに登録された情報は手動で追加しなければ復元しないことに注意が必要です。

Simple ADのステータスが障害表示中でもClient VPN接続することができていた

ステータスが障害になっていてもSimple ADと連結しているClient VPN接続は使えていました。
おそらくステータスがImpairedであった為だと思われます。
Impairedは、ディレクトリのパフォーマンスが低下した状態で実行されていることを示すステータスです。 予測になってしまいますが、以下の状態であったと考えております。

  • Simple ADの冗長化されたドメインコントローラーの内1台が正常に動作しない状態ではありつつ、残ったドメインコントローラーは正常に動作している状態であった
  • ステータスとしては障害ですが残ったドメインコントローラーによってClient VPN接続は使える状態を維持されていた

https://docs.aws.amazon.com/ja_jp/directoryservice/latest/admin-guide/simple_ad_directory_status.html

おわりに

Simple ADについて頭では分かっているつもりでした。
実際に問題が起きてみると、問題点を見つけるのは難しくなかったのですが、問題解決する時になってAWSマネージドならではの解決手段を取る必要があったことがいい勉強になりました。

参考

Simple AD の開始
ディレクトリのステータスを把握する