{"id":"IL-0491","org":"Squarespace","date":"2019-02-12","docs":[],"title":{"en":"Squarespace's CDN origin fleet fell below its healthy node threshold, and images, scripts and stylesheets failed to load","ko":"CDN 원본 서버군의 정상 노드가 안전 수준 아래로 줄어 Squarespace 일부 사이트가 이미지, 스크립트, 스타일시트를 불러오지 못했다"},"domain":["networking"],"impact":{"scope":"Images, scripts and style sheets on static.squarespace.com and static1.squarespace.com did not load for some Squarespace sites whose assets were not in the CDN providers' cache","users":"some Squarespace sites and their visitors","region":"unknown"},"review":{"written_by":"session","reviewed_at":null,"reviewed_by":null},"lessons":null,"related":[],"sources":[{"url":"https://status.squarespace.com/incidents/pbn8bwh6w8wk","kind":"official-status","archived":null}],"summary":{"en":"Squarespace serves site media, scripts and stylesheets through global CDN providers in front of its own CDN origin fleet. A maintenance operation that an engineer started across the whole origin fleet at 10:30 PM ET on February 11 continued in the background after the engineer thought it had stopped, and at 12:10 AM it caused an outage of the CDN origin service. Assets that the CDN providers had cached were still served, but other requests to static.squarespace.com and static1.squarespace.com failed.\n\nThe on-call engineer was alerted only when the fleet fell below its critical availability threshold, and the customer impact was underestimated until about 1:22 AM, when restarts had failed and the issue was escalated. An Incident Commander took over communication at 1:30 AM. Further remediation steps restored partial service by 2:15 AM and normal behaviour at 2:20 AM, and the incident was declared resolved at 3:03 AM after a period of healthy operation. The cause was found in an incident investigation the next morning.","ko":"2019-02-11 오후 10시 30분 ET에 한 엔지니어가 Squarespace CDN 원본 서버군 전체에 유지보수 작업을 시작했다. 엔지니어는 작업을 멈췄다고 생각했지만 작업은 백그라운드에서 계속 돌았고, 2019-02-12 오전 12시 10분에 서버군의 정상 노드 수가 안전한 수준 아래로 떨어졌다. static.squarespace.com과 static1.squarespace.com이 영향을 받아 일부 사이트가 이미지, 스크립트, 스타일시트를 불러오지 못했다. 전 세계 CDN 사업자가 캐시해 둔 파일로 요청을 처리한 사이트는 영향을 받지 않았다.\n\n당번 엔지니어가 알림을 받고 바로 대응했지만, 팀이 처음에 영향을 작게 봐서 인시던트 커맨더를 늦게 불렀다. 1시 22분까지 서비스 재시작이 소용없었고, 1시 30분에 인시던트 커맨더가 호출돼 상태 페이지에 글을 올렸다. 2시 15분에 추가 복구 조치로 서버군 일부가 돌아왔고, 2시 20분에 CDN 원본이 복구돼 CDN 트래픽이 정상으로 돌아왔다. 3시 3분에 장애를 종료했고, 다음 날 아침 조사로 백그라운드에서 계속 돈 유지보수 작업이 원인임을 찾았다."},"trigger":{"en":"At 10:30 PM ET on February 11, an engineer started a maintenance operation across the CDN origin fleet. The operation kept running in the background after the engineer believed it had been terminated.","ko":"2019-02-11 오후 10시 30분 ET에 한 엔지니어가 Squarespace CDN 원본 서버군 전체에 유지보수 작업을 시작했다. 엔지니어는 작업을 멈췄다고 생각했지만 작업은 백그라운드에서 계속 돌았고, 2019-02-12 오전 12시 10분에 CDN 원본 서비스 장애를 일으켰다."},"severity":"unknown","symptoms":["high-error-rate"],"timeline":{"detected_after":"0m","resolved_after":"2h 10m"},"date_kind":"incident","detection":{"en":"The monitoring system alerted the CDN origin fleet's on-call engineer at 12:10 AM ET when the fleet fell below a safe number of healthy nodes.","ko":"2019-02-12 오전 12시 10분 ET에 모니터링 시스템이 CDN 원본 서버군의 정상 노드 수가 안전한 수준 아래로 떨어졌다고 당번 엔지니어에게 알렸다. 알림은 서버군이 핵심 가용성 기준 아래로 떨어진 뒤에야 왔고, 고객 영향이 크다는 것은 나중에야 분명해졌다."},"components":["cdn"],"root_cause":"human-operation","remediation":[{"text":{"en":"Restored the CDN origin fleet, partially by 2:15 AM ET and to normal behaviour at 2:20 AM ET","ko":"오전 2시 15분 ET까지 추가 복구 조치로 CDN 원본 서버군 일부를 되살렸고, 2시 20분에 서비스가 정상으로 돌아왔다."}}],"action_items":[{"text":{"en":"Revise the incident-response playbooks with checks and actions for this fleet, starting with an assessment of customer impact and the immediate involvement of an Incident Commander","ko":"장애 대응 플레이북을 고쳐 이 서버군에 영향을 주는 문제 대부분을 빨리 해결할 점검과 조치를 넣는다. 첫 점검에서 고객 영향을 판단하고 인시던트 커맨더를 바로 부르게 한다."}},{"text":{"en":"Improve external monitoring to assess customer impact of issues with the CDN partners and origin services more quickly","ko":"CDN 협력사와 원본 서비스의 문제가 고객에게 주는 영향을 더 빨리 판단할 수 있도록 외부 모니터링을 개선한다."}},{"text":{"en":"Revise operational policies and add safeguards for issuing maintenance commands, including limiting the share of the fleet a command can operate on","ko":"엔지니어가 유지보수 명령을 내리는 방식의 운영 정책을 고치고 안전장치를 더한다. 그런 명령이 작업할 수 있는 서버군의 범위를 제한한다."}},{"text":{"en":"Reduce the need for direct manual maintenance operations","ko":"사람이 직접 하는 유지보수 작업이 필요한 경우를 줄인다."}},{"text":{"en":"Create independent failure domains and route requests automatically around unhealthy parts of the system","ko":"독립된 장애 도메인을 만들고, 상태가 나쁜 부분을 피해 요청을 자동으로 보내도록 해 인프라의 복원력을 높인다."}}],"contributing":["blast-radius-too-wide","monitoring-blind-spot"],"recurrence_of":null,"symptoms_text":{"en":"At 12:10 AM ET on Tuesday, February 12, 2019, Squarespace's monitoring alerted the on-call engineer for the CDN origin fleet that the fleet had fallen below a safe number of healthy nodes. Requests to static.squarespace.com and static1.squarespace.com failed, so images, scripts and style sheets did not load for some sites, and the status page later reported elevated error rates serving media and stylesheets.\n\nMany sites were not affected, because Squarespace's global CDN providers kept serving cached assets. The team first misjudged how much customers were affected and did not bring in an Incident Commander. Basic restarts of the affected service did not help, and only by 1:22 AM, after escalation to more team members, did the severity become clear; an Incident Commander was paged at 1:30 AM and posted on the status page.","ko":"2019-02-12 오전 12시 10분 ET에 모니터링 시스템이 CDN 원본 서버군의 정상 노드 수가 안전한 수준 아래로 떨어졌다고 당번 엔지니어에게 알렸다. static.squarespace.com과 static1.squarespace.com 도메인이 영향을 받아 일부 사이트가 이미지, 스크립트, 스타일시트를 불러오지 못했다.\n\n전 세계 CDN 사업자들이 캐시해 둔 파일로 요청을 계속 처리해 많은 사이트는 영향을 받지 않았다. 상태 페이지는 오전 1시 38분 ET에 사이트의 미디어와 스타일시트 제공에 부분 장애가 있어 조사 중이라고 알렸고, 2시 24분에는 미디어와 스타일시트 제공의 오류율이 높아진 원인을 찾았다고 알렸다.\n\n당번 엔지니어는 바로 대응했지만 팀은 처음에 영향을 작게 봤다. 1시 22분까지 다른 팀원을 불러 영향을 받은 서비스를 재시작해 봤지만 소용없었고, 이때 심각성이 드러났다. 장애 때 조정과 소통을 맡는 인시던트 커맨더는 1시 30분에야 호출됐고, 호출된 뒤 상태 페이지에 글을 올렸다.\n\n2시 15분에 추가 복구 조치로 CDN 원본 서버군 일부가 돌아왔고, 2시 20분에 서비스가 정상으로 돌아왔다. 팀은 계속 지켜보다가 3시 3분에 서버군이 완전히 돌아오고 모니터링이 오래 정상임을 보이자 장애를 종료했다."},"updated_at":"2026-11-14T12:34:13.632202Z","url":"https://benchlet.com/incidentlib/app/cases/IL-0491","org_slug":"squarespace"}