> 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/realmjoin-no/infrastructure.md).

# インフラストラクチャに関する考慮事項

## ネットワーク

### プロキシを避ける

初回展開には、直接のインターネットアクセスが必要です。プロキシなしが理想ですが、透過プロキシであれば問題なく動作するはずです（本当に透過である場合）。プロキシを避けられない場合、最低限として以下のサービス／アドレスへ直接アクセスできる必要があります:

対応する IP 範囲の一覧については、以下のリンクをクリックしてください:

[Azure IP 範囲とサービス タグ – パブリック クラウド](https://www.microsoft.com/en-us/download/details.aspx?id=56519)

このファイルには、Microsoft Azure データセンターで使用されるコンピューティング用 IP アドレス範囲（SQL の範囲を含む）が含まれています。新しい XML ファイルは、毎週水曜日（太平洋時間）に、新しく計画された IP アドレス範囲とともにアップロードされます。新しい IP アドレス範囲は、翌週の月曜日（太平洋時間）に有効になります。\
新しい XML ファイルをダウンロードし、月曜日までにサイトに必要な変更を行ってください。

[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 を正常に使用できるように、送信許可リストに含めるべきコンピューティング用 IP アドレス範囲を含むファイルへのリンクを紹介しています。

{% 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 とデバイス分離

BranchCache は、次のように設計された Windows テクノロジです **WAN トラフィックを削減し** および **コンテンツ配信を高速化する** 企業ネットワーク内で実現します。これは、各デバイスが同じコンテンツをクラウドから繰り返し取得するのではなく、ダウンロードしたデータを Windows クライアント同士で共有できるようにすることで実現されます。

{% hint style="info" %}
RealmJoin では、BranchCache は **既定で有効になっています** CDN 側およびクライアント側で。
{% endhint %}

なぜ Delivery Optimization を使わないのでしょうか? このメカニズムは、サードパーティのパッケージ ソースをサポートしていません。Microsoft が管理するエンドポイント（例: Windows Update、Store、M365 Apps、または Intune）でのみ動作します。

そのため RealmJoin では、BranchCache が **Windows に組み込みのピアリング メカニズムである** ため、サードパーティのコンテンツで動作する BranchCache に依存しています:

* **CDN 側**：既定で有効になっています。要求があれば、CDN 側で BranchCache を完全に無効化できます（Tenant ごと）。これにより、クライアント側の構成は無関係になります。
* クライアント **側では**、機能は同様に既定で有効です。 `BranchCache.Mode = "Undefined"` （ [ユーザーおよびグループの設定](/ja/ugd-management/user-and-group-settings.md)を参照）、この既定の動作を変更できます。ただし、既存のクライアントでは、以前に有効化された機能は自動的に無効化されません。無効にするには、対象のデバイスで `Disable-BC` を実行します。

BranchCache を効果的に機能させるには、クライアント同士が直接通信できる必要があります。そのため、異なる VLAN やサブネットで分離されていたり、デバイス分離によって通信がブロックされていたりしてはいけません。私たちは BranchCache を **分散キャッシュ モード**で使用しており、各クライアントはローカル キャッシュを保持し、キャッシュされたデータをピアから取得します。 **ホスト キャッシュ モード**は、専用の Windows Server を必要とし、クライアント上では「ホスト キャッシュ サーバーの構成」ポリシーを通じて設定されますが、 **サポートされていません** by RealmJoin。

クライアント デバイスがソフトウェア パッケージを初めてダウンロードすると、ファイルは元のコンテンツより大幅に小さいチャンクに分割され、デバイスにキャッシュされます。その後、同じパッケージが同じネットワーク内の別のクライアント デバイスから要求されると、サーバーから完全なコンテンツではなく、コンテンツ情報をダウンロードします。コンテンツ情報は、ネットワーク内の他のデバイス上で目的のコンテンツを見つけるために使用されます。 **クライアントのピア検出** は「分散キャッシュ モード」では次のように動作します:

* クライアントは、「コンテンツ ID XYZ を持っている人はいますか?」のようなマルチキャスト クエリを送信します
* 要求されたセグメントを保持しているピアは、ユニキャストで直接応答します。

パッケージをサーバーからダウンロードする代わりに、細かく分割されたチャンクの形式のコンテンツがクライアント デバイスに転送されます。要求されたソフトウェアが複数のデバイスで利用可能な場合、負荷はそれらの間で分散されます。

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

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

RealmJoin は、ファイアウォール設定で考慮すべき、以下のホストに HTTPS で接続します:

* `cdn.realmjoin.com`
* `x1.c.lencr.org`
* `client-api.realmjoin.com`
* `client-api-staging.realmjoin.com`
* `realmjoin-backend.azurewebsites.net`
* `realmjoin-backend-staging.azurewebsites.net`
* `nuget.realmjoin.com`
* `enterpriseregistration.windows.net`
* `gkrealmjoin.s3.amazonaws.com`
* `login.microsoftonline.com`
* `graph.microsoft.com`
* `realmjoinstaticcdn.azureedge.net` (Notifier)


---

# 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:

```
GET https://docs.realmjoin.com/ja/realmjoin-no/infrastructure.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
