# OCI - Análise de Rede e Compartments (DEV Nexus) > **Data:** 2026-02-25 | **Responsável:** Tiago Ribeiro > **Contexto:** Análise realizada para suporte à geração de scripts Terraform via Resource Discovery (demanda: Ana Guadagnin) --- ## 1. Mapa de Compartments ### Estrutura Confirmada ``` invistacloud (root) ├── cmp-top-invista │ └── cmp-dev-inv │ └── cmp-dev-nexus ✅ ATIVO — recursos do ambiente DEV │ └── OKE └── DEV ← VCNs de rede ficam neste compartment └── cmp-dev-nexus 🗑️ DELETADO em 2026-02-25 (estava vazio) ``` ### Recursos em `cmp-dev-nexus` (cmp-top-invista > cmp-dev-inv) > **Verificado via OCI CLI 2026-03-01** | Recurso | Nome | Estado | |---|---|---| | OKE Cluster | `cls-dev-nexus` | ACTIVE — v1.34.1 | | OKE Cluster | `cls-dev-barramento` | ACTIVE — v1.34.1 | | OKE Cluster | `cls-dev-observabilidade` | ACTIVE — v1.34.1 | | Compute (workers) | `oke-*` (9x VM.Standard.E4.Flex) | RUNNING | | Load Balancers | 5x (OKE-managed) | ACTIVE | | API Gateway | `api-gateway-nexus-dev` (10.6.0.123, PRIVATE) | ACTIVE — **0 deployments** | > ⚠️ `api-gateway-nexus-dev` existe e está ativo mas sem nenhum deployment/rota configurada. > Hostname: `dnqe6ufrommkqxtfp7k2ehrbmu.apigateway.sa-saopaulo-1.oci.customer-oci.com` ### Recursos em `DEV` (OKE > DEV) | Recurso | Nome | Estado | |---|---|---| | VCN | `vcn-oke` (10.110.0.0/16) | AVAILABLE — Terraform ✅ | | VCN | `vcn-oke` (10.120.0.0/16) | AVAILABLE — legado/orphan ⚠️ | | API Gateway | `api-gateway-mfe-dev` (147.15.97.158, PUBLIC) | ACTIVE — 1 deployment (mfe-user) | | Object Storage | `mfe-shell-dev` | AVAILABLE | --- ## 2. Rede — Situação Atual ### VCNs em Uso | VCN | CIDR | Compartment | Uso | Gerenciada por | |---|---|---|---|---| | `vcn-oke` | 10.110.0.0/16 | OKE > DEV | OKE clusters (DEV Nexus) | Terraform (`tf_oci_clusters`) | | `VCN-DEV` | 10.6.0.0/16 | cmp-dev-inv | API Gateway + outros serviços | Manual | | `vcn-oke` | 10.120.0.0/16 | OKE > DEV | Clusters legado dev-cls-1/2/3 | Terraform | ### Subnets da `vcn-oke` (10.110.0.0/16) — VCN ativa dos clusters | Subnet | CIDR | Tipo | Uso | |---|---|---|---| | `sbn-workers-1` | 10.110.0.0/20 | Pública | OKE worker nodes | | `sbn-workers-2` | 10.110.16.0/20 | Pública | OKE worker nodes | | `sbn-workers-3` | 10.110.32.0/20 | Pública | OKE worker nodes | | `sbn-lb-1` | 10.110.128.0/20 | Pública | Load Balancers OKE | | `sbn-lb-2` | 10.110.144.0/20 | Pública | Load Balancers OKE | | `sbn-api-gateway` | 10.110.192.0/20 | **Privada** | **Criada para API Gateway — não utilizada** | ### Subnets da `VCN-DEV` (10.6.0.0/16) | Subnet | CIDR | Tipo | Uso atual | |---|---|---|---| | `SBNT-DEV` | 10.6.0.0/24 | Privada | **API Gateway `api-gateway-nexus-dev`** | | `SBNT-DEV-AUTOMATION` | 10.6.1.0/24 | Privada | Automação | | `SBNT-DEV-LB` | 10.6.3.0/24 | Privada | Load Balancer outros serviços | ### Topologia Atual (cross-VCN via DRG) ``` Internet │ ▼ API Gateway (api-gateway-nexus-dev) │ └── SBNT-DEV (10.6.0.0/24) ── VCN-DEV (10.6.0.0/16) │ DRG ← comunicação cross-VCN │ vcn-oke (10.110.0.0/16) │ ┌───────────────────┼───────────────────┐ │ │ │ sbn-workers-1/2/3 sbn-lb-1/2 sbn-api-gateway (OKE nodes) (LBs OKE) (vazia / disponível) ``` --- ## 3. Ações Realizadas em 2026-02-25 ### 3.1 ✅ Compartment duplicado vazio — DELETADO **Problema:** Existiam 2 compartments `cmp-dev-nexus`: - `OKE > DEV > cmp-dev-nexus` — vazio, sem uso, criado por ciclo anterior do Terraform - `cmp-top-invista > cmp-dev-inv > cmp-dev-nexus` — com todos os recursos ativos **Verificação:** 0 VCNs, 0 instâncias, 0 clusters, 0 LBs, 0 API Gateways no vazio. **Ações:** - Compartment vazio deletado via OCI CLI - OCID deletado: `ocid1.compartment.oc1..aaaaaaaardqptx2truouyqtmj2awx5seh2rorh6xw4fszv2sqq7tmbohglnq` - Status final OCI: `DELETED` (renomeado para `cmp-dev-nexus.ebThJ41h`) - Terraform corrigido: adicionado `create_cluster_compartment = false` em `environments/dev/terraform.ci.tfvars` - Repo: `tf_oci_clusters` | Commit: `5a127e3a` | Branch: `main` - Motivo: evitar que o Terraform recrie o compartment automaticamente no próximo apply ### 3.2 ✅ 8 VCNs orphans — DELETADAS **Problema:** 8 VCNs `vcn-oke` (10.110.0.0/16) abandonadas no compartment `OKE > DEV`, geradas por ciclos anteriores de create/destroy de clusters OKE sem destruição dos recursos de rede. **Verificação:** - 0 VNICs / instâncias em todas - 0 DRG attachments em todas - Nenhuma no Terraform state atual → necessária exclusão manual **Recursos removidos (por VCN, x8):** | Recurso | Quantidade total | |---|---| | Subnets (sbn-workers-1/2/3, sbn-lb-1/2) | 40 | | Route Tables (rt-public, rt-workers) | 16 | | Security Lists (sl-lb, sl-workers) | ~16 | | DHCP Options (dhcp-oke-dns) | 8 | | Internet Gateways (igw-oke) | 8 | | NAT Gateways (nat-oke) | 8 | | Service Gateways (sgw-oke) | 8 | | **VCNs** | **8** | --- ## 4. Problema Pendente — Desalinhamento Arquitetural de Rede ### Situação O `api-gateway-nexus-dev` está em uma VCN diferente dos clusters OKE que ele serve: | Componente | VCN | Compartment | |---|---|---| | `api-gateway-nexus-dev` | `VCN-DEV` (10.6.0.0/16) — subnet `SBNT-DEV` | `cmp-dev-inv` | | `cls-dev-nexus` / `cls-dev-barramento` / `cls-dev-observabilidade` | `vcn-oke` (10.110.0.0/16) | `OKE > DEV` | A comunicação entre API Gateway e OKE ocorre via **DRG-Invista-Shared** — **as 3 VCNs têm DRG attachment confirmado via OCI CLI (2026-03-01)**: | Attachment | VCN | CIDR | Compartment | |-----------|-----|------|-------------| | `ATT-VCN-Shared` | VCN-Shared | 10.8.0.0/16 | cmp-shared-inv | | `ATT-VCN-DEV` | VCN-DEV | 10.6.0.0/16 | cmp-dev-inv | | `ATT-VCN-OKE-DEV` | vcn-oke | 10.110.0.0/16 | OKE > DEV | ### Por que `VCN-DEV` não é adequada para OKE | Limitação | Detalhe | |---|---| | Sem Internet Gateway | Workers não conseguem puxar imagens de container | | Sem NAT Gateway | Sem egress para internet em subnets privadas | | Subnets /24 muito pequenas | 254 IPs por subnet — insuficiente para node pools + pods | | Não gerenciada pelo Terraform | Criada manualmente, sem padronização | --- ## 5. Opções para Resolução ### Opção A — Migrar API Gateway para `vcn-oke` ⭐ Recomendada Mover o `api-gateway-nexus-dev` para a subnet `sbn-api-gateway` (10.110.192.0/20) que já existe dentro da `vcn-oke` — criada pelo Terraform especificamente para esse fim (`enable_api_gateway_mfe = true`). **Benefícios:** - API Gateway e OKE na mesma VCN — comunicação direta sem DRG - `sbn-api-gateway` já provisionada e disponível - Alinha com a arquitetura gerenciada pelo Terraform - Reduz custo (sem tráfego cross-VCN pelo DRG) - Simplifica troubleshooting **Limitação:** API Gateway no OCI **não permite troca de subnet in-place** — é necessário recriar. **Passos para migração:** 1. Criar novo API Gateway em `sbn-api-gateway` (vcn-oke) ```bash oci api-gateway gateway create \ --compartment-id "ocid1.compartment.oc1..aaaaaaaahycc62za6ikthlhauvarvbdixc7xpjjmcrame3cirhu2kz74ddma" \ --display-name "api-gateway-nexus-dev" \ --subnet-id "" \ --endpoint-type "PUBLIC" ``` 2. Reconfigurar todos os Deployments e Routes no novo gateway 3. Atualizar DNS (Cloudflare) apontando para o novo endpoint hostname 4. Validar funcionamento de todas as rotas 5. Remover o gateway antigo (`api-gateway-nexus-dev` em VCN-DEV) **Referência subnet destino:** ``` Nome: sbn-api-gateway CIDR: 10.110.192.0/20 VCN: vcn-oke (10.110.0.0/16) — compartment OKE > DEV ``` --- ### Opção B — Manter situação atual (DRG) Manter API Gateway na `VCN-DEV` conectado via DRG à `vcn-oke`. Funcional, sem risco imediato. **Prós:** Zero impacto — nenhuma mudança necessária **Contras:** Latência adicional via DRG, custo de tráfego inter-VCN, maior complexidade de troubleshooting --- ### Opção C — Migrar toda a rede OKE para `VCN-DEV` ❌ Não recomendada Recriar os clusters OKE usando a `VCN-DEV` como base. **Por que não:** Exigiria adicionar IGW + NAT à VCN-DEV, expandir subnets para /20, recriar 3 clusters com downtime — alto risco e esforço sem benefício claro sobre a Opção A. --- ## 6. Recomendação Final (atualizada 2026-03-01) ### Recomendação recebida: usar gateway compartilhado (VCN-DEV) Foi recebida recomendação de **NÃO criar um gateway dedicado em vcn-oke** e sim usar o `api-gateway-nexus-dev` (gateway compartilhado na rede VCN-DEV) para ambos os fluxos — backend MSs e MFEs frontend. **Arquitetura alvo:** ``` Internet → Cloudflare → LB Test_Crivo_Dev (VCN-Shared) │ DRG-Invista-Shared ▼ VCN-DEV (rede compartilhada, cmp-dev-inv) ▼ api-gateway-nexus-dev (10.6.0.123, PRIVATE) ├─► /api/* → OKE Internal LB → Ingress NGINX → Pods └─► /mfe-*/* → Object Storage (mfe-*-dev buckets) ``` **O que precisa ser feito:** 1. Criar deployments no `api-gateway-nexus-dev` para os MSs (/api/auth, /api/user, etc.) 2. Criar deployments no `api-gateway-nexus-dev` para os MFEs (rotas SPA) 3. Configurar DNS Cloudflare com hostname `dnqe6ufrommkqxtfp7k2ehrbmu.apigateway...` 4. Avaliar manter ou remover o `api-gateway-mfe-dev` (PUBLIC, vcn-oke) ### Opção A original — ainda válida como alternativa A opção de migrar `api-gateway-nexus-dev` para `sbn-api-gateway` (vcn-oke) continua válida se a preferência for centralizar tudo em vcn-oke. Mas a recomendação recebida é o oposto: centralizar em VCN-DEV. --- ## Referências - Repo Terraform: `tf_oci_clusters` (Azure DevOps — CN-Squad / Invista FIDC - Nexus) - Compartment DEV Nexus OCID: `ocid1.compartment.oc1..aaaaaaaahycc62za6ikthlhauvarvbdixc7xpjjmcrame3cirhu2kz74ddma` - VCN oke OCID: `ocid1.vcn.oc1.sa-saopaulo-1.amaaaaaasks3yliapqrmikfzagpgqohuzjqik3hx63w7r2uajiqv5krvxkda` - VCN-DEV OCID: `ocid1.vcn.oc1.sa-saopaulo-1.amaaaaaasks3yliatoq6uvqqak3kax775ksd2jastvgsbiki7mgj6jzue6dq` --- *Atualizado em: 2026-03-01 — Double-check completo via OCI CLI*