Os componentes da plataforma, o que cada um faz, como se organizam numa arquitetura Enterprise e como a automação alcança outras regiões e redes segmentadas — terminando no padrão para rede segmentada em camadas (OT · IDMZ · IT), que se aplica a qualquer cliente com essa topologia. Feito para responder com segurança quando perguntarem em reunião.
Analogia: pense no AAP como um aeroporto de automação — a torre de controle (gateway) organiza tudo, os terminais executam voos (controller/EDA), o depósito guarda os aviões prontos (hub/EE) e a malha de rotas (mesh) leva a automação a destinos distantes.
Como ler esta página: as Partes 1 a 3 são a referência Red Hat — o padrão do fabricante, válido para qualquer cliente. A Parte 4 é o padrão de referência para rede segmentada em camadas (modelo Purdue / IDMZ, comum em OT e em ambientes regulados). Onde ele diverge da referência do fabricante, está dito — e o que é escolha de arquitetura está marcado como tal.
Cada peça tem um papel. "Obrigatório" = a plataforma não roda sem ele; "opcional" = agrega valor, mas dá para viver sem no início.
| Componente | O que é | Para que serve | Papel |
|---|---|---|---|
| Platform gateway | A porta de entrada única — uma só UI e uma só API, com login central. | Autenticação, autorização e roteamento; unifica Controller, Hub e EDA sob um endereço e uma identidade. | obrigatório |
| Automation Controller | O motor de execução — quem roda os jobs. | Guarda job templates, inventories, credentials, projetos (Git), agendamentos e RBAC; dispara a automação nos nós de execução. | obrigatório |
| Private Automation Hub | O almoxarifado interno de conteúdo. | Hospeda internamente collections e Execution Environments, com curadoria (certified/validated); fonte confiável e offline-friendly. | nas topologias testadas |
| Event-Driven Ansible (EDA) | O piloto automático por eventos. | Executa rulebooks (se evento X → ação Y) a partir de fontes (monitoração, webhooks, filas): detectar → decidir → remediar. | incluído na 2.7 |
| Automation Mesh | A malha de rotas que distribui o trabalho, inclusive por redes separadas. | Rede overlay peer-to-peer (protocolo Receptor) que leva a execução a sites/regiões remotas via nós control/hybrid/execution/hop. | essencial multi-site |
| Execution Environment (EE) | Uma imagem de contêiner com Ansible + collections + dependências. | Ambiente imutável e versionado onde a automação roda ("roda igual em qualquer lugar"). Criado com ansible-builder. | obrigatório |
| PostgreSQL | O banco de dados da plataforma. | Estado de Controller, Hub, EDA, gateway e métricas. Instalador = PostgreSQL 15; externo = 15/16/17 com ICU. | obrigatório |
| Redis | A memória rápida / fila da plataforma. | Cache e enfileiramento para o gateway e o EDA (lançamento de jobs). Colocado nos nós; em cluster HA no enterprise. | obrigatório na 2.7 |
| Automation Analytics / Insights | O painel gerencial (uso e saúde da automação). | Uso e saúde da plataforma; alimenta o dashboard via metrics service local. A integração com o Automation Savings Planner da Red Hat é roadmap; a quantificação de retorno em si é ofertada pelo motor de ROI do FARO, que não depende desta peça. | opcional (recomendado) |
| Ansible Lightspeed | Assistente de IA que gera tarefas Ansible a partir de linguagem natural. | Acelera a criação de playbooks/roles. Add-on separado. | opcional |
Ferramentas de desenvolvimento do ecossistema (não são serviços do cluster): ansible-builder (constrói EEs), ansible-navigator (roda/depura), ansible-lint + molecule (qualidade/testes), ansible-core (o motor).
Separar quem pensa de quem executa é o princípio da escala: você adiciona capacidade de execução sem mexer no cérebro da plataforma.
Guarda estado, agenda, autentica e decide.
Onde a automação acontece. É aqui que você escala capacidade (mais nós / forks).
| Aspecto | Growth | Enterprise |
|---|---|---|
| Objetivo | Começar; footprint pequeno, sem redundância | Produção resiliente, alto volume, HA |
| Formato | All-in-One: todos os componentes numa VM única | Multi-VM, componentes separados e replicados |
| PostgreSQL | Gerenciado pelo instalador (PostgreSQL 15) | Externo (cliente), 15/16/17 com ICU |
| Redis | Colocado na VM única | Cluster HA (mín. 6 VMs); externo não suportado |
| Load balancer | — | HAProxy na frente do gateway |
| Redundância | Não | gateway ×2 · controller ×2 · hub ×2 · EDA ×2 · execution ×2 |
Topologia ENTERPRISE testada — inventário de nós (Plan AAP 2.7, p.17-18) CONTROL PLANE EXECUTION PLANE ├─ 2 × Platform gateway (+Redis) ├─ 1 × Hop node (mesh) ├─ 2 × Automation controller └─ 2 × Execution node (mesh) ├─ 2 × Private automation hub (+Redis) ├─ 2 × Event-Driven Ansible (+Redis) EXTERNOS (fora do AAP) ├─ 1 × Metrics service ├─ 1 × PostgreSQL (externo) └─ 1 × HAProxy (load balancer) Total: 12 VMs do AAP + DB externo + HAProxy · Redis HA exige ≥ 6 VMs
O Automation Mesh é uma rede overlay peer-to-peer que espalha o trabalho por workers distribuídos, usando o protocolo Receptor (TCP 27199 por default, configurável na instalação). O control plane não fala direto com cada host remoto — entrega o trabalho a nós da malha, que o encaminham até o destino.
Em multi-site, o control plane muitas vezes não tem rota direta para os hosts de uma rede isolada (DMZ, planta, filial, nuvem). O hop node fica na fronteira e faz o relay. Você automatiza a região remota controlando o tráfego do mesh por firewall, em vez de expor a rede toda ao SSH do control plane.
Sentido das conexões — o ponto que decide o desenho: o link Receptor é bidirecional depois de estabelecido, mas quem inicia a conexão TCP é definido no inventário pela relação de peers (receptor_peers): o nó que lista o outro é o que disca. É isso que permite respeitar o sentido que o firewall exige. O SSH (22) é usado pelo nó instalador → todos os nós, para instalar e atualizar; não é o canal de execução.
Padrão genérico — o control plane alcança uma rede isolada via hop REGIÃO CENTRAL (control plane) FRONTEIRA REGIÃO REMOTA / rede isolada ┌──────────────────────────┐ ┌──────────┐ ┌───────────────────────────┐ │ Controller / gateway … │◀══mesh══│ Hop node │◀══mesh═│ Execution node ─▶ hosts │ └──────────────────────────┘ └──────────┘ └───────────────────────────┘ (control plane) (relay Receptor) (execution plane) Setas = quem INICIA a conexão TCP. Aqui, o nó de dentro disca para fora — que é o sentido exigido quando a política de firewall bloqueia inbound. O sentido é uma decisão de configuração (receptor_peers), não do produto.
Numa rede em camadas típica (Purdue / IDMZ) há cinco firewalls entre sete camadas, com política de fluxo explícita. O desenho do mesh é derivado dessa política — mas nem tudo nele é imposição: parte é escolha de arquitetura, e vale saber qual é qual. Control plane na camada corporativa on-premises.
| Regra rede em camadas | Natureza | Efeito no desenho |
|---|---|---|
| Bidirecional permitido entre camadas adjacentes | permissão | É o caso em que colocamos 100% dos fluxos de mesh |
| Outbound atravessando camadas: permitido | permissão | Não usamos — é o que tornaria o hop dispensável |
| Inbound atravessando camadas: BLOQUEADO | imposição | O control plane nunca disca para dentro do OT. Quem inicia é sempre o nó de dentro |
| "Preocupação com o quantitativo de regras a serem geridas nos firewalls" | alerta | O hop concentra S sites em 2 regras adjacentes por fronteira |
Detalhe que costuma passar batido: não há firewall entre Level 1 e Level 2 — eles são uma só zona no nível de rede. É mais um motivo para o execution node ficar no Level 3 e alcançar os dois de lá.
FW = firewall · note que NÃO há FW entre Level 1 e Level 2 OT L1 / L2 OT Level 3 IDMZ IT corporativa Cloud ┌────────────┐ ┌────────────┐ ┌─────────────┐ ┌──────────────┐ ┌────────────┐ │ PLC · IHM │ FW │ exec-ot │ FW │ hop1 · hop2 │ FW │ ctrl1 ctrl2 │ FW │ exec-cloud │ │ switches │────│ 1 por site │────│ exec-idmz │────│ gateway ×2 │────│ │ │ sensores │ │ │ │ bastion │ │ hub ×2 EDA ×2│ └────────────┘ └────────────┘ └────────────┘ │ Hosting Ctr │ │ PG · LB │ ▲ └─────────────┘ │ exec-it ×2 │ │ SSH/SNMP/Modbus └──────────────┘ └── já liberado no HLD SENTIDO DE INICIAÇÃO DA CONEXÃO DE MESH exec-ot ═══▶ hop1 / hop2 ═══▶ ctrl1 / ctrl2 (OT L3) (IDMZ) (IT) └─ adjacente ─┘ └─ adjacente ─┘ outbound outbound ✗ Nada disca para dentro do OT. ✗ Nenhum salto de camada.
A regra é profundidade de camada, não localização geográfica. O hop não é um por site — é um par HA no IDMZ compartilhado por todos os sites OT.
| Zona | Nó AAP | Fronteiras até o control plane | Hop? | Por quê |
|---|---|---|---|---|
| Camada corporativa (IT) | control ×2 + exec ×2 | 0 | não | Mesma zona do control plane |
| Cloud | exec ×1–2 | 1 — adjacente | não | Regra ponto a ponto resolve |
| IDMZ | exec ×1–2 | 1 — adjacente | não | Atende Hosting Center e devices do DMZ |
| OT Level 3 (por site) | exec ×1..N | 2 — L3→IDMZ→IT | SIM (escolha) | Duas fronteiras. A política permitiria o caminho direto — o hop evita a travessia |
| OT Level 1 / Level 2 | nenhum | — | — | Alcançados por SSH a partir do exec node do L3, que é adjacente e cujas portas já estão liberadas no HLD |
Os dois erros que esta tabela evita: (1) colocar execution node em L1/L2 — corta ~⅔ da contagem de nós na frota OT; (2) um hop por site — o hop não escala com a quantidade de plantas.
CONTROL PLANE — camada corporativa (fixo, igual à referência Red Hat) ├─ 2 × gateway (+Redis) ├─ 2 × EDA (+Redis) ├─ 1 × PostgreSQL externo ├─ 2 × controller ├─ 1 × metrics └─ 1 × load balancer ├─ 2 × hub (+Redis) (HAProxy ou NetScaler) subtotal: 11 VMs EXECUTION PLANE — distribuído por zona (delta do padrão) ├─ 2 × exec-it IT ├─ 1 × bastion/installer IDMZ ├─ 2 × hop (par HA) IDMZ ├─ 1–2 × exec-cloud cloud ├─ 1–2 × exec-idmz IDMZ └─ S × exec-ot OT L3, 1 por site TOTAL ≈ 18 + S VMs S = nº de zonas OT Level 3. É o driver DOMINANTE da conta — e é pendência aberta.
Duas regras de leitura: o hop não entra na conta de capacidade — tem capacity=0, não roda job; entra na conta de VMs e de HA. E cada zona OT tem um piso de 1 execution node independente do pico de carga, porque alcance é binário e capacidade é contínua. Com poucos sites o pico manda na conta; com muitos sites, o piso de alcance manda.
Cada um destes já derrubou projeto de mesh em campo. Estão aqui porque são exatamente o que se pergunta na reunião de arquitetura.
Sem instance group explícito, o job cai no grupo default e pode ser despachado para um execution node sem rota até os hosts. É o modo de falha mais provável do desenho — e é silencioso.
O instalador exige SSH para todos os nós. Do IT não se alcança o OT L3 — são 2 camadas em sentido inbound. Bloqueado.
São dois pulls diferentes. Planejar só o segundo faz a instalação do nó OT falhar — antes de qualquer job existir.
O TLS do mesh é mútuo. Um middlebox de inspeção não tem chave assinada pela CA do mesh, e o certificado reemitido não carrega o OID exigido no SAN.
| Item | Situação |
|---|---|
| Onde fica o control plane | fechado IT / corporativa on-premises |
| Sentido de iniciação das conexões | fechado de dentro para fora, só entre camadas adjacentes |
| Onde tem hop | fechado par HA no IDMZ, só para o OT L3 |
| Porta do mesh | aberto recomendação: pedir 27199/TCP. Reusar a TCP/22000 do HLD é plano B — depende de a regra existente ser por sub-rede e de não haver App-ID/DPI |
| S = nº de zonas OT Level 3 | aberto driver dominante da contagem de VMs e do cronograma |
| Inspeção SSL nas travessias | aberto se houver inspeção sem exceção, o mesh não funciona |
| Aceite do fluxo bastion → SSH → OT L3 | aberto sem SSH não há instalação |
| Caminho das imagens para o OT | aberto online / bundle / mirror no IDMZ |
Nenhum componente, porta ou comportamento foi inventado. As Partes 1–3 vêm da doc oficial 2.7; a Parte 4 vem dos artefatos de arquitetura de rede do cliente e dos documentos de análise do projeto.
Trilha de certificação: mesh, instance groups, capacity, instalação e upgrade são corpo de EX467 / DO467.