このアーキテクチャは、分散型の認証サービスを提供するために、オンプレミスの Active Directory ドメインを Azure に拡張する方法を示しています。
このアーキテクチャの Visio ファイルをダウンロードします。
アプリケーションがオンプレミスと Azure で部分的にホストされる場合は、Azure で Active Directory Domain Services (AD DS) をレプリケートする方が効率的です。 このレプリカにより、クラウドからオンプレミスで実行されている AD DS に返される認証要求の送信が原因の待機時間を削減できます。
このアーキテクチャは、オンプレミス ネットワークと Azure 仮想ネットワークが VPN または ExpressRoute によって接続されている場合によく使用されます。 また、このアーキテクチャは、双方向レプリケーションをサポートします。つまり、オンプレミスまたはクラウドで変更を行うことができ、両方のソースの一貫性が確保されます。 このアーキテクチャの一般的な用途には、オンプレミスと Azure 間で機能が配布されるハイブリッド アプリケーション、および Active Directory を使用して認証を実行するアプリケーションとサービスがあります。
その他の考慮事項については、「オンプレミスの Active Directory を Azure と統合するためのソリューションの選択」をご覧ください。
Architecture
このアーキテクチャでは、「VPN ゲートウェイを使用した Azure へのオンプレミス ネットワークの接続」で示されているハイブリッド ネットワーク アーキテクチャが拡張されます。 アーキテクチャに含まれるコンポーネントを次に示します。
- オンプレミス ネットワーク。 オンプレミス ネットワークには、オンプレミスにあるコンポーネントの認証と承認を実行できるローカルの Active Directory サーバーが含まれています。
- Active Directory サーバー。 クラウドで VM として実行されているディレクトリ サービス (AD DS) を実装するドメイン コントローラーです。 このようなサーバーは、Azure 仮想ネットワークで実行されるコンポーネントの認証を提供できます。
- Active Directory サブネット。 AD DS サーバーは、個別のサブネットでホストされます。 ネットワーク セキュリティ グループ (NSG) ルールによって AD DS サーバーが保護され、予期しないソースからのトラフィックに対するファイアウォールが提供されます。
- Azure ゲートウェイと Active Directory 同期。 Azure ゲートウェイによって、オンプレミス ネットワークと Azure VNet の間に接続が提供されます。 この接続では、VPN 接続または Azure ExpressRoute を使用できます。 クラウドおよびオンプレミスの Active Directory サーバー間のすべての同期要求はゲートウェイを経由します。 Azure に渡すオンプレミスのトラフィックのルーティングは、ユーザー定義ルート (UDR) によって処理されます。
Recommendations
ほとんどのシナリオには、次の推奨事項が適用されます。 これらの推奨事項には、オーバーライドする特定の要件がない限り、従ってください。
VM の推奨事項
認証要求に必要なボリュームに基づいて、VM サイズの要件を決定します。 AD DS をオンプレミスでホストしているコンピューターの仕様を始点として使用し、それに合わせて Azure VM サイズを指定します。 デプロイ後は、使用率を監視し、VM における実際の負荷に基づいてスケールアップまたはスケールダウンします。 AD DS ドメイン コントローラーのサイズの設定について詳しくは、「Active Directory Domain Services のキャパシティ プランニング」をご覧ください。
Active Directory 用の データベース、ログ、および sysvol フォルダーを格納するための個別の仮想データ ディスクを作成します。 オペレーティング システムと同じディスクにこれらの項目を格納しないでください。 既定では、VM に接続されたデータ ディスクにはライト スルー キャッシュが使用されています。 ただし、このキャッシュ形式は AD DS の要件と矛盾する可能性があります。 そのため、データ ディスクの [ホスト キャッシュ設定] を [なし] に設定します。
ドメイン コントローラーとして、AD DS を実行する VM を少なくとも 2 つデプロイし、それらを別々の可用性セットに追加します。 リージョンで使用できない場合は、可用性セットにデプロイします。
ネットワークの推奨事項
ドメイン ネーム サービス (DNS) の完全なサポートを実現するには、静的なプライベート IP アドレスを使用して各 AD DS サーバの VM ネットワーク インターフェイス (NIC) を構成します。 詳しくは、「Azure portal を使用して仮想マシンのプライベート IP アドレスを構成する」をご覧ください。
注意
パブリック IP アドレスを使用して AD DS の VM NIC を構成しないでください。 詳しくは、「セキュリティに関する考慮事項」をご覧ください。
Active Directory サブネット NSG には、オンプレミスからの受信トラフィックとオンプレミスへの送信トラフィックを許可するルールが必要です。 AD DS で使用されるポートについて詳しくは、「Active Directory and Active Directory Domain Services Port Requirements」(Active Directory と Active Directory Domain Services のポート要件) をご覧ください。
新しくデプロイされたドメイン コントローラー (DC) の VM にも DNS サーバーの役割がある場合は、この記事で説明するように、Azure Virtual Network レベルでカスタム DNS サーバーとして構成することをお勧めします。 これは、他の VM が Active Directory ドメイン名を解決する必要がある、新しい DC とピアリングされたネットワークをホストする仮想ネットワークに対して行う必要があります。 ハイブリッド DNS の名前解決を構成する方法の詳細については、この記事を参照してください。
Active Directory サイト
AD DS では、サイトは物理的な場所、ネットワーク、またはデバイスの集合を表します。 AD DS サイトは、互いに近くにあり、高速ネットワークによって接続される AD DS オブジェクトをグループ化することによって AD DS データベース レプリケーションを管理するために使用します。 AD DS には、サイト間で AD DS データベースをレプリケートするための最適な戦略を選択するロジックが含まれます。
アプリケーション用に定義されたサブネットを含む AD DS サイトを Azure で作成することをお勧めします。 続いて、オンプレミスの AD DS サイト間のサイト リンクを構成します。AD DS は最も効率的なデータベース レプリケーションを自動的に実行します。 このデータベース レプリケーションには、初期構成以外の構成が多少必要です。
Active Directory 操作マスター
操作マスターの役割は、レプリケートされた AD DS データベースのインスタンス間の整合性チェックをサポートする AD DS ドメイン コントローラーに割り当てることができます。 操作マスターの役割 (FSMO) は 5 つあります。スキーマ マスター、ドメイン名前付けマスター、相対識別子マスター、プライマリ ドメイン コントローラー マスター エミュレーター、インフラストラクチャ マスターです。 これらの役割の詳細については、「操作マスターの役割の配置を計画する」を参照してください。 また、少なくとも 2 つの新しい Azure DC にグローバル カタログ (GC) ロールを付与することをお勧めします。 GC 配置の詳細については、こちらを参照してください。
監視
ドメイン コントローラー VM のリソースおよび AD DS を監視し、問題を迅速に修正するためのプランを作成します。 詳しくは、「Active Directory の監視」をご覧ください。 Microsoft Systems Center などのツールを監視サーバーにインストールして (アーキテクチャの図を参照)、これらのタスクを実行することもできます。
スケーラビリティに関する考慮事項
AD DS は、拡張性を確保するために設計されています。 要求を AD DS ドメイン コントローラーに送信するようにロード バランサーやトラフィック コントローラーを構成する必要はありません。 拡張性に関する唯一の考慮事項は、AD DS を実行する、ネットワーク負荷の要件に対応したサイズの VM を構成し、VM 上の負荷を監視し、必要に応じてスケールアップまたはスケールダウンすることです。
可用性に関する考慮事項
AD DS を実行している VM を少なくとも 2 つの Availability Zones にデプロイします。 リージョンで使用できない場合は、可用性セットを使用します。 また、少なくとも 1 つのサーバー (要件に応じて、可能であればそれ以上の数のサーバー) にスタンバイ操作マスターの役割を割り当てることを検討します。 スタンバイ操作マスターは、フェールオーバー時にプライマリ操作マスター サーバーの代わりに使用可能な操作マスターのアクティブ コピーです。
管理容易性に関する考慮事項
AD DS の定期的なバックアップを実行します。 定期的なバックアップの代わりに、ドメイン コントローラーの VHD ファイルをコピーしないでください。これは、VHD 上の AD DS データベース ファイルをコピーすると、ファイルの状態に不整合が生じる可能性があり、データベースを再起動できなくなるためです。
Azure portal を使用してドメイン コントローラー VM をシャットダウンすることはお勧めしません。 代わりに、ゲスト オペレーティング システムをシャットダウンして再起動します。 Azure portal を通じてシャットダウンすると、VM の割り当てが解除されます。その結果、ドメイン コントローラー VM の再起動時に次のような影響が生じます。
- Active Directory リポジトリの
VM-GenerationID
とinvocationID
がリセットされる。 - 現在の Active Directory 相対識別子 (RID) プールが破棄される。
- sysvol フォルダーが権限なしとしてマークされる。
最初の問題は、比較的無害です。 invocationID
を繰り返しリセットすると、レプリケーション中の帯域幅の使用量がわずかに増加しますが、これは通常は重要ではありません。
2 番目の問題は、特に RID プールのサイズが既定値よりも大きくなるように構成されている場合に、ドメイン内の RID プールの枯渇につながる可能性があります。 ドメインが非常に長い間存在していた場合または繰り返し作成やアカウントの削除が必要なワークフローに使用されている場合は、ドメインが既に RID プールの枯渇に近づいている可能性があることに注意してください。 RID プールの枯渇の警告イベントについては、ドメインを監視することをお勧めします。記事「RID 発行の管理」を参照してください。
3 番目の問題は、Azure 内のドメイン コントローラー VM の再起動時に、権限のあるドメイン コントローラーが使用可能である限り、比較的無害です。 ドメイン内のすべてのドメイン コントローラーが Azure で実行されていて、それらがすべて同時にシャットダウンおよび割り当て解除された場合、再起動時に各 DC で権限のあるレプリカを見つけることができません。 この条件を修正するには、手動で介入する必要があります。記事「DFSR でレプリケートされた sysvol レプリケーションに対して権限のある同期と権限のない同期を強制的に実行する方法」を参照してください。
セキュリティに関する考慮事項
AD DS サーバーは認証サービスを提供するため、攻撃の最適なターゲットとなります。 サーバーを保護するには、ファイアウォールとして機能する NSG を使用する個別のサブネットに AD DS サーバーを配置して、直接インターネットに接続しないようにします。 認証、承認、サーバーの同期に必要なポートを除く、AD DS サーバー上のポートをすべて閉じてください。 詳しくは、「Active Directory and Active Directory Domain Services Port Requirements (Active Directory と Active Directory Domain Services のポート要件)」をご覧ください。
BitLocker または Azure Disk Encryption を使用して、AD DS データベースをホストするディスクを暗号化します。
Azure DDoS Protection Standard では、アプリケーションの設計に関するベスト プラクティスと組み合わせることにより、DDoS 攻撃からの保護を向上させるための強化された DDoS 軽減機能が提供されます。 任意の境界仮想ネットワークで Azure DDOS Protection Standard を有効にする必要があります。
DevOps の考慮事項
コードとしてのインフラストラクチャ (IaC) プラクティスを使用して、ネットワークとセキュリティのインフラストラクチャをプロビジョニングおよび構成します。 1 つのオプションは、Azure Resource Manager テンプレートです。
DevOps が継続的インテグレーションと継続的デリバリー (CI/CD) を実行できるように、ワークロードを分離します。すべてのワークロードは、対応する DevOps チームによって関連付けられ、管理されるためです。
このアーキテクチャでは、さまざまなアプリケーション層、管理ジャンプボックス、および Azure AD Domain Services を含む仮想ネットワーク全体が、1 つの分離されたワークロードとして識別されます。
仮想マシンは、仮想マシン拡張機能と、仮想マシンで AD DS を構成するために使用される Desired State Configuration (DSC) などのその他のツールを使用して構成されます。
デプロイを自動化するには、Azure DevOps の使用か、他の CI/CD ソリューションの使用を検討してください。 Azure Pipelines は Azure DevOps Services の推奨コンポーネントであり、ソリューションのビルドとデプロイを自動化することができます。また、これは Azure のエコシステムにも高度に統合されます。
インフラストラクチャのパフォーマンスを分析するには、Azure Monitor を使用します。 これを使用すると、仮想マシンにログインすることなくネットワークの問題を監視して診断することもできます。 Application Insights には、インフラストラクチャの状態を確認するための豊富なメトリックとログが用意されています。
詳細については、「Microsoft Azure Well-Architected Framework」の DevOps のセクションを参照してください。
コストに関する考慮事項
コストの見積もりには、Azure 料金計算ツールをご利用ください。 その他の考慮事項については、Microsoft Azure Well-Architected Framework のコストに関するセクションに説明されています。
ここでは、このアーキテクチャで使用されるサービスのコストに関する考慮事項を示します。
AD Domain Services
コストを削減するために、複数のワークロードで使用される共有サービスとして Active Directory Domain Services を使用することを検討してください。 詳細については、「Active Directory Domain Services の価格」を参照してください。
Azure VPN Gateway
このアーキテクチャの主要コンポーネントは、VPN ゲートウェイ サービスです。 料金は、ゲートウェイがプロビジョニングされ、利用可能になっている時間に基づいて発生します。
受信トラフィックはすべて無料です。送信トラフィックはすべて課金されます。 インターネット帯域幅のコストは、VPN の送信トラフィックに適用されます。
詳細については、「VPN Gateway の価格」を参照してください。
Azure Virtual Network
Azure Virtual Network は無料です。 すべてのサブスクリプションで、すべてのリージョンで最大 50 の仮想ネットワークを作成できます。 仮想ネットワークの境界内で発信されたトラフィックはすべて無料です。 そのため、同じ仮想ネットワーク内の2つの VM 間の通信は無料です。
次のステップ
- Azure Active Directory とは
- Azure DevOps
- Azure Pipelines
- Azure Monitor
- Active Directory および Active Directory Domain Services のポートの要件
- Desired State Configuration (DSC)
関連リソース
- オンプレミスの Active Directory を Azure と統合するためのソリューションの選択
- VPN ゲートウェイを使用した Azure へのオンプレミス ネットワークの接続
- Azure で AD DS リソース フォレストを作成するためのベスト プラクティスを学習します。
- Azure で Active Directory フェデレーション サービス (AD FS) インフラストラクチャを作成するためのベスト プラクティスを学習します。