View a markdown version of this page

Active Directory ドメインへのインスタンスの結合 - AWS Elastic Beanstalk

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Active Directory ドメインへのインスタンスの結合

を使用すると AWS Elastic Beanstalk、環境内の Windows Server インスタンスは Active Directory ドメインに自動的に参加できます。AWS Directory Service を使用してディレクトリを管理し、aws:elasticbeanstalk:windows:activedirectory名前空間の設定オプションを使用して結合を有効にします。各インスタンスは、Elastic Beanstalk がアプリケーションをデプロイする前に、起動時にドメインに参加します。カスタム結合ロジックを記述したり、結合を自分で管理したりすることはありません。

Managed AWS Microsoft AD ディレクトリまたは Simple AD ディレクトリ、または AD Connector を介してセルフマネージド Active Directory にインスタンスを結合できます。

注記

Active Directory ドメイン結合は、2026 年 8 月 18 日以降にリリースされた Windows Server プラットフォームバージョンで使用できます。以前のプラットフォームバージョンは aws:elasticbeanstalk:windows:activedirectory名前空間をサポートしておらず、検証中にそのオプションを拒否します。環境をアップグレードするには、「」を参照してくださいElastic Beanstalk 環境のプラットフォームバージョンの更新。

ドメイン結合の仕組み

Active Directory オプションがある環境のインスタンスが起動すると、Elastic Beanstalk がアプリケーションをデプロイする前に、次の処理が行われます。

  1. ディレクトリにそれ自体のコンピュータオブジェクトを作成します。インスタンスは、環境のインスタンスプロファイルの認証情報を使用して AWS Directory Service CreateComputer API オペレーションを呼び出します。DirectoryOU オプションを設定すると、インスタンスはその組織単位 (OU) にコンピュータオブジェクトを作成します。それ以外の場合は、ディレクトリのデフォルトコンテナに オブジェクトが作成されます。

  2. 自体の名前を に変更します。ここでEC2-XXXXXXXX、 XXXXXXXXはインスタンス ID の最後の 8 文字を大文字で表したものです。

  3. ドメインに参加し、再起動して参加を完了します。これは、プロビジョニング中に Elastic Beanstalk 環境内のすべての Windows Server インスタンスがホスト名を適用するために実行するのと同じ 1 回限りの再起動であるため、ドメイン結合によって再起動が追加されることはありません。

Active Directory オプションがない場合、Elastic Beanstalk は各 Windows インスタンスのホスト名をプライベート IPv4 アドレス ( など) から取得しますIP-0A010203。IP アドレスは再利用できるため、これらの名前はディレクトリ内の古いコンピュータオブジェクトと衝突する可能性があります。これは、リージョン間で IP 範囲を再利用するディザスタリカバリトポロジ、または存続期間の長い環境で発生する可能性があります。Active Directory オプションが設定されている場合、ホスト名は代わりにインスタンス ID から取得されます。各インスタンス ID はグローバルに一意であるため、古いコンピュータオブジェクトと名前が衝突する可能性はごくわずかです。instance-ID-derivedホスト名は、Active Directory オプションがある環境にのみ適用されます。

前提条件

Active Directory ドメイン結合を設定する前に、以下の前提条件を満たしていることを確認してください。

  • AWS Directory Service ディレクトリ — AWS マネージド Microsoft AD、Simple AD、または AD Connector。作成するには、「 Directory Service 管理ガイド」の「Directory Service のセットアップ AWS」を参照してください。 AWS

  • ネットワーク接続と DNS 解決 – 環境は、ディレクトリにアクセスできる VPC で実行する必要があり、環境内のインスタンスはディレクトリの DNS 名を解決する必要があります。結合プロセスは、DNS SRV レコードを介してドメインコントローラーを検出します。これは通常、VPC をディレクトリの DNS サーバーを指す DHCP オプションセットに関連付けることを意味します。これは標準の AWS Directory Service 設定です。詳細については、AWS 「 Directory Service 管理ガイド」の「DHCP オプションセットの作成または変更」を参照してください。DNS 解決の欠落は、失敗したドメイン結合の一般的な原因です。

  • インスタンスプロファイルのアクセス許可 – 環境のインスタンスプロファイル ( などaws-elasticbeanstalk-ec2-role) には、 ディレクトリds:CreateComputerで を呼び出すアクセス許可が必要です。最小特権の原則に従うには、スコープが設定されたポリシーを ディレクトリに追加します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ds:CreateComputer", "Resource": "arn:aws:ds:us-east-2:123456789012:directory/d-1234567890" } ] }

    または、AmazonSSMDirectoryServiceAccess 管理ポリシーをアタッチすることもできます。これには、アカウント内のすべてのディレクトリに対する ds:CreateComputer アクセス許可が含まれます。

  • サポートされているプラットフォームバージョン – 環境は、2026 年 8 月 18 日以降にリリースされた Windows Server プラットフォームバージョンを実行する必要があります。

  • 既存の OU ( を設定した場合DirectoryOU) – Elastic Beanstalk は組織単位を作成しません。DirectoryOU オプションを設定すると、OU が ディレクトリに既に存在している必要があります。存在しない場合、結合は失敗します。

Active Directory ドメイン結合の設定

Active Directory ドメイン結合を有効にするには、 aws:elasticbeanstalk:windows:activedirectory名前空間で次の設定オプションを設定します。設定ファイル、、 AWS CLIまたはその他の方法で設定オプションを設定できます。各オプションの詳細については、「」を参照してくださいaws:elasticbeanstalk:windows:activedirectory。

  • DirectoryId – 結合するディレクトリの ID (例: d-1234567890)。このオプションを設定すると、 機能が有効になります。設定しない場合、環境の動作は変わりません。

  • DirectoryName – ディレクトリの完全修飾 DNS 名 (例: corp.example.com)。DirectoryId が設定されている場合は必須です。

  • (オプション) DirectoryOU – コンピュータオブジェクトを作成する組織単位の識別名 (例: OU=WebServers,DC=corp,DC=example,DC=com)。OU は既に存在している必要があります。このオプションを設定しない場合、コンピュータオブジェクトはディレクトリのデフォルトコンテナに作成されます。

次の の AWS CLI 例では、実行中の環境で Active Directory ドメイン結合を設定します。この例では、 --option-settingsパラメータに JSON 構文を使用します。DirectoryOU値にはカンマが含まれているため、短縮構文は区切り文字として解釈します。

例 AWS CLI - Active Directory ドメイン結合を設定する
aws elasticbeanstalk update-environment \ --environment-name my-env \ --option-settings '[ {"Namespace": "aws:elasticbeanstalk:windows:activedirectory", "OptionName": "DirectoryId", "Value": "d-1234567890"}, {"Namespace": "aws:elasticbeanstalk:windows:activedirectory", "OptionName": "DirectoryName", "Value": "corp.example.com"}, {"Namespace": "aws:elasticbeanstalk:windows:activedirectory", "OptionName": "DirectoryOU", "Value": "OU=WebServers,DC=corp,DC=example,DC=com"} ]'
重要

この名前空間のオプションを追加、変更、または削除すると、Elastic Beanstalk は環境内の Amazon EC2 インスタンスを再プロビジョニングします。これにより、ローリング更新がトリガーされます。

環境の設定を別のディレクトリを指すように変更すると、代替インスタンスは新しいディレクトリに参加します。オプションを削除すると、代替インスタンスはドメインに参加せずに起動し、標準の IP-address-derivedホスト名を使用します。どちらの場合も、前のインスタンスが作成したコンピュータオブジェクトは ディレクトリに残ります。詳細については、「ディレクトリ内のコンピュータオブジェクトの管理」を参照してください。

ドメイン結合の確認

インスタンスがドメインに参加したことを確認するには、次のいずれかを実行します。

  • (インスタンスのホスト名) という名前のコンピュータオブジェクトEC2-XXXXXXXXが、指定した OU またはデフォルトのコンテナの ディレクトリに存在することを確認します。

  • 行 のインスタンスのデプロイログを確認しますActive Directory: joined to directory-name。詳細については、「Elastic Beanstalk 環境のデプロイログの表示」を参照してください。

環境がスケールアウトすると、Auto Scaling はドメインにも参加するインスタンスを追加します。これらのインスタンスのいずれかのデプロイログを確認するには、Amazon S3 から取得します。詳細については、「デプロイログが保存される場所」を参照してください。

失敗したドメイン結合

失敗したドメイン結合はデプロイをブロックしません。何らかの理由でインスタンスがドメインに参加できない場合、インスタンスは標準の IP-address-derivedホスト名 (IP-XXXXXXXX) にフォールバックし、デプロイは続行され、環境は引き続き準備完了状態になり、正常であると報告できます。

失敗を表示するために、Elastic Beanstalk はインスタンスの実際のドメインメンバーシップを設定されたディレクトリと比較し、一致しないときにERRORイベントを発行します。

Active Directory domain join did not complete: instance is not joined to 'corp.example.com' (PartOfDomain=False, Domain=WORKGROUP). See the deployment log for the join output.

インスタンスは、結合プロセスの出力を に書き込みますC:\cfn\log\eb-ad-join.log。結合が失敗すると、Elastic Beanstalk はこのログをインスタンスのデプロイログにコピーするため、インスタンスに接続せずに原因を取得できます。詳細については、「Elastic Beanstalk 環境のデプロイログの表示」を参照してください。

トラブルシューティング

インスタンスがドメインに参加しない場合は、以下を確認してください。

  • Join log – インスタンスのデプロイログ (「」を参照Elastic Beanstalk 環境のデプロイログの表示) またはインスタンスC:\cfn\log\eb-ad-join.logの「」の結合出力を読み取ります。ログには、結合が失敗した特定のエラーが記録されます。

  • DNS 解決 – 環境の VPC 内のインスタンスから、ディレクトリの DNS 名 ( DirectoryName値) が解決されていることを確認します。そうでない場合は、VPC をディレクトリの DNS サーバーを指す DHCP オプションセットに関連付けます。

  • IAM アクセス許可 – 環境のインスタンスプロファイルが ディレクトリds:CreateComputerで を許可していることを確認します。これがないと、結合はコンピュータオブジェクトを作成しようとすると失敗します。

  • 組織単位 – を設定する場合はDirectoryOU、OU が ディレクトリに存在し、識別名がオプション値と正確に一致することを確認します。存在しない OU への結合は失敗します。

  • インスタンス設定 – 各インスタンスC:\cfn\eb-ad.jsonの ファイルには、インスタンスが起動DirectoryNameした DirectoryIdと が記録されます。これを使用して、インスタンスが受信したディレクトリ設定を確認します。

ディレクトリ内のコンピュータオブジェクトの管理

Elastic Beanstalk は、インスタンスまたは環境が終了したときに、ディレクトリからインスタンスのコンピュータオブジェクトを削除しません。結合されたすべてのインスタンスはEC2-XXXXXXXXコンピュータオブジェクトを残し、スケーリングアクティビティは新しいインスタンスごとにオブジェクトを作成します。組織の通常のディレクトリ管理ツールを使用して、古いコンピュータオブジェクトを定期的にディレクトリから削除する責任があります。

新しいインスタンスのホスト名はそれぞれグローバルに一意のインスタンス ID から取得されるため、古いコンピュータオブジェクトと名前が衝突する可能性はごくわずかです。