{"id":"IL-0526","org":"OpenStreetMap Foundation","date":"2024-12-15","docs":["https://github.com/openstreetmap/operations/issues/1197"],"title":{"en":"OpenStreetMap.org went offline, then read-only, for 56 hours after HE.net routing equipment cut both fibre uplinks","ko":"HE.net 암스테르담 라우팅 장비 고장으로 OpenStreetMap.org 의 이중 광 회선이 모두 끊김"},"domain":["networking"],"impact":{"scope":"OpenStreetMap.org website and mapping API completely offline for 8 hours, then read-only with no edits and no logins (also for community.openstreetmap.org, umap and other services) until 12:21 UTC on 17 December; dev server, Taginfo and some aerial imagery unavailable; tile rendering and Nominatim at reduced capacity","users":"unknown","region":"Amsterdam"},"review":{"written_by":"session","reviewed_at":null,"reviewed_by":null},"lessons":{"en":"Relying on HE.net alone left the Amsterdam servers with a single point of failure, so OpenStreetMap will keep multiple upstream providers. The 4G out-of-band link proved invaluable and should be able to carry data synchronisation. Resumed replication would have restored editing faster than the read-only backup. Frequent contact with the ISP gave no useful estimates, so the SLA needs to be better understood. Alerting on upstream connectivity needs refining, and a read-only OpenStreetMap.org also blocked logins to services that were not affected, because it could not save new tokens.","ko":"암스테르담 서버가 HE.net 하나에만 기대고 있어 단일 장애 지점이 생겼고, 앞으로는 상위 사업자를 여럿 둔다. 4G 예비 회선을 쓴 대역 외 접속이 아주 쓸모 있었으므로, 데이터 동기화까지 할 수 있게 신뢰성과 기능을 넓힌다. 읽기 전용 백업으로 일부 서비스는 됐지만, 복제가 이어지고 있었다면 편집 기능을 더 빨리 되살렸을 것이다. ISP 와 자주 연락해도 쓸 만한 복구 예상 시각을 받지 못했으므로, SLA 를 더 잘 이해하고 ISP 에 더 투명하게 알려 달라고 요구해야 한다. 상위 연결의 알림을 다듬고 여러 모니터링 출처의 데이터를 한데 모아야 문제를 더 빨리 짚을 수 있다. OpenStreetMap.org 가 읽기 전용이 되면 새 토큰을 저장하지 못해, 장애와 무관한 community.openstreetmap.org 같은 서비스에도 로그인할 수 없게 된다."},"related":[],"sources":[{"url":"https://operations.osmfoundation.org/2025/02/15/post-mortem.html","kind":"blog","archived":"https://web.archive.org/web/20260928003218/https://operations.osmfoundation.org/2025/02/15/post-mortem.html"}],"summary":{"en":"OpenStreetMap.org's primary servers in Amsterdam reached the Internet only through HE.net, over two redundant, diverse fibre links, and no second ISP was fully operational. At 03:53 UTC on 15 December 2024 HE.net's routing equipment in Amsterdam failed and both links went offline, taking the website and the API offline. StatusCake alerted the team at 04:01 UTC. HE.net had to replace its routing hardware with equipment shipped from California, and gave no estimate of recovery.\n\nAfter a complete outage of 8 hours the team activated a read-only backup instance in Dublin at 11:31 UTC. Logins to OpenStreetMap.org and services that use its OAuth failed while it was read-only, because OAuth needs database writes to store access tokens. A full failover to Dublin was not done: replication was incomplete, the procedure, written down on 16 December, was complex and seen as risky, and the team decided to wait for Amsterdam connectivity. Equinix escalated the installation of new Equinix Internet connections in Amsterdam and Dublin, which were tested on 16 December. The new Amsterdam link restored full functionality, including map edits, at 12:21 UTC on 17 December, about 56 hours after the start. HE.net restored its service at 00:29 UTC on 18 December, about 68 hours after the start, and routing through HE.net returned to normal.","ko":"2024년 12월 15일 03:53 UTC 에 HE.net 의 암스테르담 라우팅 장비가 고장 나, OpenStreetMap.org 가 HE.net 에 연결해 둔 이중 광 회선 두 개가 모두 끊겼다. 암스테르담 서버의 인터넷 연결은 HE.net 하나에만 기대고 있었고, 바로 넘어갈 다른 ISP 가 없었다. HE.net 은 라우팅 장비를 바꿔야 했고 새 장비를 캘리포니아에서 보내야 해서 복구가 길어졌다. 운영 팀은 여러 번 HE.net 에 연락했지만 쓸 만한 복구 예상 시각을 받지 못했다.\n\n사이트는 8시간 동안 완전히 내려가 있다가, 11:31 UTC 에 더블린에 있는 읽기 전용 백업 인스턴스로 일부 기능이 돌아왔다. 읽기 전용 동안에는 지도 편집을 저장할 수 없었고, OAuth 서비스가 토큰을 저장하지 못해 OpenStreetMap.org 와 이 인증을 쓰는 다른 서비스에 로그인할 수 없었다. 복제가 끝나 있지 않았고 절차가 복잡하고 위험하다고 판단해, 더블린으로 완전히 페일오버하지는 못했다. 12월 16일 운영 팀은 Postgres 와 osmdbt 를 더블린으로 완전히 페일오버하는 비상 절차를 문서로 만들었지만, 암스테르담 연결이 돌아오기를 기다리기로 하고 페일오버를 미뤘다. 같은 날 Equinix 가 암스테르담과 더블린의 Equinix Internet 회선 설치를 앞당겨 주었고 두 곳에서 회선 시험을 했다.\n\n12월 17일 12:21 UTC 에 HE.net 을 거치지 않는 새 Equinix Internet 회선이 암스테르담에서 개통돼, OpenStreetMap.org 와 API 의 모든 기능이 돌아왔다. 편집이 돌아오기까지 약 56시간이 걸렸다. HE.net 은 12월 18일 00:29 UTC 에 암스테르담 서비스를 복구했다. 장애 시작부터 약 68시간 뒤였다."},"trigger":{"en":"HE.net's routing equipment in Amsterdam failed at 03:53 UTC on 15 December 2024.","ko":"2024년 12월 15일 03:53 UTC 에 HE.net 의 암스테르담 라우팅 장비가 예기치 않게 고장 났다."},"severity":"unknown","symptoms":["network-unreachable","service-unavailable"],"timeline":{"detected_after":"8m","resolved_after":"2d 8h 28m"},"date_kind":"incident","detection":{"en":"StatusCake monitoring detected the outage at 04:01 UTC and sent SMS alerts, and the incident was reported to the operations team at once.","ko":"04:01 UTC 에 StatusCake 모니터링이 장애를 잡아 SMS 알림을 보냈고, 곧바로 운영 팀에 알려졌다."},"components":["isp-network","database-replication"],"root_cause":"dependency-failure","remediation":[{"text":{"en":"Activated a read-only backup instance of OpenStreetMap.org in Dublin","ko":"11:31 UTC 에 더블린에 있는 OpenStreetMap.org 의 읽기 전용 백업 인스턴스를 켜 일부 기능을 되살렸다. 사이트에는 편집 내용을 저장할 수 없다는 점검 안내를 띄웠다."}},{"text":{"en":"Brought a new Equinix Internet link into service in Amsterdam, bypassing HE.net and restoring full functionality","ko":"12월 17일 12:21 UTC 에 HE.net 을 거치지 않는 새 Equinix Internet 회선을 암스테르담에서 개통해 OpenStreetMap.org 와 API 의 모든 기능을 되살렸다."}},{"text":{"en":"HE.net replaced its routing hardware and restored its service, and routing through HE.net resumed","ko":"12월 18일 00:29 UTC 에 HE.net 이 암스테르담 서비스가 복구됐다고 확인했고, HE.net 경로가 정상으로 돌아와 OpenStreetMap.org 의 모든 네트워크 경로를 다시 쓸 수 있게 됐다."}}],"action_items":[{"text":{"en":"Move to a multi-ISP architecture so another provider can take over when one fails","ko":"한 사업자가 고장 나도 다른 사업자로 거의 끊김 없이 넘어가도록 여러 ISP 를 쓰는 구성으로 옮긴다."}},{"text":{"en":"Research backup ISPs for the Amsterdam servers, including BGP and keeping HE.net as a fallback","ko":"암스테르담 서버의 예비 ISP 후보를 대역폭, 신뢰성, 비용으로 비교한다. 2025년 2월 Karlsruhe Hack Weekend 에서 BGP 를 쓰는 방안과 HE.net 을 예비 ISP 로 남기는 방안을 포함해 실제 선택지를 논의한다."}},{"text":{"en":"Add deeper route and latency monitoring and an automated escalation protocol","ko":"경로와 지연 시간을 더 깊이 모니터링해 ISP 문제를 빨리 잡고, 자동 에스컬레이션 절차를 만든다."}},{"text":{"en":"Hold failover drills for switching between ISPs and keep replication up to date","ko":"ISP 사이 트래픽 전환을 시험하는 페일오버 훈련 일정을 정하고, 복제 과정이 최신이며 믿을 만한지 확인해 사이트 페일오버를 부담 없이 쓸 수 있는 선택지로 만든다."}},{"text":{"en":"Agree SLAs with HE.net and Equinix Internet with defined escalation procedures and response times","ko":"HE.net, Equinix Internet 과 계약상 SLA 를 협의하고, 정해진 에스컬레이션 절차와 응답 시간을 계약에 넣는다."}},{"text":{"en":"Prepare the 4G out-of-band system as a manual fallback uplink that can sync Postgres replication data, and upgrade its hardware","ko":"대역 외 접속에 쓰는 Raspberry Pi 4 와 4G 모뎀을 ISP 장애 때 수동 예비 업링크로 쓸 수 있게 미리 설정한다. 이 회선으로 서버에 접속하고 Postgres 복제 데이터를 보조 사이트로 동기화한다. 대역 외 장비는 견고하고 이중화되도록 업그레이드한다."}},{"text":{"en":"Document outage communication procedures and delegate communication during outages","ko":"장애 소식을 알리는 일을 맡을 이해관계자와 각자의 책임, 권장 소통 채널을 정리한 문서를 만든다. 운영 팀은 소통을 다른 사람에게 맡기고 복구에 집중한다."}},{"text":{"en":"Investigate decoupling the OAuth service so authentication keeps working while the database is read-only","ko":"OpenStreetMap.org 의 \"rails-port\" 유지 관리자가 OAuth 서비스를 분리해, 사이트가 흔들릴 때도 제3자 서비스의 인증이 계속 동작하게 할 수 있는지, 그 방법이 현실적인지 조사한다."}}],"contributing":["single-point-of-failure","no-runbook"],"recurrence_of":null,"symptoms_text":{"en":"At 04:01 UTC on 15 December 2024, StatusCake monitoring sent SMS alerts that OpenStreetMap.org was unreachable. The website and the mapping API had gone completely offline at 03:53 UTC.\n\nBy 04:06 UTC the operations team had established that the problem lay with the external ISP, HE.net: both of OpenStreetMap's redundant, diverse fibre links to HE.net in Amsterdam were offline because HE.net's routing equipment there had failed. HE.net confirmed by email that there was no scheduled maintenance and said by telephone that the outage was in Amsterdam, with no estimated time to recover while it waited for Equinix remote hands. Repeated requests over the following days brought no estimate.\n\nAt 11:31 UTC a read-only backup instance hosted in Dublin brought the site back with limited functionality and a maintenance notice that edits could not be saved. Because the OAuth service has to write access tokens to the database, users could not log in to OpenStreetMap.org, community.openstreetmap.org, umap and other services while the site was read-only. The dev server, Taginfo and some aerial imagery services in Amsterdam stayed unavailable, and the tile rendering service and Nominatim geocoding ran at reduced capacity.\n\nA full failover to Dublin, covering Postgres and osmdbt, was documented on 16 December but postponed because replication was incomplete and the operation was complex and seen as risky. Map edits came back only at 12:21 UTC on 17 December, over a new Equinix Internet link in Amsterdam.","ko":"2024년 12월 15일 03:53 UTC 에 OpenStreetMap.org 에 접속할 수 없게 됐고, 04:01 UTC 에 StatusCake 모니터링이 장애를 잡아 SMS 알림을 보냈다. 웹사이트와 지도 API 가 완전히 내려갔다.\n\n04:03 UTC 에 운영 팀이 IRC 에서 OpenStreetMap 이 내려간 것을 확인했고, 04:06 UTC 에 한 엔지니어가 HE.net 쪽 외부 ISP 문제임을 확인했다. 서로 다른 경로로 HE.net 에 연결된 이중 광 회선 두 개가 모두 끊겨 있었다.\n\n운영 팀은 04:18 UTC 에 HE.net NOC 에 계획에 없던 점검이 있는지 이메일로 물었다. HE.net 은 04:24 UTC 에 예정된 점검은 없고 조사 중이라고 답했고, 04:43 UTC 통화에서는 장애 지점이 암스테르담이며 복구 예상 시각은 없고 Equinix 현장 지원 인력의 조사를 기다린다고 했다. 07:24 UTC 에 다시 물었을 때도, 그 뒤 주기적으로 물었을 때도 예상 시각은 나오지 않았다.\n\n11:31 UTC 에 더블린의 읽기 전용 백업으로 사이트를 되살린 뒤에는 사용자가 지도를 볼 수는 있었지만 편집은 저장할 수 없었다. OpenStreetMap 의 OAuth 서비스는 접근 토큰을 데이터베이스에 써야 하는데, 쓰기가 막혀 OAuth 가 실패했다. 그래서 사용자는 OpenStreetMap.org, community.openstreetmap.org, umap 같은 서비스에 로그인할 수 없었다.\n\n암스테르담에 있는 다른 서비스도 영향을 받았다. dev 서버, Taginfo, 일부 항공 사진 서비스가 멈췄고, 타일 렌더링 서비스와 Nominatim 지오코딩은 줄어든 용량으로 돌았다."},"updated_at":"2026-11-14T12:34:16.920797Z","url":"https://benchlet.com/incidentlib/app/cases/IL-0526","org_slug":"openstreetmap-foundation"}