본문으로 건너뛰기

OCI NLB 예약 IP 사고: 2026년 5월 5일

이 페이지는 Lumie의 OCI 앱 수신 NLB에서 발생한 최초의 예약 IP 중단에 대한 troubleshooting 회고입니다. 원래 사고 메모는 예약된 IP 경로에서 전환하여 서비스를 복원했습니다. 저장소의 현재 Terraform 계약은 내구성 있는 수정 사항이 나중에 영구적인 OCI 전용 해결 방법이 아닌 공급자 측 private_ip_id 연결 가드로 캡처되었음을 보여줍니다.

소스 경로

  • todo/incidents/trouble/oci-nlb-reserved-ip-incident-2026-05-05.md
  • lumie-infra/provision/terraform/nlb_0214.tf
  • lumie-infra/provision/terraform/outputs.tf

5월 5일에 실패한 일

테넌시 0214에서 worker-1 제거 작업 중 앱 NLB 백엔드 풀이 변경된 직후 중단이 시작되었습니다.

확인결과배제된 것
NLB 예약 공용 IP에 대한 외부 TCP/443시간 초과공개 에지 경로가 손상됨
OCI NLB 수명주기 및 백엔드 상태ACTIVE, 백엔드 OK컨트롤 플레인과 프라이빗 측 상태 점검은 여전히 ​​녹색이었습니다
VCN 내부에서 NLB 내부 IP에 대한 요청성공NLB 개체와 백엔드 풀은 여전히 ​​비공개로 작동합니다.
워커 노드 공용 IP에 직접 요청성공Traefik 및 워크로드가 여전히 제공 중

이 조합이 중요합니다. 백엔드는 정상이었고 개인 측 경로는 여전히 작동했지만 예약된 공용 IP는 수신 전달을 중단했습니다.

이제 저장소에서 지속적인 수정 사항으로 간주되는 것

5월 5일의 즉각적인 복구는 먼저 Cloudflare를 워커 노드 공용 IP로 지정한 다음 임시 공용 IP로 NLB를 재구축하여 끊어진 예약 IP 경로에서 트래픽을 이동하는 것이었습니다. 나중에 체크인된 Terraform 계약은 A/B 테스트가 작동한 이유를 설명합니다.

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가 해당 필드를 NLB의 부동 개인 IP에 할당하고 나중에 Terraform 실행이 백엔드 상태가 여전히 정상으로 보이는 동안 연결을 지우고 TCP/443를 블랙홀 상태로 남겨둘 수 있기 때문에 NLB의 예약된 공용 IP가 private_ip_id를 무시해야 한다고 나와 있습니다.

원래 사건 메모와 달라진 계약

원본 5월 5일 노트에서는 근본 원인을 OCI 지원이 필요한 OCI 예약 IP 데이터 플레인 결함으로 구성했습니다. 현재 저장소는 더 이상 이를 기준 설명으로 취급하지 않습니다.

  • nlb_0214.tf는 Terraform 관리형 예약 IP에 대해 확인된 2026년 5월 24일 수정 사항을 기록합니다.
  • nlb_teleport_0213.tf의 전용 Teleport NLB에도 동일한 수명 주기 가드가 있습니다.
  • 더 자세한 근본 원인 기록은 OCI NLB Reserved IP Incident: May 24, 2026에 캡처되어 있습니다.

따라서 이 페이지에서는 5월 5일 실패 서명 및 복구 경로를 유지하지만 원래의 "OCI 전용 결함" 결론을 지속 계약으로 유지하지는 않습니다.

살아남은 교훈

  • 달리 입증될 때까지 "백엔드 정상, 공개 수신 시간 초과"를 에지 연결 문제로 처리합니다.
  • 예약된 IP와 임시 IP A/B 테스트는 백엔드 문제와 공용 IP 연결 문제를 구분하는 빠른 방법입니다.
  • 근본 원인이 완전히 확인되기 전에 서비스가 복원될 수 있도록 Cloudflare에서 원본으로의 전환을 위한 문서화된 우회 경로를 유지하세요.

확인

cd lumie-infra/provision/terraform
rg -n "ignore_changes = \\[private_ip_id\\]" nlb_0214.tf
terraform output nlb_public_ip
terraform output nlb_id

성공은 저장소가 여전히 앱 NLB에 예약된 IP 수명 주기 가드를 보유하고 있으며 적용된 Terraform 상태가 라이브 확인 중에 운영자가 사용하는 공용 IP 및 NLB OCID를 계속 노출한다는 것을 의미합니다.

관련 페이지