carregando ambientes…
FARO
Aprender · Arquitetura

Red Hat Ansible Automation Platform 2.7

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.

Parte 1 · referência Red Hat

Os componentes — o que são e para que servem

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.

ComponenteO que éPara que servePapel
Platform gatewayA 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 ControllerO 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 HubO 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 MeshA 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
PostgreSQLO 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
RedisA 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 / InsightsO 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 LightspeedAssistente 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).

Parte 2 · referência Red Hat

Arquitetura Enterprise — control plane × execution plane

Separar quem pensa de quem executa é o princípio da escala: você adiciona capacidade de execução sem mexer no cérebro da plataforma.

Control plane (pensa)

  • Platform gateway — UI/API/login
  • Automation Controller — orquestra jobs
  • Private Automation Hub — conteúdo
  • EDA Controller — eventos
  • Redis + PostgreSQL + metrics — estado e fila

Guarda estado, agenda, autentica e decide.

Execution plane (executa)

  • Execution nodes — rodam os EEs contra os hosts
  • Hop nodes — alcançam redes/regiões remotas

Onde a automação acontece. É aqui que você escala capacidade (mais nós / forks).

Growth × Enterprise (topologias testadas · containerizadas)

AspectoGrowthEnterprise
ObjetivoComeçar; footprint pequeno, sem redundânciaProdução resiliente, alto volume, HA
FormatoAll-in-One: todos os componentes numa VM únicaMulti-VM, componentes separados e replicados
PostgreSQLGerenciado pelo instalador (PostgreSQL 15)Externo (cliente), 15/16/17 com ICU
RedisColocado na VM únicaCluster HA (mín. 6 VMs); externo não suportado
Load balancerHAProxy na frente do gateway
RedundânciaNãogateway ×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
Onde o padrão de rede segmentada diverge desta referência: o control plane é adotado sem alteração. O que muda são dois deltas no execution plane — o hop vira par HA no IDMZ e os execution nodes deixam de ser 2 centrais para serem distribuídos por zona de rede. Total: ≈ 18 + S VMs, onde S = nº de zonas OT Level 3 pendência aberta. Detalhe na Parte 4.
Parte 3 · referência Red Hat

Comunicação entre regiões e redes segmentadas

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.

Tipos de nó

  • Control — origina/controla jobs; não executa.
  • Hybrid — controla e executa. (default de [automationcontroller])
  • Execution — só executa (roda o EE contra os hosts). Escala aqui.
  • Hopnão executa; só repassa (relay) o tráfego entre segmentos de rede. Aparece com capacity=0.

Por que existem hop nodes

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.
Parte 4 · padrão de referência

O mesh sobre uma rede segmentada em camadas

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.

A política de fluxo — o que impõe e o que permite

Regra rede em camadasNaturezaEfeito no desenho
Bidirecional permitido entre camadas adjacentespermissãoÉ o caso em que colocamos 100% dos fluxos de mesh
Outbound atravessando camadas: permitidopermissãoNão usamos — é o que tornaria o hop dispensável
Inbound atravessando camadas: BLOQUEADOimposiçãoO 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"alertaO 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á.

O que a política impõe: o sentido. Inbound atravessando camadas é bloqueado, logo o control plane nunca disca para dentro do OT. Consequência vendável: zero fluxo inbound para o OT — o time de segurança não precisa abrir um único fluxo para dentro da planta.
O que é escolha nossa, não imposição: o hop. Pela regra 2, o exec-ot do Level 3 poderia discar direto no control plane do IT — travessia outbound é permitida no slide. Adotamos o hop por três razões: responde ao alerta sobre volume de regras; mantém todos os fluxos no caso adjacente em vez de depender da exceção; e dá um ponto único de controle na borda. Se o cliente preferir o caminho direto, isso não viola a política — muda o custo de firewall e a postura, não a conformidade.

As camadas reais e onde cada nó fica

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.

Quem tem hop e quem não tem referência genérica — a tabela do ambiente vem abaixo

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.

ZonaNó AAPFronteiras até o control planeHop?Por quê
Camada corporativa (IT)control ×2 + exec ×20nãoMesma zona do control plane
Cloudexec ×1–21 — adjacentenãoRegra ponto a ponto resolve
IDMZexec ×1–21 — adjacentenãoAtende Hosting Center e devices do DMZ
OT Level 3 (por site)exec ×1..N2 — L3→IDMZ→ITSIM (escolha)Duas fronteiras. A política permitiria o caminho direto — o hop evita a travessia
OT Level 1 / Level 2nenhumAlcanç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.

A conta de VMs o número do ambiente está no bloco abaixo

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.

Parte 4 · continuação

Os quatro pontos que decidem se o desenho funciona

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.

1. Instance group por zona é obrigatório

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.

  • Um IG por zona: ig-it-onprem, ig-idmz, ig-cloud, ig-ot-<site>
  • Precedência: Job Template > Inventory > Organization
  • Amarrar no Inventory, não no JT — o JT é o objeto que as pessoas duplicam
  • Ligar Prevent Instance Group Fallback: sem isso, IG sem capacidade faz o job vazar para outra zona

2. O problema de instalação

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.

  • Solução: bastion/installer host no IDMZ — a única zona adjacente a OT L3 e a IT ao mesmo tempo
  • É o único fluxo "para dentro" de todo o desenho, e só é usado em instalação/upgrade — não na operação diária
  • Mitigar com origem de um único IP, just-in-time na janela, MFA e gravação de sessão

3. Como os EEs chegam ao OT

São dois pulls diferentes. Planejar só o segundo faz a instalação do nó OT falhar — antes de qualquer job existir.

  • (A) Imagens da plataforma — na instalação e em cada re-run: registry online ou bundle_install
  • (B) Imagem do EE do job — em runtime: pull do Hub no IT via 443 outbound, com credencial Container Registry
  • Se a política proibir: bundle + EE pré-carregado, ou mirror no IDMZ
  • Referenciar EE por digest, nunca por latest

4. Inspeção SSL quebra o mesh

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.

  • Exceção de decriptação obrigatória nos pares de mesh, por IP + porta
  • Também excluir de IPS com normalização de fluxo e proxy transparente
  • Proxy HTTP não funciona para o mesh — o backend TCP do receptor não implementa suporte a proxy
  • Testar antes de instalar com openssl s_server -Verify 1 / s_client -cert
Armadilha — o NetScaler não serve ao mesh. O HLD já usa NetScaler VIP como reverse-proxy com balanceamento. Para o AAP: pode ficar atrás dele o gateway (443/HTTPS, UI e API) — é HTTP, é o caso de uso. Não pode o tráfego de mesh: é protocolo próprio, peer-to-peer com TLS mútuo, e não sobrevive a reverse proxy L7. E não precisa — a alta disponibilidade do caminho OT→IT vem de dois hop nodes declarados como peers, com reroteamento nativo do protocolo.
Ponto para a conversa com o cliente: a malha automatiza os sites remotos sem VPN ampla e sem abrir a rede inteira. Mas seja preciso no número: neste padrão são duas travessias de mesh (OT L3 → IDMZ e IDMZ → IT) mais o 443 para o Hub — não "um único link". Subestimar isso cria expectativa errada com o time de rede. Em compensação, com grupos de objeto de rede o pedido inteiro fica em ≈ 14–16 regras atravessando fronteira, independentemente do número de sites.
Estado das decisões

O que está fechado e o que está aberto as ressalvas do ambiente vêm abaixo

ItemSituação
Onde fica o control planefechado IT / corporativa on-premises
Sentido de iniciação das conexõesfechado de dentro para fora, só entre camadas adjacentes
Onde tem hopfechado par HA no IDMZ, só para o OT L3
Porta do meshaberto 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 3aberto driver dominante da contagem de VMs e do cronograma
Inspeção SSL nas travessiasaberto se houver inspeção sem exceção, o mesh não funciona
Aceite do fluxo bastion → SSH → OT L3aberto sem SSH não há instalação
Caminho das imagens para o OTaberto online / bundle / mirror no IDMZ
Fontes

De onde vem cada afirmação

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.