Microsoft Entra を使用すると、サービスとリソースへのユーザー アクセスを安全に管理できます。 Microsoft Entra には、ID 管理とネットワーク アクセス機能のファミリが含まれています。 Microsoft Entra の機能の詳細については、「Microsoft Entra とは」を参照してください。
Microsoft Entra を使用すると、ユーザーとグループを作成および管理し、エンタープライズ リソースへのアクセスを許可および拒否するためのアクセス許可を有効にすることができます。 ID 管理の詳細については、 ID 管理の基礎を参照してください。
Microsoft Entra アーキテクチャ
Microsoft Entra ID は、地理的に分散されたアーキテクチャ内で広範な監視、自動再ルーティング、フェールオーバー、復旧機能を組み合わせて、全社的な可用性とパフォーマンスを提供します。
この記事では、次のアーキテクチャ要素について取り上げます。
- サービス アーキテクチャの設計
- 拡張性
- 継続的可用性
- データ センター
サービス アーキテクチャの設計
アクセスと使用が容易でデータが豊富なシステムを構築する最も一般的な方法は、独立したビルディング ブロックまたはスケール ユニットを使用することです。 Microsoft Entra データ層では、スケール ユニットはパーティションと呼ばれます。
データ層には、読み取り/書き込み機能を備えたさまざまなフロントエンド サービスが存在します。 次の図は、単一ディレクトリ パーティションの各構成要素が、地理的に分散されたデータセンターを通じて提供されるようすを示しています。
Microsoft Entra アーキテクチャの構成要素には、プライマリ レプリカとセカンダリ レプリカが含まれます。
プライマリ レプリカ
パーティションに対するすべての "書き込み" は、そこに属している "プライマリ レプリカ" に対して行われます。 書き込み操作は、呼び出し元に成功を返す前に、別のデータセンターのセカンダリ レプリカに直ちにレプリケートされ、geo 冗長の書き込み持続性が確保されます。
セカンダリ レプリカ
すべてのディレクトリ読み取りは、地理的に分散されたデータセンターにあるセカンダリ レプリカから処理されます。 データは多くのセカンダリ レプリカ間で非同期的にレプリケートされます。 ディレクトリの読み取り (認証要求など) の結果は、お客様に近いデータセンターから返されます。 読み取りのスケーラビリティは、セカンダリ レプリカによって支えられています。
拡張性
スケーラビリティとは、増大するパフォーマンスの需要を満たすサービスの拡張性の高さです。 Microsoft Entra は、書き込みのスケーラビリティを実現するためにデータをパーティション分割します。 読み取りのスケーラビリティは、1 つのパーティションから、世界中に分散された複数のセカンダリ レプリカにデータをレプリケートすることによって得られます。
ディレクトリ アプリケーションからの要求は、最も近いデータセンターにルーティングされます。 読み取り/書き込みの整合性を保つために、書き込みはプライマリ レプリカに対して透過的にリダイレクトされます。 通常、ディレクトリはほとんどの時間を読み取り要求の処理に費やしているので、セカンダリ レプリカは、パーティションのスケーラビリティ向上に大きく貢献しているといえます。
ディレクトリ アプリケーションは、最も近いデータセンターに接続します。 この接続によってパフォーマンスが向上し、ひいてはスケールアウトが可能となります。 ディレクトリ パーティションには多数のセカンダリ レプリカを置くことができるため、ディレクトリ クライアントにできるだけ近い場所に、セカンダリ レプリカを配置することが可能です。 アクティブなプライマリ レプリカを直接対象にして動作するのは、書き込み処理を主に行う内部のディレクトリ サービス コンポーネントだけです。
継続的可用性
中断することなく動作し続けることができるシステムの能力は、可用性 (つまり稼働時間) によって示されます。 Microsoft Entra ID の高可用性の鍵は、地理的に分散された複数のデータセンター間でサービスがトラフィックをすばやく切り替えることができる点です。 各データセンターは独立しているため、装飾に関連する障害モードが可能になります。 この高可用性設計により、Microsoft Entra ID では、メンテナンス アクティビティのためのダウンタイムは必要ありません。
Microsoft Entra ID のパーティション設計は、慎重に調整された確定的なプライマリ レプリカ フェールオーバー プロセスを含む単一のプライマリ サーバー設計を使用して、エンタープライズ Active Directory 設計と比較して簡素化されます。
フォールト トレランス
ハードウェアやネットワーク、ソフトウェアの障害に耐えることができれば、システムの可用性は向上します。 各ディレクトリ パーティションには、すべての書き込み操作を処理する高可用性プライマリ レプリカがあります。 このプライマリ レプリカは継続的に監視されていて、障害が検出された場合、書き込み操作はすぐに別のレプリカに移行されます。 そのレプリカが新しいプライマリになります。 このフェールオーバー プロセス中、書き込み可用性は 1 ~ 2 分間一時的に影響を受ける可能性がありますが、読み取り可用性は影響を受けません。
読み取り操作 (書き込みよりも桁違いに多い) は必ずセカンダリ レプリカに対して行われます。 セカンダリ レプリカはすべて等価であるため、特定のパーティションのレプリカが失われても、(通常は同じデータセンター内の) 別のレプリカに読み取りを誘導することで簡単に対処することができます。
データの持続性
書き込みは、受信確認の前に少なくとも 2 つのデータセンターに永続的にコミットされます。 システムは最初にプライマリに書き込みをコミットし、その後すぐに少なくとも 1 つの他のデータセンターに書き込みをレプリケートします。 この書き込みアクションにより、プライマリのホストとなるデータセンターが壊滅的なダメージを受けたとしても、データの損失は決して生じません。
Microsoft Entra ID では、次のようなフェールオーバー時のデータを失わないよう 、目標復旧時間 (RTO) がゼロに維持されます。
- トークンの発行とディレクトリの読み取り
- ディレクトリの書き込みに許可される RTO はわずか約 5 分
データ センター
Microsoft Entra のレプリカは、世界中にあるデータセンターに保存されます。 詳細については、「Azure グローバル インフラストラクチャ」を参照してください。
Microsoft Entra ID は、次の特性を備えたデータセンターで横断的に動作します。
- 認証、Graph、およびその他の Microsoft Entra ID サービスは、ゲートウェイ サービスの背後にあります。 ゲートウェイにより、負荷分散が管理されます。 サービスは、トランザクション正常性プローブによって異常が検出されたすべてのサーバーを自動的にフェールオーバーします。 トラフィックは、これらの正常性プローブに基づいて正常なデータセンターに動的にルーティングされます。
- Azure AD ディレクトリには、"読み取り" 用のセカンダリ レプリカとそれに対応するフロントエンド サービスが複数のデータセンターにアクティブ/アクティブ構成で存在します。 データセンターに障害が発生した場合、トラフィックは自動的に別のデータセンターにルーティングされます。
- 書き込みの場合、ディレクトリは、計画フェールオーバー (新しいプライマリを以前のプライマリと同期する) 手順または緊急フェールオーバー手順で、プライマリ レプリカをデータセンター間でフェールオーバーします。 データの持続性は、すべてのコミットを少なくとも 2 つのデータセンターにレプリケートすることで確保されます。
データの一貫性
ディレクトリ モデルは、最終的な整合性の 1 つです。 非同期的にレプリケートされる分散システムの代表的な問題として、"特定の" レプリカから返されるデータが最新でない可能性があることが挙げられます。
Microsoft Entra ID は、セカンダリ レプリカに対する書き込みをプライマリ レプリカにルーティングし、同期的にセカンダリ レプリカにプルバックすることで、セカンダリ レプリカを動作対象とするアプリケーションの読み取り/書き込みの整合性を確保しています。
Microsoft Entra ID の Microsoft Graph API を使ったアプリケーションの書き込みには、ディレクトリ レプリカに対するアフィニティを維持することによって読み取りと書き込みの整合性を保つ手法が使用されています。 Microsoft Graph API サービスは、論理セッションを維持します。 セッションには、読み取りに使用されるセカンダリ レプリカとのアフィニティがあります。 アフィニティは、セカンダリ レプリカ データセンターの分散キャッシュを使用してサービスがキャッシュする "レプリカ トークン" にキャプチャされます。 以後、同じ論理セッションで行われる操作には、このトークンが使用されます。 同じ論理セッションを引き続き使用するには、後続の要求を同じ Microsoft Entra データセンターにルーティングする必要があります。 ディレクトリ クライアント要求が複数の Microsoft Entra データセンターにルーティングされている場合、論理セッションを続行することはできません。 セッションが分割されている場合、クライアントには、独立した読み取り/書き込み整合性を持つ複数の論理セッションがあります。
注
書き込みは直ちに、論理セッションの読み取りが実行されたセカンダリ レプリカにレプリケートされます。
アプリケーションのみの要求の場合、Microsoft Entra ID はセッションの一貫性を提供しません。 セッションの整合性は、 委任された要求 (アプリケーション+ ユーザー トークン フロー) でのみサポートされます。
サービスレベルのバックアップ
Microsoft Entra ID はディレクトリ データの毎日のバックアップを実装し、サービス全体に問題がある場合は、これらのバックアップを使用してデータを復元できます。
また、ディレクトリには、選択されたオブジェクト型の物理的な削除ではなく、論理的な削除も実装されています。 テナント管理者は、誤って削除したこれらのオブジェクトを、30 日以内であれば元に戻すことができます。 詳細については、削除されたオブジェクトを復元するための API に関する記事を参照してください。
メトリックと監視
高可用性サービスを実行するためには、ワールドクラスのメトリックと監視機能が必要です。 Microsoft Entra ID は、サービスの正常性に関する重要なメトリックとそのサービスごとの合格基準を絶えず分析して報告します。 日頃からメトリックの開発とチューニングが行われ、各シナリオや各 Microsoft Entra サービス内、またはすべてのサービスを横断的に監視して注意が喚起されています。
正常に機能していない Microsoft Entra サービスがあれば直ちに措置が講じられ、可及的速やかに機能が復元されます。 Microsoft Entra ID が追跡する最も重要なメトリックは、顧客の問題の検出と移行の速度です。 Microsoft では、問題の検出にかかる時間 (Time To Detect: TTD) を短縮するための監視とアラート、そして問題の軽減にかかる時間 (Time To Mitigate: TTM) を短縮するための業務即応性に対して重点的に投資を行っています。TTD 目標は <5 分未満、TTM 目標は <30 分未満です。
安全なオペレーション
Microsoft Entra ID では、すべての操作に対して多要素認証などの運用管理を使用し、すべての操作の監査を行います。 また、運用タスクに必要なアクセス権は、Just-In-Time 型の権限昇格システムによって随時オンデマンドで一時的に付与されます。 詳細については、「信頼されたクラウド」を参照してください。
次のステップ
Microsoft Entra を使用した開発の詳細については、Microsoft Entra 開発者ガイドを参照してください。