> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/ja/zhan-kai/infrastructure.md).

# インフラストラクチャの考慮事項

RealmJoin のインフラストラクチャとネットワーク要件: 接続エンドポイント、Azure Front Door、プロキシ ガイダンス、および BranchCache ベースのピアツーピア コンテンツ配信。

## ネットワーク

RealmJoin はクラウドネイティブなサービスであり、次の用途向けに設計されています **インターネットへの直接かつ制限のない送信アクセス**。これはサポートされている構成です。セキュリティポリシーで送信フィルタリングが必要な場合は、以下のルールに従ってください — RealmJoin 用のファイアウォールを構成するために必要なすべてが含まれています:

* **方向**: 送信のみです。すべての接続はクライアントから開始され、受信ルールは不要です。
* **プロトコル**: HTTPS (TCP 443) のみです。
* **フィルタリング**: によって **ホスト名 (FQDN)** のみ — 以下のエンドポイント一覧を参照してください。 **IP ベースのフィルタリングはサポートされていません。**

### RealmJoin 接続エンドポイント

RealmJoin クライアントは送信 HTTPS (TCP 443) を必要とし、以下のすべてのエンドポイントに到達できなければなりません:

<table data-search="false"><thead><tr><th>ホスト</th><th>用途</th></tr></thead><tbody><tr><td><code>client-api.realmjoin.com</code></td><td>RealmJoin クライアント バックエンド API</td></tr><tr><td><code>client-api-staging.realmjoin.com</code></td><td>RealmJoin クライアント バックエンド API (staging)</td></tr><tr><td><code>cdn.realmjoin.com</code></td><td>ソフトウェア パッケージのコンテンツ配信</td></tr><tr><td><code>nuget.realmjoin.com</code></td><td>RealmJoin パッケージ フィード (NuGet)</td></tr><tr><td><code>gkrealmjoin.s3.amazonaws.com</code></td><td>RealmJoin クライアントのダウンロード</td></tr><tr><td><code>realmjoinstaticcdn.azureedge.net</code></td><td>RealmJoin Notifier</td></tr><tr><td><code>login.microsoftonline.com</code></td><td>Microsoft Entra ID 認証</td></tr><tr><td><code>graph.microsoft.com</code></td><td>Microsoft Graph API</td></tr><tr><td><code>enterpriseregistration.windows.net</code></td><td>Microsoft Entra デバイス登録</td></tr><tr><td><code>x1.c.lencr.org</code></td><td>証明書の検証 (Let's Encrypt)</td></tr></tbody></table>

{% hint style="warning" %}
これらのエンドポイントは **ホスト名 (FQDN) で参照し、IP アドレスでは参照しないでください**. **RealmJoin 用の IP アドレスや IP 範囲は提供できません。また、IP ベースのフィルタリングはサポートされていません。** パッケージ CDN (`cdn.realmjoin.com`) は Azure Front Door を介して配信されます。Azure Front Door には固定の IP 範囲がありません — [Azure Front Door](#azure-front-door) 以下。
{% endhint %}

### Azure Front Door

`cdn.realmjoin.com` — すべてのソフトウェア パッケージ コンテンツを配信するエンドポイント — は [Azure Front Door](https://learn.microsoft.com/en-us/azure/frontdoor/front-door-overview)、Microsoft のグローバル エッジおよび CDN プラットフォームを通じて提供されます。これはネットワーク フィルタリングに直接影響します:

* **固定の IP 範囲はありません。** Azure Front Door は Microsoft 管理のグローバル anycast IP プールを使用します。Microsoft はこれらの IP アドレスを予告なくいつでも追加、削除、または再割り当てできます。このため、IP 一覧は存在せず、提供することもできません — そのような一覧は即座に古くなります。
* **IP ベースの許可リストは予告なく機能しなくなります** また、サポートされていません。これらのホスト名に対する DNS レベルのインターセプトや書き換えにも同じことが当てはまります。
* それでもポリシーで送信トラフィックの制限が必要な場合は、 **ホスト名 (FQDN) ベースのルール** が RealmJoin で機能する唯一の方法です。

### プロキシを避ける

* 初期展開には **直接インターネット アクセス**.
* **プロキシなし** が理想です。 **トランスペアレント プロキシ** は問題なく動作します (本当にトランスペアレントであれば)。
* プロキシが避けられない場合、 [RealmJoin 接続エンドポイント](#realmjoin-connection-endpoints) は最低要件として直接アクセス可能でなければなりません。

さらに、RealmJoin が依存する Microsoft サービスにも到達できる必要があります。Microsoft は対応するアドレス範囲を公開しています:

* [Azure IP Ranges and Service Tags – Public Cloud](https://www.microsoft.com/en-us/download/details.aspx?id=56519) — Microsoft Azure データセンターで使用されるコンピュートの IP アドレス範囲 (SQL 範囲を含む) です。毎週水曜日 (太平洋時間) に、予定されている IP アドレス範囲を記載した新しいファイルがアップロードされ、翌週の月曜日 (太平洋時間) から有効になります。新しいファイルをダウンロードし、月曜日までにサイトに必要な変更を適用してください。
* [Office 365 の URL と IP アドレス範囲](https://support.office.com/en-us/article/Office-365-URLs-and-IP-address-ranges-8548a211-3fe7-47cb-abb1-355ea5aa88a2) — クライアントが Office 365 を正常に使用できるよう、送信許可リストに含めるべきアドレス範囲です。

{% hint style="info" %}
IP アドレス フィルタリングだけでは、Domain Name Services (DNS)、Content Delivery Networks (CDNs)、Certificate Revocation Lists、その他のサードパーティまたは動的サービスなどのインターネットベースのサービスへの依存があるため、完全な解決策にはなりません。これらの依存関係には Azure Content Delivery Network などの他の Microsoft サービスへの依存も含まれ、サードパーティまたは Microsoft が所有するがこのページに記載されていない IP アドレスへの接続を示すネットワーク トレースやファイアウォール ログが出力されます。これらの未記載の IP アドレスは、サードパーティまたは Microsoft 所有の CDN および DNS サービス由来であっても動的に割り当てられ、いつでも変更される可能性があります。
{% endhint %}

### BranchCache と Device Isolation

BranchCache は Windows に組み込まれたピアリング技術で、 **WAN トラフィックを削減し** と **コンテンツ配信を高速化します** 各デバイスが同じコンテンツをクラウドから取得する代わりに、クライアント同士でダウンロード済みのコンテンツを共有できるようにすることで実現します。

{% hint style="info" %}
RealmJoin では、BranchCache は **既定で有効です** CDN 側とクライアント側の両方で。
{% endhint %}

**なぜ Delivery Optimization ではなく BranchCache なのですか?** Delivery Optimization はサードパーティのパッケージ ソースをサポートしていません — Microsoft が管理するエンドポイント (Windows Update、Store、M365 Apps、Intune) でのみ動作します。BranchCache は RealmJoin パッケージのようなサードパーティのコンテンツでも機能します。

**構成:**

* **CDN 側**: 既定で有効です。ご要望に応じて、CDN 側で BranchCache を完全に無効化できます (Tenant ごと)。その場合、クライアント側の構成は無関係になります。
* **クライアント側**: 既定で有効です。次を設定します `BranchCache.Mode = "Undefined"` (参照 [User and Group Settings](/ja/ugd-management/user-and-group-settings.md)) でこの既定値を変更します。注: 既存のクライアントでは、以前に有効化された機能は能動的には無効化されません — 次を実行してください `Disable-BC` 対象のデバイスで無効にします。

**ネットワーク要件:**

* クライアントは次のことができる必要があります **互いに直接通信する** — 異なる VLAN やサブネットに分離せず、デバイス分離によってピア通信をブロックしないでください。
* RealmJoin は **Distributed Cache Mode** のみを使用します。各クライアントはローカル キャッシュを保持し、ピアからキャッシュ済みデータを取得します。
* **Hosted Cache Mode** (専用の Windows Server で、「Configure Hosted Cache Servers」ポリシーで構成) は **サポートされていません** RealmJoin では。

**動作の仕組み:**

1. クライアントがソフトウェア パッケージを初めてダウンロードすると、ファイルは元のコンテンツより大幅に小さいチャンクに分割され、デバイスにキャッシュされます。
2. 同じネットワーク内の別のクライアントが同じパッケージを要求すると、ダウンロードするのは **コンテンツ情報** サーバーから完全なコンテンツではなく、これだけです。
3. クライアントはコンテンツ情報を **ピア検出**に使用します。マルチキャスト クエリ (「content ID XYZ を持っている人はいますか?」) を送信し、要求されたセグメントを保持しているピアがあれば、ユニキャストで直接応答します。
4. コンテンツはピアからチャンクとして転送されます。要求されたソフトウェアが複数のデバイスで利用可能な場合、負荷はそれらの間で分散されます。

詳細は Microsoft Learn を参照してください: [BranchCache](https://learn.microsoft.com/en-us/windows-server/networking/branchcache/branchcache)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.realmjoin.com/ja/zhan-kai/infrastructure.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
