OCI NLB 예약 IP 사고: 2026년 5월 24일
이 페이지는 Lumie의 OCI 앱 NLB에서 발생한 두 번째 예약 IP 수신 실패에 대한 troubleshooting 회고입니다. 이전의 5월 5일 중단과 달리 이 조사는 체크인된 근본 원인과 이제 두 공용 NLB 모두에 적용되는 저장소 관리 수정 사항으로 끝났습니다.
소스 경로
todo/incidents/trouble/oci-nlb-reserved-ip-incident-2026-05-24.mdlumie-infra/provision/terraform/nlb_0214.tflumie-infra/provision/terraform/nlb_teleport_0213.tflumie-infra/provision/terraform/outputs.tf
확인된 실패 서명
결정적인 테스트에서는 동일한 NLB 형태와 정상적인 백엔드를 유지했지만 공용 IP 유형만 교체했습니다.
| NLB의 공용 IP | 백엔드 상태 | 외부 TCP/443 | 결과 |
|---|---|---|---|
| 임시 공용 IP | 정상 | 성공 | 실제 백엔드 응답이 Traefik에 도달했습니다 |
| 예약된 공용 IP | 정상 | 시간 초과 | NLB 에지에 도달한 인입이 없습니다 |
이는 백엔드 풀, 프라이빗 서브넷 라우팅, nlb_0214.tf에서 사용하는 테넌시 간 워커 노드 연결 가능성을 포함하여 경로의 공유 부분을 배제했습니다.
근본 원인은 이제 Terraform으로 인코딩됩니다.
현재 저장소는 예약된 공용 IP 리소스에 직접 수정 사항을 기록합니다.
resource "oci_core_public_ip" "nlb_public_ip_0214" {
lifetime = "RESERVED"
lifecycle {
ignore_changes = [private_ip_id]
}
}
출처: lumie-infra/provision/terraform/nlb_0214.tf
파일 주석은 계약에 대해 명시적입니다. OCI는 예약된 공용 IP를 NLB의 유동 개인 IP에 할당하고 이후 Terraform 실행은 private_ip_id를 null로 재설정해서는 안 됩니다. 해당 연결이 제거되면 NLB는 TCP/443에서 공용 에지가 시간 초과되는 동안 정상 백엔드를 계속 보고할 수 있습니다.
lumie-infra/provision/terraform/nlb_teleport_0213.tf의 Teleport NLB에 대해 동일한 보호 장치가 중복되어 있는데, 이는 이것이 앱 수신 경로의 일회성 패치가 아니라는 가장 명확한 신호입니다.
백엔드가 여전히 정상으로 보이는 이유
nlb_0214.tf에 설정된 백엔드는 워커 노드 개인 IP의 포트 443에 대해 TCP 상태 확인을 사용합니다. 이러한 검사는 프라이빗 NLB-워커 노드 경로의 유효성을 검사합니다.
- 예약된 공용 IP가 여전히 NLB의 유동 개인 IP에 연결되어 있음을 증명하지 않습니다.
- Cloudflare에서 원본으로의 인입이 에지에 도달할 수 있음을 증명하지 않습니다.
이것이 바로 이 사건이 "녹색 백엔드, 죽은 공개 수신"이라는 혼란스러우면서도 반복 가능한 상태를 만들어낸 이유입니다.
문서에 남아 있는 복구 패턴
- 더 많은 NLB 재생성을 시도하기 전에 먼저 임시 NLB IP 또는 임시 Cloudflare 우회와 같이 알려진 양호한 경로에서 서비스를 복원하십시오.
- NLB 재생성이 부분적으로 성공하고 Terraform에서 객체가 이미 존재한다고 보고하는 경우 컨트롤 플레인에서 삭제하는 것보다 기존 OCI 객체를 상태로 가져오는 것이 좋습니다.
대표적인 형태:
terraform import oci_network_load_balancer_backend_set.nlb_backend_set_0214 <nlb_ocid>/<backend_set_name>
원래 사고 기록에서는 해당 복구를 사용하여 작업 중인 서버 측 리소스를 버리지 않고 부분적으로 생성된 백엔드 세트를 조정했습니다.
확인
cd lumie-infra/provision/terraform
rg -n "ignore_changes = \\[private_ip_id\\]" nlb_0214.tf nlb_teleport_0213.tf
terraform output nlb_public_ip
terraform output nlb_teleport_public_ip
terraform output nlb_backend_targets
terraform plan
성공은 두 예약된 IP NLB 리소스가 여전히 private_ip_id를 보호하고, 적용된 상태가 예상 공용 주소를 노출하며, terraform plan가 OCI 관리 IP 연결을 실행 취소하려고 시도하지 않음을 의미합니다.
관련 페이지
- OCI NLB Reserved IP Incident: May 5, 2026
- Terraform 인프라 참조