AWS Managed Microsoft ADを試してみた (2019年版)

2019.10.07

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

しばたです。
AWS Managed Microsoft AD(以後Microsoft AD)を試してみた記事は2015年にサービスがリリースされた直後に弊社トランによって公開されていてるのですが、2019年現在マネジメントコンソールのUIも若干変わっており改めて入門記事を書いてみます。

AWS Directory Service: 新製品の「Microsoft AD」を試す

Microsoft ADとは

AWS Managed Microsoft AD(以後Microsoft AD)はAWSが管理するマネージドなActive Directoryサービスです。
マネジメントコンソールのドキュメントに

AWS クラウド上の実際の Microsoft Active Directory ディレクトリです。

とある様にその実体は基本2台 *1のWidnows Server 2012 R2から構成されています。
フォレストおよびドメインの機能レベルはWindows Server 2012 R2となり、ディレクトリと同時にDNSサーバーもインストールされ利用できます。

前提条件

Micorosoft ADを構築するための前提条件は以下のドキュメントに記載されています。

かいつまんで説明すると、

  • 異なるAZにまたがる2つのサブネット
    • 基本2台のドメインコントローラーをそれぞれのサブネットに配置します
  • VPC にはデフォルトのハードウェアテナンシーが必要

となり、最低限下図の構成が必要となります。

マネジメントコンソールから構築してみる

Microsoft ADの構築は非常に楽で、マネジメントコンソールから行う場合もウィザードの従うだけですぐに作成できます。基本的な手順は以前の記事と変わりませんが、UIが若干変わっているの改めてスクリーンショット付きで説明します。

はじめに、全くの初期状態では下図の様になるので「AWS Managed Microsoft AD」を選択し、「ディレクトリのセットアップ」をクリックします。

「AWS Managed Microsoft AD」を選択したまま「次へ」をクリック。

次にディレクトリ情報を入力します。

設定項目は以下。細かい説明は不要かと思います。

項目 内容 備考
エディション StandardかEnterpriseを選択
ディレクトリのDNS名 ディレクトリのDNS名をFQDNで指定
ディレクトリのBetBIOS名 ディレクトリのNetBIOS名を指定 最大15文字
(Optional)ディレクトリの説明 マネジメントコンソールに表示するディレクトリの説明文
Adminパスワード Microsoft ADの管理者ユーザー Admin のパスワード

続けてVPCと2つのサブネットを指定します。

最後に設定内容の確認画面となり「ディレクトリの作成」ボタンをクリックすればディレクトリが作成されます。

作成完了までにはしばらく時間がかかりますので後は待つだけです。

CloudFormationから構築してみる

Microsoft ADはCloudFormationからも構築可能です。

ほとんど説明することはありませんがざっと以下の様な感じで作成できます。

AWSTemplateFormatVersion: 2010-09-09
Parameters:
  VPCID:
    Description: "Select VPC used by Microsoft AD."
    Type: AWS::EC2::VPC::Id
  Subnets:
    Description: "Select 2 subnets used by Microsoft AD."
    Type: List<AWS::EC2::Subnet::Id>
  Edition:
    Description: "Directory Edition(Standard or Enterprise)."
    Type: String
    Default: "Standard"
    AllowedValues:
      - "Standard"
      - "Enterprise"
  DNSName:
    Description: "Directory DNS name."
    Type: String
    Default: "corp.contoso.com"
  NetBIOSName:
    Description: "Directory NetBIOS name."
    Type: String
    Default: "CORP"
  AdminPassowrd:
    Description: "Password of Admin user."
    Type: String
    Default: "P@ssw0rd"
    NoEcho: True
Metadata:
  AWS::CloudFormation::Interface:
    ParameterGroups:
      - Label: 
          default: "Network parameters"
        Parameters:
          - VPCID
          - Subnets
      - Label: 
          default: "Directory parameters"
        Parameters:
          - Edition
          - DNSName
          - NetBIOSName
          - AdminPassowrd
Resources:
  MSAD: 
    Type: AWS::DirectoryService::MicrosoftAD
    DeletionPolicy: Retain
    Properties:
      Edition:
        Ref: Edition
      Name:
        Ref: DNSName
      ShortName: 
        Ref: NetBIOSName
      Password: 
        Ref: AdminPassowrd
      VpcSettings:
        SubnetIds:
          Ref: Subnets
        VpcId: 
          Ref: VPCID

Microsoft ADは一度作成したあとは削除することが無いでしょうからDeletionPolicyをRetainにしてあります。
その他パラメーターについては環境に応じて変えると良いでしょう。

AWS Tools for PowerShellから構築してみる

もちろんAWS CLIやAWS Tools for PowerShellからも構築可能です。
本記事ではAWS Tools for PowerShellから試してみます。

AWS Tools for PowerShellではNew-DSMicrosoftADコマンドレットでMicrosoft ADのディレクトリを作成できます。
ざっくり以下の様な感じです。

# 認証情報や既定のリージョン設定は必要に応じて行ってください

$params = @{
    VpcSettings_VpcId = 'vpc id'
    VpcSettings_SubnetId = ('subnet id1', 'subnet id2')
    Edition = 'Standard'
    Name = 'corp.contoso.com'
    ShortName = 'CORP'
    Password = 'Password'
}
New-DSMicrosoftAD @params

コマンドレットを実行すると直ちに処理が終了しディレクトリIDを返します。
作成状況はGet-DSDirectoryから取得できます。

Get-DSDirectory -DirectoryId 'your directory id'| Select-Object Name, Stage

制限事項と運用の基本

Micorosft ADはマネージドサービスであるため幾つかの制約があります。
基本的には弊社にしざわによる以下の記事をご覧いただくのが良いでしょう。

Microsoft AD(AWS Directory Service)を利用する上で注意すること

上記で触れている中でも

  • 利用者が使える管理者ユーザーは Admin ユーザー
    • Domain Adminの権限は与えられない
  • 利用者が利用可能な管理権限は AWS Delegated Groups 配下にある
    • Admins グループは過去の権限であり現在は非推奨
  • 利用者が使えるOUが限定されている

をまずは押さえておけばよいでしょう。
加えて以下の公式ドキュメントを押さえておくのが良いでしょう。

運用の基本

Micorosft ADの運用は通常のドメインコントローラーと同様に行います。
ただ、マネージドサービスのためドメインコントローラーにRDPで接続することはできないため、ドメインに参加したリモート環境からRSATなどをインストールして管理します。
たとえばWindows Server環境から管理する場合はInstall-WindowsFeatureコマンドレットを使い「AD DS および AD LDS ツール」「DNS サーバー ツール」をインストールすれば最低限必要な管理機能は利用可能になります。

# 要管理者権限
# インストールする管理ツールは環境に応じて変更してください
Install-WindowsFeature RSAT-AD-Tools, RSAT-DNS-Server

また、AWSのマネジメントコンソール上では主に以下の操作が可能です。

  • ユーザーのパスワードリセット
  • ディレクトリを他アカウントと共有する
  • ドメインコントローラーの台数を増やす
  • 信頼関係の追加
  • IPルーティング設定
  • 多要素認証設定
  • スナップショット(バックアップ)の管理

最後に

ざっとこんな感じです。

過去記事の焼き直しではありますが、様々な方式での作成方法や運用の注意事項などを追加していますので少しは皆さんの役に立つのではと思っております。
これからMicrosoft ADを触る方の役に立てば幸いです。

脚注

  1. 構築後にドメインコントローラーの数を増やすことが可能