본문으로 건너뛰기

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.md
  • lumie-infra/provision/terraform/nlb_0214.tf
  • lumie-infra/provision/terraform/nlb_teleport_0213.tf
  • lumie-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_idnull로 재설정해서는 안 됩니다. 해당 연결이 제거되면 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 연결을 실행 취소하려고 시도하지 않음을 의미합니다.

관련 페이지