このアーキテクチャは、分散型の認証サービスを提供するために、オンプレミスの Active Directory ドメインを Azure に拡張する方法を示しています。
アーキテクチャ
このアーキテクチャの Visio ファイルをダウンロードします。
このアーキテクチャでは、「VPN ゲートウェイを使用した Azure へのオンプレミス ネットワークの接続」で示されているハイブリッド ネットワーク アーキテクチャが拡張されます。
ワークフロー
- オンプレミス ネットワーク。 オンプレミス ネットワークには、オンプレミスにあるコンポーネントの認証と承認を実行できるローカルの Active Directory サーバーが含まれています。
- Active Directory サーバー。 これらのサーバーは、クラウドで VM として実行されているディレクトリ サービス (AD DS) を実装するドメイン コントローラーです。 これらのサーバーは、Azure 仮想ネットワークで実行されるコンポーネントの認証を提供できます。
- Active Directory サブネット。 Active Directory Domain Services (AD DS) サーバーは、個別のサブネットでホストされます。 ネットワーク セキュリティ グループ (NSG) ルールによって AD DS サーバーが保護され、予期しないソースからのトラフィックに対するファイアウォールが提供されます。
- Azure VPN Gateway と Active Directory 同期。 VPN Gateway は、オンプレミス ネットワークと Azure Virtual Network 間の接続を提供します。 この接続では、VPN 接続または Azure ExpressRoute を使用できます。 クラウドおよびオンプレミスの Active Directory サーバー間のすべての同期要求はゲートウェイを経由します。 Azure に渡すオンプレミスのトラフィックのルーティングは、ユーザー定義ルート (UDR) によって処理されます。
コンポーネント
- Microsoft Entra ID は、シングル サインオン、多要素認証、条件付きアクセスを提供するエンタープライズ ID サービスです。
- VPN Gateway は、仮想ネットワーク ゲートウェイを使用するサービスであり、パブリック インターネット経由で Azure 仮想ネットワークとオンプレミスの場所の間で暗号化されたトラフィックを送信します。
- ExpressRoute を使用すると、接続プロバイダーが提供するプライベート接続を介して、オンプレミスのネットワークを Microsoft クラウドに拡張できます。
- Virtual Network は、Azure 上のプライベート ネットワークの基本的な構成ブロックです。 これを使用すると、仮想マシンなどの Azure リソースが相互に通信したり、インターネットやオンプレミス ネットワークと通信したりできるようなります。
シナリオの詳細
アプリケーションの一部がオンプレミスでホストされ、一部が Azure でホストされる場合は、Azure で AD DS をレプリケートする方がより効率的な場合があります。 このレプリカにより、クラウドからオンプレミスで実行されている AD DS に返される認証要求の送信が原因の待機時間を削減できます。
その他の考慮事項については、「オンプレミスの Active Directory を Azure と統合するためのソリューションの選択」をご覧ください。
考えられるユース ケース
このアーキテクチャは、VPN または ExpressRoute 接続がオンプレミスと Azure 仮想ネットワークを接続する場合に一般的に使用されます。 また、このアーキテクチャは、双方向レプリケーションをサポートします。つまり、オンプレミスまたはクラウドで変更を行うことができ、両方のソースの一貫性が確保されます。 このアーキテクチャの一般的な用途には、オンプレミスと Azure 間で機能が配布されるハイブリッド アプリケーション、および Active Directory を使用して認証を実行するアプリケーションとサービスがあります。
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 のポート要件) をご覧ください。
新しいドメイン コントローラー VM に DNS サーバーの役割もある場合は、「DNS サーバーの変更」で説明されているように、仮想ネットワーク レベルでカスタム DNS サーバーとして構成することをお勧めします。 これは、新しいドメイン コントローラーをホストする仮想ネットワークと、他の VM が Active Directory ドメイン名を解決する必要がある、ピアリングされたネットワークに対して行う必要があります。 ハイブリッド DNS 名前解決の構成の詳細については、「Azure 仮想ネットワーク内のリソースの名前解決」を参照してください。
初期構成では、オンプレミスのドメイン コントローラーをプライマリ DNS ソースとして指すように、Azure のドメイン コントローラーの 1 つのネットワーク インターフェイスを調整する必要がある場合があります。
DNS サーバーのリストにその IP アドレスを含めることで、パフォーマンスが向上し、DNS サーバーの可用性が向上します。 ただし、DNS サーバーがドメイン コントローラーでもあり、名前解決のために自分自身のみを指しているか、自分自身を最初に指している場合、起動時に遅延が発生する可能性があります。 このため、サーバーがドメイン コントローラーでもある場合は、アダプターでループバック アドレスを構成するときは注意が必要です。
これは、プライマリ DNS サーバーが Azure またはオンプレミスでホストされている別のドメイン コントローラーを指すように、Azure のネットワーク インターフェイス DNS 設定を上書きすることを意味する場合があります。 ループバック アドレスは、ドメイン コントローラー上のセカンダリまたは第 3 DNS サーバーとしてのみ構成する必要があります。
Active Directory サイト
AD DS では、サイトは物理的な場所、ネットワーク、またはデバイスの集合を表します。 AD DS サイトは、互いに近くにあり、高速ネットワークによって接続される AD DS オブジェクトをグループ化することによって AD DS データベース レプリケーションを管理するために使用します。 AD DS には、サイト間で AD DS データベースをレプリケートするための最適な戦略を選択するロジックが含まれます。
Azure でアプリケーション用に定義されたサブネットを含む AD DS サイトを 作成することをお勧めします。 その後、オンプレミスの 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 などのツールを監視サーバーにインストールして (アーキテクチャの図を参照)、これらのタスクを実行することもできます。
考慮事項
これらの考慮事項は、ワークロードの品質向上に使用できる一連の基本原則である Azure Well-Architected Framework の要素を組み込んでいます。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。
[信頼性]
信頼性により、アプリケーションが顧客へのコミットメントを確実に達成できるようにします。 詳細については、「信頼性の重要な要素の概要」を参照してください。
AD DS を実行している VM を少なくとも 2 つの可用性ゾーンにデプロイします。 リージョンで可用性ゾーンを使用できない場合は、可用性セットを使用します。 また、少なくとも 1 つ (要件に応じて、場合によってはそれ以上の数) のサーバーに、スタンバイ操作マスターの役割を割り当てることを検討します。 スタンバイ操作マスターは、フェールオーバー時にプライマリ操作マスターのサーバーを置き換えることができる操作マスターのアクティブ コピーです。
セキュリティ
セキュリティは、重要なデータやシステムに対する意図的な攻撃や悪用を防ぐことを保証します。 詳細については、「セキュリティの重要な要素の概要」を参照してください。
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 では、アプリケーションの設計に関するベスト プラクティスと組み合わせることにより、DDoS 攻撃からの保護を向上させるための強化された DDoS 軽減機能が提供されます。 すべての境界仮想ネットワークで Azure DDOS Protection を有効にする必要があります。
オペレーショナル エクセレンス
オペレーショナル エクセレンスは、アプリケーションをデプロイし、運用環境で実行し続ける運用プロセスをカバーします。 詳細については、「オペレーショナル エクセレンスの重要な要素の概要」を参照してください。
コードとしてのインフラストラクチャ (IaC) プラクティスを使用して、ネットワークとセキュリティのインフラストラクチャをプロビジョニングおよび構成します。 1 つのオプションは、Azure Resource Manager テンプレートです。
DevOps が継続的インテグレーションと継続的デリバリー (CI/CD) を実行できるように、ワークロードを分離します。すべてのワークロードは、対応する DevOps チームによって関連付けられ、管理されるためです。
このアーキテクチャでは、さまざまなアプリケーション層、管理ジャンプ ボックス、Microsoft Entra 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 のセクションを参照してください。
管理の容易性
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 で実行されており、それらがすべて同時にシャットダウンおよび割り当て解除された場合、再起動時に各ドメイン コントローラーで権限のあるレプリカを見つけることができません。 この条件を修正するには、手動で介入する必要があります。記事「DFSR でレプリケートされた sysvol レプリケーションに対して権限のある同期と権限のない同期を強制的に実行する方法」を参照してください。
パフォーマンス効率
パフォーマンス効率とは、ユーザーからの要求に合わせて効率的にワークロードをスケーリングできることです。 詳細については、「パフォーマンス効率の柱の概要」を参照してください。
AD DS は、拡張性を確保するために設計されています。 要求を AD DS ドメイン コントローラーに送信するようにロード バランサーやトラフィック コントローラーを構成する必要はありません。 スケーラビリティに関する唯一の考慮事項は、ネットワーク負荷の要件に適したサイズで AD DS を実行する VM を構成し、VM の負荷を監視し、必要に応じてスケールアップまたはスケールダウンすることです。
コストの最適化
コストの最適化とは、不要な費用を削減し、運用効率を向上させることです。 詳しくは、コスト最適化の柱の概要に関する記事をご覧ください。
コストの見積もりには、Azure 料金計算ツールをご利用ください。 その他の考慮事項については、Microsoft Azure Well-Architected Framework のコストに関するセクションに説明されています。
ここでは、このアーキテクチャで使用されるサービスのコストに関する考慮事項を示します。
AD Domain Services
コストを削減するために、複数のワークロードで使用される共有サービスとして Active Directory Domain Services を使用することを検討してください。 詳細については、「Active Directory Domain Services の価格」を参照してください。
VPN Gateway
このアーキテクチャの主要コンポーネントは、VPN ゲートウェイ サービスです。 料金は、ゲートウェイがプロビジョニングされ、利用可能になっている時間に基づいて発生します。
受信トラフィックはすべて無料ですが、送信トラフィックはすべて課金されます。 インターネット帯域幅のコストは、VPN の送信トラフィックに適用されます。
詳細については、「VPN Gateway の価格」を参照してください。
Virtual Network
Virtual Network は無料です。 すべてのサブスクリプションで、すべてのリージョンで最大 1,000 の仮想ネットワークを作成できます。 仮想ネットワークの境界内のすべてのトラフィックは無料であるため、同じ仮想ネットワーク内の 2 つの VM 間の通信は無料です。
次のステップ
- Microsoft Entra ID とは
- Azure DevOps
- Azure Pipelines
- Azure Monitor
- Active Directory および Active Directory Domain Services のポートの要件
- Desired State Configuration (DSC)
- VPN ゲートウェイを使用した Azure へのオンプレミス ネットワークの接続