はじめに
CS2課オールドルーキー有川です。 地味にIT業界歴は長いので、一つの事象に3日以上ハマることは年1あるかないかくらいだったのですが、 久しぶりに丸3日以上ハマってしまった罠がありましたので、回避策とともに記事化しておきます。
※なお、何も関係ないですけど以下記事でハマり込んだのはNintendoSwitch2の発売日前後でした。配送が来て受け取ったけど、本件でハマりこみすぎてまだ化粧箱に入ったまま未開封です・・・。
なにが起きたのか
AWS License Managerを用いてRemote Desktop Services(WinRDS)のライセンス管理を実施するべく、構築に向けた検証を実施していました。 その検証構築中にEC2上に構築したセルフマネージドのActive Directoryとの連携設定がどうしても失敗してしまうという事象が発生し、原因を追究した記事となります。
原因、本事象の対象環境
以下の条件に合致する場合、私がハマった罠に同様にハマる可能性があります。
- セルフマネージドADを使用する
- ADが存在し、License Managerを構築するVPCのデフォルトSGのルールを変更している(ルールを全て削除しているなど)
当方の検証環境では、EC2が所属するサブネットが属するVPCを作成する際に自動作成された、デフォルトセキュリティグループ(SG)に穴開けルールがあるかどうかが原因でした。 デフォルトのままであればany/anyで通信可能になっていますので対象外です。 ただし、デフォルトVPCは削除が出来ない関係上、セキュリティ対策としてイン/アウトバウンドルールを全て削除する事で運用している環境も多いと思います。その場合、当記事で警鐘する罠にがっちりハマる可能性があります。
なお、このことはAWS公式ドキュメントにも記載をみつけることが出来ておらず、(2025/6/6現在)なぜここが関係してくるのか、未だメカニズムは不明です。(AWS問合せ中)
経緯と経過
docs.aws.amazon.com
検証環境の既設のVPCを使用して、上記の公式を参照し前提条件を合わせて構築に臨みましたが、エラーが発生しました。
エラー内容はADに到達出来ない、あるいはADが無いといった内容のものでした。
ADが無いわけない(作ったのでw)ので、到達可能性を鑑みて他のWin Serverからアクセスしたり、ドメイン参加してみたりなど、DNS解決の側面やセキュリティグループでの制御側面、ACLの確認やDHCPセットまで様々な可能性を潰すべく検証を続けましたが、どれも空振りで上手く動作してくれません。 もはや何が原因なのか見当もつかないところまで追い込まれたため、VPCやサブネットも全て作り直した上でAD再構築を実施したところ、連携設定が成功しました。 この時点で脳みその中が???で埋め尽くされていたのですが、弊社ブログ記事の以下の記述を思い出しました。
上記のステップで構築されたENIには、下記のセキュリティグループが自動的に作成され、アタッチされます。
SGを自動で生成するなら、VPCを生成する際に自動で作成されるデフォルトSGってなんか関係あるのかも?と調べたところ、 既設のVPCのデフォルトSGは、セキュリティ対策のためとしてルールを全て削除している事が判明しました。 新規で作ったVPCのデフォルトSGは特に削除などを行わず、穴あけされた状態であるためここに環境差異が発生している事が分かりました。
※なお、上記記事でSGが自動的に作成されると言っているのは本事象の後段に当たる作業内の事象であり、本件とは無関係であることを申し添えておきます(推察は大外れ、私の勘違いでしたが、結果的に原因に行き当たったということですw)
反証として作り直したVPCのデフォルトSGのルールを全て削除した上で連携設定を再度実施したところ、エラーを再現出来ました。
上記設定で登録を試行、エラー
穴あけルールを追加
再登録を試行、成功
さらにその後、お客様の本番環境でも同様にデフォルトSGの穴あけが無いことが分かりましたので、検証結果通りに穴あけ試行したところ※1連携設定に成功しています。 そのため、本事象は再現性もあるといえます・・・。
※1デフォルトSGが環境中で使用されていないことは確認しています
終わりに
ドキュメント記載ではないところで動作の成否が変わる、という状態はAWS上で初めての経験でした。 そのため今週の業務時間のほとんどを使うという鬼ハマりをやらかしてしまいました。
一件何の関係もない部分が構築成否に関わってくる上に説明資料が見当たらない今回の事象、ハマってしまってる方も多いのではないかと推察します。 これがなぜ起きているのか、仕様なのかバグなのかすら現在分かっていません。そのうち修正されるかもしれませんが、2025/6/6現在はこの状態でありました。 本記事が皆様の構築の一助となれば幸いです。 なお、AWSより回答が来たら記事をアップデートするかもしれません。
2025/6/10追記
AWSから回答を頂きましたので追記します。
License Manager は、 AWS Managed Microsoft AD がプロビジョニングされている VPC のデフォルトのセキュリティグループを使用する 2 つのネットワークインターフェイスを作成します。これらのインターフェイスは、サービスがディレクトリとやり取りするために使用されます。詳細については、「AWS Directory Service 管理ガイド」の「ステップ 2: License Manager に Active Directory を登録する」および「作成される対象」を参照してください。
上記の記述はAWSマネージドADの説明ですが、セルフマネージドADでも同様でデフォルトセキュリティグループを使用するとのことです。 また、全許可では問題があり、最小の穴あけで済ませたい場合は以下記事で紹介されているポートの解放が必要とのことでした。
ドメイン環境で使用されるポートについて | Microsoft Japan Windows Technology Support Blog
・・・やっぱこれは前提条件として記載してほしいなーと思いました。
ありかわ りゅうた(執筆記事の一覧)
カスタマーサクセス部 CS2課
2024年11月中途入社
自動車、釣り、キャンプ、ギターが趣味です。
経験こそ至高と思っているので、趣味的な事柄は何でも手を出します。
妻(パート)と娘(小学低学年)と息子(小学高学年)と犬(ゴールデンレトリバー)と猫(ミックス)で暮らす日々が煩わしくてうるさくて面倒くさいのに、かけがえの無いものなのが不思議です。