「インスタンス結合ディレクトリ」ってなに?EC2のLaunch時にドメイン結合ディレクトリを使ってみた

2018.03.20

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ご機嫌いかがでしょうか、豊崎です。

インスタンス結合ディレクトリについてご存知でしょうか?EC2を起動するときの設定項目としてあるのですが恥ずかしながら初めて使ったので、記事にまとめてみたいと思います。

インスタンス結合ディレクトリってなに?

インスタンス結合ディレクトリって名前が混乱を招きますが、AWSマネジメントコンソールを英語で表示するとわかりやすいです。「Domain join directory」と書いてあります。いわゆるドメイン参加のことです。

SimpleADまたは、MicrosoftADを利用してドメインを管理している場合、インスタンス結合ディレクトリを使用するとWindowsサーバをlaunchするタイミングで自動的にドメイン参加することができます。

前提

実際に使う前に前提です。

  • SimpleADは利用中
    • ドメイン:XXXX.local
    • SimpleAD管理(ADの操作)用Windowsが存在する
  • EC2(Windows Server 2012R2:ami-264a0f40)
    • ※本投稿内でプライベートサブネットへLaunchします
    • SSMを実行するIAMRoleが付与されていること
    • インターネットへ通信ができること(SSMを利用するため)
    • SimpleADとプライベート通信ができる
  • プライベートサブネットにログインできる踏み台サーバが存在する

以上です。それではやっていきましょう。

やってみた

まずは既にSimpleADのドメインに参加している「SimpleAD管理用サーバ」にログインし、Active Directory ユーザーとコンピューターを開き、Computersを確認してみます。

現在の台数は9台です。

それでは、AWSマネージメントコンソールからEC2ダッシュボードを開き、インスタンスの作成を行います。

以下の今回は以下の設定を行いました。

  • サブネット:NATGatewayを経由してインターネット可能なプライベートサブネットを選択
  • ドメイン結合ディレクトリ:SimpleADを選択
  • IAMロール:SSMが実行できるポリシーを付与

上記以外は適宜設定を行い、EC2をLaunchしました。

起動のタイミングでドメイン参加しているはずなので、踏み台サーバを経由してEC2にドメイン管理者でログインしてみます。

無事ログインできました。

それでは、改めて、「SimpleAD管理用サーバ」にログインし、Active Directory ユーザーとコンピューターからComputersを確認してみます。当然こちらからも追加されていることが確認ができます。

CloudFormationで書いてみる

ちなみに、CloudFormationだと以下のように書きます。

###
AWSTemplateFormatVersion: 2010-09-09
Description: create EC2
Resources:
    MyEC2:
    Type: "AWS::EC2::Instance"
    Properties:
------------------------略------------------------
        SsmAssociations:
            AssociationParameters:
                - Key: directoryId
                  Value:
                    - d-XXXXXXXXXX
                - Key: directoryName
                  Value:
                    - XXXX.local
            DocumentName: AWS-JoinDirectoryServiceDomain

参考:https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html

さいごに

いかがでしたでしょうか?AWSのマネージドなディレクトリサービスを利用することで、ドメイン配下のサーバが簡単に管理できます。使い方の簡単な説明でした。この記事が誰かのお客に立てば幸いです。