docs(nexus): análise de rede OCI e limpeza de recursos ociosos — 2026-02-25
- Documenta estrutura de compartments e VCNs do ambiente DEV Nexus - Registra exclusão do compartment duplicado cmp-dev-nexus (OKE > DEV) - Registra exclusão de 8 VCNs vcn-oke orphans (+ 104 sub-recursos) - Fix Terraform: create_cluster_compartment = false (commit 5a127e3a) - Descreve desalinhamento arquitetural API Gateway (VCN-DEV vs vcn-oke) - Propõe migração do API Gateway para sbn-api-gateway (Opção A recomendada) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
83a82492c0
commit
302e56baef
1 changed files with 229 additions and 0 deletions
229
inventcloud/invista/nexus/OCI-NETWORK-ANALYSIS.md
Normal file
229
inventcloud/invista/nexus/OCI-NETWORK-ANALYSIS.md
Normal file
|
|
@ -0,0 +1,229 @@
|
|||
# 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)
|
||||
|
||||
| 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` | ACTIVE |
|
||||
|
||||
---
|
||||
|
||||
## 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 hoje ocorre via **DRG (Dynamic Routing Gateway)** — ambas as VCNs têm DRG attachment ativo:
|
||||
- `ATT-VCN-DEV` (VCN-DEV)
|
||||
- `ATT-VCN-OKE-DEV` (vcn-oke)
|
||||
|
||||
### 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 "<ocid-sbn-api-gateway>" \
|
||||
--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
|
||||
|
||||
Seguir com a **Opção A**, planejando janela de manutenção para migrar o `api-gateway-nexus-dev` para a `sbn-api-gateway` dentro da `vcn-oke`.
|
||||
|
||||
**Antes da migração, confirmar com equipe Nexus/Invent Cloud:**
|
||||
- Quais consumers do API Gateway precisam ter DNS atualizado
|
||||
- Janela de manutenção disponível
|
||||
|
||||
---
|
||||
|
||||
## 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-02-25*
|
||||
Loading…
Reference in a new issue