toto_1212

技術のログをツラツラ書きます。自分用ですが参考にしていただけたら嬉しいです。間違ってたらドンドン突っ込んでください。

【AWS】オンプレDNS(AD)にEC2を参加させる話

社内システムをAWS上に移設する際に必ず話題になるDNSActive Directory 以下AD)をどうするかという問題。
DNSもRoute53へ移行して、ディレクトリ管理もSimple ADで、といきたいところだがそんな乗り気な会社はまずない。

影響の少ないサーバからお試しでAWS環境へ移行してみるのは当然のセオリーでオンプレ環境にDNS(AD)を残して
運用するいわゆるハイブリッド構成とした場合のDNS周りを少しだけ書いてみる。

よく聞かれるのがこれ。

AWS環境のサーバをオンプレミス環境のADに参加することは可能か?

AWS環境のサーバをオンプレミス環境のADに参加することはもちろん可能だけど、少々注意が必要になる。
VPCのデフォルト設定はEC2インスタンスが起動するときにDHCP経由でDNSサーバをVPC内で提供されている
AmazonDNSサーバ(Amazon Providid DNS)へ設定されてしまう。

オンプレミス環境のドメインに参加するためDNSサーバのIPアドレスを指定する必要がある。

【補足資料】
DHCP オプションセット - Amazon Virtual Private Cloud
VPC での DNS の使用 - Amazon Virtual Private Cloud

次がこれ。

AWS Directory Service(Simple AD or AD Connector)のどちらかが必要となるのか?

AWS Directory ServiceのBlackbelt資料の13ページにディレクトリタイプ(Simple AD and AD Connector)の説明がある。
これを見ると既存のディレクトリサービス(AD)に繋ぐためにはAD Connectorが必須のように捉えがちだがADの参加は可能。
AWSサービス(Workspaces、WorkDoccs等)をオンプレミスAD環境と連携したい場合にAD Connectorが必要になる。

【補足資料】
ネットワークでの AD Connector ディレクトリの準備 - Amazon WorkSpaces

それとまた別にこんな問題も。
この構成でS3をVPNエンドポイント経由で利用しようとするとAmazon Providid DNSを参照せずにアクセスできてしまう。
過去にAmazon Providid DNSを利用しないでVPNエンドポイントを利用することは非推奨と聞いたことを記憶しているので
確認したところ、やはり非推奨(利用を強く推奨という表現)とのこと。

オンプレミス環境のDNSサーバはフォワード先としてAmazon Providid DNSを利用することができないためAWS環境上に
DNSサーバを構築してそのDNSサーバをフォワード先にする必要ある。

非推奨の理由はおそらくVPCエンドポイントのIPアドレスが動的に変わるからだと想定している。
VPCエンドポイントを経由してS3へアクセスする場合、EC2からdescribe-prefix-listsコマンドで名前解決していて帰ってくる
IPアドレスも当然ながら一定ではない。
dev.classmethod.jp

Amazon Providid DNSはIP変更・追加が短い間に行われるので、こちらを参照していたほうが影響が少ないんじゃないかと思う。
オンプレミス環境のDNSに問い合わせた場合、キャッシュ保持等の影響で実際のVPCエンドポイントのIPアドレスが不一致を
起こしてアクセス出来ないことが可能性としては少ないかもしれないがあり得ることなんだと思う。