색인 생성 시 발생하는 문제: 색인 생성 문제에서 Google 검색을 복구한 방법과 그 과정에서 얻은 교훈

2019년 8월 12일 월요일

대부분의 경우 검색엔진은 적절한 방식으로 작동합니다. Google팀은 웹을 검색하는 사용자 또는 Google에서 색인을 생성하고 사용자에게 제공하는 사이트의 웹마스터에게 영향을 줄 수 있는 기술적인 문제를 방지하기 위해 최선을 다하고 있습니다. 마찬가지로 Google에서 검색엔진을 구동하는 데 사용하는 기본 시스템도 대부분 정상적으로 실행됩니다. 사소한 중단이 발생하는 경우에도 해당 제품이 정상적으로 작동하도록 돕는 Google팀을 제외한 누구도 대체로 이를 알 수 없습니다. 하지만 다른 모든 복잡한 시스템과 마찬가지로 대규모 서비스 중단이 발생할 때도 있으며, 이로 인해 사용자와 웹사이트 크리에이터 모두 서비스를 사용하는 데 곤란을 겪을 수 있습니다.

지난 몇 달 동안 Google 색인 생성 시스템에 이러한 상황이 발생했으며 이로 인해 Google 인프라의 다른 부분에도 차례로 영향을 미쳤습니다. Google은 가능한 한 신속하게 상황을 해결하기 위해 노력했습니다. 하지만 불편을 끼쳐드린 데 대해 사과드립니다. 사용자 및 웹 생태계에 우수한 품질의 제품을 지속적으로 제공하는 것이 Google의 목표이기 때문입니다.

이후 상황을 더 자세하고 신중하게 살펴보았습니다. 그 과정에서 몇 가지 중요한 내용을 확인할 수 있었고, 오늘 알려드리고자 합니다. 이 블로그 게시물에서는 이번에 발생한 문제에 관해 자세히 설명하고, 향후 이런 일이 발생할 경우 더 효과적으로 커뮤니케이션하기 위해 어떤 계획을 세우고 있는지 분명히 알리고, 웹사이트 소유자 여러분께 Google과 커뮤니케이션할 때 어떠한 채널이 있는지 상기시켜 드리려합니다.

그렇다면 몇 개월 전에 어떤 일이 있었을까요?

4월에 Google 색인과 관련된 문제가 몇 가지 있었습니다. 검색 색인은 Google이 웹에서 크롤링한 수천억 개의 웹페이지를 포함하고 있으며 일부 사용자 검색어에 답할 수 있다고 여기는 데이터베이스입니다. 사용자가 Google 검색엔진에 검색어를 입력하면 Google 순위 알고리즘은 Google 검색 색인에 있는 페이지를 정렬하여 순식간에 유용하고도 관련성이 높은 결과를 찾습니다. 몇 개월 전 발생한 상황을 자세히 살펴보면 다음과 다음과 같습니다.

1. 색인 생성 문제

그럼 이야기를 시작해 볼까요. Google에서 검색 색인 중 일부를 일시적으로 잃어버렸습니다.

잠시만, 뭐라고요? '색인 중 일부를 잃어버렸다'는 게 무슨 의미죠? 그게 가능하기나 한가요?

기본적으로, 사용자에게 검색결과를 제공할 때 서비스 속도를 높이기 위해 사용자의 검색어는 Google 검색 제품을 지원하는 데이터 센터 중 가장 가까운 곳까지만 '이동'하며, 이 데이터 센터에서 검색결과 페이지(SERP)가 생성됩니다. 따라서 색인 구성이 수정되면(일부 페이지 추가 또는 삭제, 문서 병합, 기타 유형의 데이터 수정) 수정 내용이 모든 데이터 센터에 반영되어야 합니다. 그래야만 최신 버전의 색인을 통해 전 세계 사용자에게 지속적으로 페이지를 제공할 수 있습니다.

Google은 전 세계 곳곳에 위의 사진에서 볼 수 있는 것과 같은 데이터 센터를 소유 및 운영하고 있으며, 이는 Google 제품을 24시간 연중무휴로 가동하기 위함입니다.
Google은 전 세계 곳곳에 위의 사진에서 볼 수 있는 것과 같은 데이터 센터를 소유 및 운영하고 있으며, 이는 Google 제품을 24시간 연중무휴로 가동하기 위함입니다. 출처

모든 데이터 센터의 색인을 통합된 상태로 유지하는 일은 간단하지 않습니다. 대규모의 사용자층을 대상으로 하는 서비스의 경우 하나의 데이터 센터에 업데이트를 배포하는 것부터 시작하여 모든 관련 데이터 센터가 업데이트될 때까지 확대해 나갈 수 있습니다. 민감한 인프라라면 며칠에 걸쳐 출시를 확대하면서 여러 지역의 인스턴스에 인터리브 처리할 수도 있습니다. 출처

Google에서 계획한 변경사항을 검색 색인에 적용해 나가고 있을 때, 4월 5일에 배포 시스템 중 일부가 망가진 것입니다. 그것도 금요일에 말이죠! 좀 더 구체적으로 말하면 일부 데이터 센터에서 색인을 업데이트할 때 소수의 문서가 실수로 색인에서 누락되었습니다. 그 결과 '색인 중 일부를 잃어버린 것'입니다.

다행히도 당직 엔지니어분들이 문제를 상당히 빠르게 파악해 주셨고, 이와 동시에 Google에서도 소셜 미디어에 올라오는 글들을 주시하기 시작했습니다. 주말 동안 Google에 이 소식을 전해 주신 모든 분들께 감사드립니다. 그 결과 문제가 발견된 지 고작 몇 시간만에 모든 데이터 센터에서 검색 색인을 이전의 안정된 상태로 되돌릴 수 있었습니다. Google에서는 이러한 상황에 대비하여 Google 색인의 백업을 보관하고 있습니다.

Google은 4월 7일 일요일에 Google은 이 문제를 인지하고 있었으며 다시 정상적인 상황으로 돌아오기 시작했다고 알렸습니다. 데이터 센터가 안정적인 색인으로 점차 돌아감에 따라 Twitter를 통해 꾸준히 소식을 전했고4월 8일, 4월 9일) 이러한 노력은 4월 11일, 모든 데이터 센터가 완전한 버전의 색인으로 돌아갔다는 확신이 들 때까지 계속되었습니다.

2. Search Console 문제

Search Console은 웹마스터가 웹사이트가 Google 검색에서 거둔 실적 데이터에 액세스하는 데 사용할 수 있는 도구 및 보고서 모음입니다. 예를 들어 Search Console은 웹사이트의 자연 검색결과 일일 노출수와 클릭수 또는 웹사이트의 어떤 페이지가 검색 색인에 포함되는지 및 제외되는지 여부를 보여줍니다.

검색 색인에 위에 설명한 문제가 발생하면서 Search Console에 불일치 항목이 표시되기 시작했습니다. Search Console에 표시되는 일부 데이터는 Search 색인 자체에서 발생하기 때문입니다.

  • 색인 생성 범위 보고서는 검색 색인이 모든 데이터 센터에서 일관성을 갖는지 여부에 따라 달라집니다.
  • Google이 페이지를 검색 색인에 저장할 때, 해당 항목에 주석을 달아 페이지에 리치 결과 마크업이 포함되어 있다는 사실 등의 페이지에 관한 주요 신호를 추가할 수 있습니다. 따라서 검색 색인에 문제가 발생하면 Search Console의 리치 결과 보고서에도 영향을 미칠 수 있습니다.

기본적으로 여러 Search Console 보고서는 모두 보고서별 전용 데이터베이스에서 데이터를 읽어오는데, 이 데이터베이스가 만들어질 때 검색 색인에서 가져온 정보도 사용됩니다. 검색 색인을 이전 버전으로 되돌려야 했으므로 Search Console 데이터베이스 업데이트도 일시중지하지 않을 수 없었습니다. 그 결과 일부 보고서에서 데이터 평탄화(URL 검사 도구와 같은 다른 도구에서는 결함도 발생)가 발생했습니다.

색인이 생성된 페이지의 색인 생성 범위 보고서입니다. 2019년 4월에 Search Console에서 발생한 데이터 업데이트 빈도 문제를 보여줍니다. 2번의 업데이트 사이의 기간이 일반적으로 관찰되는 기간보다 깁니다.
색인이 생성된 페이지의 색인 생성 범위 보고서입니다. 2019년 4월에 Search Console에서 발생한 데이터 업데이트 빈도 문제를 보여줍니다. 2번의 업데이트 사이의 기간이 일반적으로 관찰되는 기간보다 깁니다.

전체 검색 색인 문제를 롤백하는 데 며칠이 걸렸기 때문에(위 설명 참고) 색인 생성 문제가 수정되고 며칠 후에야 겨우 Search Console 데이터베이스를 수정하는 데 집중할 수 있었습니다. Google은 4월 15일(트윗)에 Search Console에 문제가 발생했고 해결하기 위해 노력하고 있다는 내용을 전달했으며, 4월 28일에 해결을 완료했습니다. 4월 28일은 보고서에서 신규 데이터 수집을 재개한 날이기도 합니다. 위 그래프를 참고하세요. 4월 30일에 Twitter로 문제가 해결되었음을 알렸습니다(트윗).

3. 주된 색인 생성 버그와 관련 없는 기타 문제

Google 검색은 서로 함께 작동하는 여러 시스템을 사용합니다. 이러한 시스템 중 일부는 서로 긴밀하게 연결되어 있을 수 있지만 시스템의 여러 부분에서 거의 동시에 서로 관련 없는 문제가 발생할 때도 있습니다.

예를 들어 현재 사례에서는 위에서 설명한 주된 색인 생성 버그와 거의 동시에 새로운 Google 뉴스 콘텐츠를 수집하는 데 잠깐 문제가 발생했습니다. 또한 페이지를 렌더링하는 동안 일부 URL이 Googlebot을 관련 없는 다른 페이지로 리디렉션하기 시작했습니다. 이러한 문제는 색인 생성 버그와 전혀 관련이 없었으며, 신속하게 해결되었습니다(트윗 1트윗 2).

커뮤니케이션 및 개선을 위한 노력

지난 몇 주 동안 소셜 미디어에서 알려드린 것 외에도(위에서 하이라이트된 부분) Google은 Search Console과 Search Console 고객센터라는 2개의 다른 채널에서 웹마스터에게 추가적인 정보를 제공했습니다.

Search Console 고객센터

Google은 문제가 완전히 판별된 후 'Search Console의 데이터 이상' 도움말 페이지를 업데이트했습니다. 이 페이지는 Search Console 서비스에 발생한 데이터 중단이 많은 웹사이트 소유자에게 영향을 미치는 경우 이에 관한 정보를 전달하는 데 사용됩니다.

Search Console

소셜 미디어나 외부 고객센터 페이지를 읽지 않는 사용자도 있으므로 Search Console 보고서에 주석을 추가하여 사용자에게 데이터가 정확하지 않을 수 있음을 알렸습니다(아래 이미지 참고). 이 정보는 버그를 해결한 후 추가되었습니다. 사용자가 '세부정보는 여기에서 확인'을 클릭하면 고객센터의 '데이터 이상' 페이지로 이동합니다.

색인이 생성된 페이지의 색인 생성 범위 보고서입니다. 특정 문제를 사용자에게 알리기 위해 포함할 수 있는 데이터 주석의 예를 보여줍니다.
색인이 생성된 페이지의 색인 생성 범위 보고서입니다. 특정 문제를 사용자에게 알리기 위해 포함할 수 있는 데이터 주석의 예를 보여줍니다.

향후 커뮤니케이션

Google에는 문제가 발생한 경우 이를 철저히 분석하는 '사후 분석' 문화가 있습니다. 즉, 문제로 인해 발생한 피해를 설명하는 문서를 만들고 재발하지 않도록 노력하는 것입니다. 전체 프로세스는 Google 사이트 안정성 엔지니어링 웹사이트에 더욱 자세하게 설명되어 있습니다.

4월에 색인 생성 문제가 터진 후, Google에서는 대규모 시스템 오류가 발생했을 때 웹마스터와 보다 효율적으로 커뮤니케이션하는 방법을 사후 분석에 포함시켰습니다. Google에서 내린 주요 결정은 다음과 같습니다.

  1. 광범위한 영향을 미치는 버그에 관한 정보를 Search Console 내에서 보다 신속하게 공유하는 방법을 살펴보고, 이러한 버그로 인해 서비스 중단이 야기되었다고 의심되는 경우 웹마스터가 주로 이 정보를 통해 문제 상황에 관해 알아볼 수 있도록 합니다.
  2. 이 문제가 Search Console 데이터에서 장기적으로 관측될 가능성이 높다면 Search Console 데이터 이상 페이지에 더욱 신속하게 관련 글을 게시합니다.
  3. 문제에 관해 가능한 한 신속하게 트윗을 게시하여 Google이 문제를 인지하고 있으며 Google측의 문제임을 알려 웹마스터를 안심시킵니다.

이러한 약속을 통해 앞으로 유사한 상황이 발생하더라도 웹마스터에게 전반적인 문제에 관해 더욱 투명하게 알릴 수 있을 것입니다.

결심을 실천으로 옮기기: '새 URL의 색인이 생성되지 않음' 사례 연구

5월 22일에 또 다른 문제가 발생함에 따라 새롭게 수립한 커뮤니케이션 전략을 테스트할 수 있었습니다. 상황은 다음과 같습니다. 예정되어 있었던 인프라 업그레이드가 완료된 후 특정 URL을 처리할 때 중복 관리 시스템의 메모리가 부족해져 모든 수신 URL 처리가 중단되었습니다.

다음은 방금 언급된 3가지 포인트에 따라 Google이 커뮤니케이션에 관해 어떠한 생각을 갖고 있었는지 보여주는 타임라인입니다.

  1. 5월 22일 오전 5시 30분경(캘리포니아 시간 기준) 문제가 발견되었습니다.
    5월 22일 오전 6시 40분(캘리포니아 시간 기준) 이 문제에 관한 트윗을 게시했습니다.
    5월 22일 오후 10시경(캘리포니아 시간 기준) 문제가 해결되었다는 트윗을 게시했습니다.
  2. 고객센터의 '데이터 이상' 페이지를 업데이트하는 방안에 관해 평가했지만, 장기적으로는 대부분의 웹마스터의 Search Console 데이터에 영향을 미치지 않을 것으로 예상되어 업데이트하지 않기로 결정했습니다.
  3. 이 문제로 인해 많은 사용자가 혼란스러워 하는 상황을 보면서 Google에서는 Google 시스템 중 하나에 웹마스터에게 영향을 줄 수 있는 문제가 발생할 수 있다는 사실을 Search Console에서 분명히 전달할 수 있는 방법을 찾아야겠다는 이전의 판단이 옳았음을 한 번 더 확인했습니다. 이러한 방법은 구현하는 데 시간이 오래 걸릴 수 있습니다. 향후 이 주제에 관해 전달해 드릴만한 소식이 많아지면 자세한 정보를 알려 드리겠습니다.

지난주에 또 다른 색인 생성 문제도 발생했습니다. 5월 22일과 마찬가지로 Google에서는 트윗을 통해 사용자에게 문제가 발생했으며 해결을 위해 노력하고 있다고 알렸으며, 문제가 해결되었을 때도 트윗을 올렸습니다.

Google과 함께 문제를 해결하고 커뮤니케이션하는 방법

이 게시물을 통해 Google 시스템은 매우 복잡하며 때로 문제를 일으킬 수 있다는 점을 명확하게 이해하셨기를 바랍니다. 또한 Google에서 이러한 문제를 어떻게 알리는지에 관해서도 확인하셨길 바랍니다. 다만 이 게시물은 Google 시스템의 광범위한 중단에 초점을 맞추고 있으나, 대부분의 웹사이트 색인 생성 문제는 개별 웹사이트 구성으로 인해 발생합니다. 구성이 잘못되면 Google 검색에서 해당 웹사이트의 색인을 올바르게 생성하기 어려울 수 있습니다. 이러한 문제가 발생했다면 Search Console고객센터를 사용하여 문제를 디버그할 수 있습니다. 디버깅을 해 본 후 사이트에서 비롯된 문제가 아니라고 생각되거나 해결 방법을 알 수 없는 경우 Google에 의견을 보내주세요. Google은 언제나 사용자의 의견을 기다립니다. Google에 문제를 알리는 방법은 다음과 같습니다.

  • 웹마스터 커뮤니티를 확인합니다. 다른 웹마스터들이 강조한 문제가 내 사이트에도 영향을 미치는 경우가 있습니다.
  • 직접 만나서 문제를 알립니다. Google은 웹마스터 여러분과 직접 만나는 자리를 좋아합니다. Google 이벤트에서 직접 만나 소통할 수 있습니다.
  • Google 제품 내에서 문제를 알립니다. Search Console 의견 도구를 통해 제공되는 의견은 저희 팀에 매우 유용합니다.
  • TwitterYouTube