> 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/pt/implementacao/infrastructure.md).

# Considerações de infraestrutura

## Rede

RealmJoin é um serviço nativo da nuvem e foi concebido para **acesso direto e irrestrito à Internet de saída**. Esta é a configuração suportada. Se a sua política de segurança exigir filtragem de saída, siga as regras abaixo — elas contêm tudo o que é necessário para configurar uma firewall para RealmJoin:

* **Direção**: Apenas de saída. Todas as ligações são iniciadas pelo cliente; não são necessárias regras de entrada.
* **Protocolo**: Apenas HTTPS (TCP 443).
* **Filtragem**: Por **nome de host (FQDN)** apenas — veja a lista de endpoints abaixo. **Filtragem baseada em IP não é suportada.**

### Endpoints de ligação do RealmJoin

O cliente RealmJoin requer HTTPS de saída (TCP 443) e deve conseguir alcançar todos os seguintes endpoints:

<table data-search="false"><thead><tr><th>Host</th><th>Finalidade</th></tr></thead><tbody><tr><td><code>client-api.realmjoin.com</code></td><td>API de backend do cliente RealmJoin</td></tr><tr><td><code>client-api-staging.realmjoin.com</code></td><td>API de backend do cliente RealmJoin (staging)</td></tr><tr><td><code>cdn.realmjoin.com</code></td><td>Entrega de conteúdo de pacotes de software</td></tr><tr><td><code>nuget.realmjoin.com</code></td><td>Feed de pacotes do RealmJoin (NuGet)</td></tr><tr><td><code>gkrealmjoin.s3.amazonaws.com</code></td><td>Transferência do cliente 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>autenticação do Microsoft Entra ID</td></tr><tr><td><code>graph.microsoft.com</code></td><td>API do Microsoft Graph</td></tr><tr><td><code>enterpriseregistration.windows.net</code></td><td>registo de dispositivos do Microsoft Entra</td></tr><tr><td><code>x1.c.lencr.org</code></td><td>Validação de certificado (Let's Encrypt)</td></tr></tbody></table>

{% hint style="warning" %}
Faça referência a estes endpoints **pelo nome de host (FQDN), nunca por endereço IP**. **Não podemos fornecer endereços IP ou intervalos de IP para RealmJoin, e a filtragem baseada em IP não é suportada.** A CDN do pacote (`cdn.realmjoin.com`) é entregue através do Azure Front Door, que não tem intervalos de IP fixos — veja [Azure Front Door](#azure-front-door) abaixo.
{% endhint %}

### Azure Front Door

`cdn.realmjoin.com` — o endpoint que entrega todo o conteúdo do pacote de software — é servido através de [Azure Front Door](https://learn.microsoft.com/en-us/azure/frontdoor/front-door-overview)a plataforma global de edge e CDN da Microsoft. Isto tem consequências diretas para a filtragem de rede:

* **Não existem intervalos de IP fixos.** O Azure Front Door usa um conjunto de IP anycast global gerido pela Microsoft. A Microsoft pode adicionar, remover ou reatribuir estes endereços IP a qualquer momento, sem aviso prévio. Por esse motivo, não existe nem pode ser fornecida qualquer lista de IP — qualquer lista desse tipo ficaria imediatamente desatualizada.
* **O allowlisting baseado em IP deixará de funcionar sem aviso** e não é suportado. O mesmo se aplica à interceção ou reescrita ao nível do DNS destes nomes de host.
* Se a sua política exigir, ainda assim, a restrição do tráfego de saída, **regras baseadas em nome de host (FQDN)** são a única abordagem que funciona com RealmJoin.

### Evite proxies

* A implementação inicial requer **acesso direto à Internet**.
* **Sem proxy** é o ideal; um **proxy transparente** funciona bem (se for verdadeiramente transparente).
* Se um proxy for inevitável, os [endpoints de ligação do RealmJoin](#realmjoin-connection-endpoints) devem estar diretamente acessíveis, no mínimo.

Além disso, os serviços Microsoft dos quais o RealmJoin depende têm de estar acessíveis. A Microsoft publica os respetivos intervalos de endereços:

* [Intervalos de IP do Azure e etiquetas de serviço – Cloud pública](https://www.microsoft.com/en-us/download/details.aspx?id=56519) — intervalos de endereços IP de computação (incluindo intervalos SQL) usados pelos datacenters do Microsoft Azure. Um novo ficheiro é carregado todas as quartas-feiras (hora do Pacífico) com os intervalos de endereços IP planeados, entrando em vigor na segunda-feira seguinte (hora do Pacífico). Descarregue o novo ficheiro e aplique as alterações necessárias no seu ambiente antes de segunda-feira.
* [URLs e intervalos de endereços IP do Office 365](https://support.office.com/en-us/article/Office-365-URLs-and-IP-address-ranges-8548a211-3fe7-47cb-abb1-355ea5aa88a2) — intervalos de endereços a incluir nas suas listas de permissões de saída para que os clientes possam utilizar o Office 365 com êxito.

{% hint style="info" %}
A filtragem apenas por endereço IP não é uma solução completa devido a dependências de serviços baseados na Internet, como Serviços de Nomes de Domínio (DNS), redes de entrega de conteúdo (CDNs), listas de revogação de certificados e outros serviços de terceiros ou dinâmicos. Estas dependências incluem dependências de outros serviços Microsoft, como a Rede de Entrega de Conteúdo do Azure, e resultarão em rastreamentos de rede ou registos de firewall que indicam ligações a endereços IP pertencentes a terceiros ou à Microsoft, mas não listados nesta página. Estes endereços IP não listados, quer sejam de serviços CDN e DNS de terceiros quer pertençam à Microsoft, são atribuídos dinamicamente e podem mudar a qualquer momento.
{% endhint %}

### BranchCache e isolamento de dispositivos

O BranchCache é uma tecnologia de peering incorporada no Windows que **reduz o tráfego WAN** e **acelera a entrega de conteúdo** ao permitir que os clientes partilhem entre si o conteúdo descarregado, em vez de cada dispositivo ir buscar o mesmo conteúdo à cloud.

{% hint style="info" %}
Para RealmJoin, o BranchCache está **ativado por predefinição** no lado da CDN e do cliente.
{% endhint %}

**Porquê BranchCache em vez de Delivery Optimization?** O Delivery Optimization não suporta origens de pacotes de terceiros — funciona apenas com endpoints controlados pela Microsoft (Windows Update, Store, M365 Apps, Intune). O BranchCache funciona para conteúdo de terceiros, como pacotes RealmJoin.

**Configuração:**

* **Lado da CDN**: Ativado por predefinição. A pedido, podemos desativar completamente o BranchCache no lado da CDN (por Tenant), o que torna irrelevante a configuração do lado do cliente.
* **Lado do cliente**: Ativado por predefinição. Defina `BranchCache.Mode = "Undefined"` (ver [Definições de utilizador e grupo](/pt/ugd-management/user-and-group-settings.md)) para alterar esta predefinição. Nota: nos clientes existentes, a funcionalidade não é desativada ativamente depois de já ter sido ativada anteriormente — execute `Disable-BC` nos dispositivos pretendidos para a desativar.

**Requisitos de rede:**

* Os clientes devem conseguir **comunicar diretamente entre si** — não os separe em diferentes VLANs ou sub-redes, e não bloqueie o tráfego entre pares através do isolamento de dispositivos.
* O RealmJoin utiliza **Modo de cache distribuída** apenas: cada cliente mantém uma cache local e obtém dados em cache dos pares.
* **Modo de cache alojada** (Windows Server dedicado, configurado através da política "Configure Hosted Cache Servers") não é **suportado** pelo RealmJoin.

**Como funciona:**

1. Quando um cliente descarrega um pacote de software pela primeira vez, os ficheiros são divididos em blocos significativamente mais pequenos do que o conteúdo original e armazenados em cache no dispositivo.
2. Quando outro cliente na mesma rede solicita o mesmo pacote, descarrega apenas **informações de conteúdo** em vez do conteúdo completo do servidor.
3. O cliente usa as informações de conteúdo para **descoberta de pares**: envia uma consulta multicast ("Alguém tem o conteúdo com ID XYZ?"), e qualquer par que tenha o segmento solicitado responde diretamente via unicast.
4. O conteúdo é transferido dos pares em blocos. Se o software solicitado estiver disponível em vários dispositivos, a carga é distribuída entre eles.

Para mais detalhes, consulte o 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/pt/implementacao/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.
