インデックス登録の問題: Google 検索におけるインデックス登録の問題の解決およびそこから得られた教訓

2019 年 8 月 12 日(月曜日)

ほとんどの場合、Google の検索エンジンは適切に動作します。Google のチームは、ウェブを検索しているユーザーや、Google にインデックス登録されてユーザーに提供されているサイトのウェブマスターに影響を及ぼす技術的な問題を防ぐために尽力しています。同様に、検索エンジンの基盤となるシステムも、意図したとおりに動作することがほとんどです。わずかな障害が発生しても、Google サービスが稼働していることをチェックする Google チーム以外にはほとんどわかりません。ただし、すべての複雑なシステムと同様に、大規模な障害が発生することがあり、ユーザーとウェブサイト作成者の双方に影響する可能性があります。

過去数か月間に、そのような状況がインデックス登録システムで発生し、インフラストラクチャの他の部分にも波及したことがありました。Google はできる限り迅速に状況の解決に取り組みましたが、ユーザーとウェブ エコシステムに高品質のサービスを継続的に提供するという目標に反し、このような障害が発生したことを心よりお詫び申し上げます。

その後、Google は状況を綿密に調査しました。その過程で得られたいくつかの教訓をここで皆様と共有したいと思います。このブログ投稿では、発生した問題について詳細に説明し、今後同様の問題が発生した場合に備えたコミュニケーションの改善方法を明確にします。また、問い合わせ用のチャネルについてウェブサイトの所有者の方々に改めてお伝えします。

数か月前に発生した問題

4 月、インデックスに関する問題がいくつか発生しました。Google の検索インデックスは、ウェブ上でクロールした数千億のウェブページを保持するデータベースであり、ユーザーのクエリの一部に答えることができると Google では考えています。ユーザーが Google 検索エンジンでクエリを入力すると、ランキング アルゴリズムが検索インデックスに登録されているページを分類し、有益で最も関連性の高い検索結果を瞬時に見つけます。以下では、何が起こったのかを詳しく説明します。

1. インデックス登録の問題

まず、検索インデックスの一部を一時的に失いました。

ちょっと待った。何だって?「インデックスの一部を失った」とはどういうこと?あり得ない、という声が聞こえてきそうです。

基本的に、検索結果をユーザーに提供する場合、サービス速度を向上させるために、ユーザーのクエリは Google 検索サービスをサポートする最も近接したデータセンターに「移動」するだけです。ここで Search Engine Results Page(SERP)が生成されます。したがって、インデックスの構成に変更(一部のページの追加と削除、ドキュメントのマージ、またはその他の種類のデータ変更)が加えられた場合は、該当するすべてのデータセンターに変更を反映する必要があります。その結果、世界中のユーザーに対し、最新バージョンのインデックスから一貫してページが提供されます。

Google は、上の写真のようなデータセンターを世界中で所有して運営しており、24 時間年中無休でサービスを稼働させています
Google は、上の写真のようなデータセンターを世界中で所有して運営しており、24 時間年中無休でサービスを稼働させています(出典

こうしたデータセンターのすべてでインデックスを統一することは簡単な作業ではありません。大規模なユーザー向けサービスの場合、まず 1 つのデータセンターで更新をデプロイし、関連するすべてのデータセンターが更新されるまで拡大していくことがあります。慎重に扱うべきインフラストラクチャについては、数日間にわたってロールアウトを実施し、異なるリージョンのインスタンスにインターリーブすることがあります(出典)

予定していた検索インデックスに対する変更を進めている最中の 4 月 5 日(金曜日)にデプロイ システムの一部が破損しました。具体的には、一部のデータセンターでインデックスを更新しているときに、少数のドキュメントが誤ってインデックスから削除されてしまいました。そういうわけで、「インデックスの一部を失った」のでした。

幸いにも、Google のオンコール エンジニアが問題を即座に察知しました。これは、私たちがソーシャル メディア上で問題を認識し始めたのと同時でした(週末に Google に連絡してくれた皆様のおかげです)。その結果、問題が察知されてからわずか数時間で、すべてのデータセンターの検索インデックスを以前の安定した状態に戻し始めることができました(Google では、このような事態に備えてインデックスのバックアップを保持しています)。

Google は 4 月 7 日(日曜日)に、この問題を認識しており、正常な状態に戻りつつあることを報告しました。データセンターのインデックスが徐々に安定した状態に戻りつつある中、Google は Twitter で更新情報を発信し続けました(4 月 8 日4 月 9 日)。これは、4 月 11 日にすべてのデータセンターのインデックスが完全に元通りになったと確信できるまで続きました。

2. Search Console の問題

Search Console は、ウェブマスターが Google 検索におけるウェブサイトのパフォーマンスに関するデータにアクセスする際に使用できる一連のツールとレポートです。たとえば、毎日のオーガニック検索結果によるインプレッション数やクリック数、または検索インデックスに登録されているページ、未登録のページに関する情報を確認できます。

検索インデックスに上記の問題が発生した結果、Search Console でも不整合が見られるようになりました。これは、Search Console で表示されるデータの一部が検索インデックス自体から抽出されているためです。

  • インデックス カバレッジ レポートは、データセンター間で整合性が取れた検索インデックスに依存します。
  • 検索インデックスにページを格納するとき、ページにリッチリザルトのマークアップが含まれている場合などは、Google はページに関する重要なシグナルでエントリにアノテーションを付けることができます。そのため、検索インデックスの問題は、Search Console のリッチリザルト レポートに影響を及ぼす可能性があります。

基本的に、Search Console の個別レポートの多くは、専用データベースからデータを抽出しています。このデータベースの一部は、検索インデックスから取得した情報を使用して構築されています。以前のバージョンの検索インデックスに戻す必要があったため、Search Console データベースの更新も一時停止する必要がありました。これにより、一部のレポートのデータが横ばい状態になりました(URL 検査ツールなどの他のレポートでは不安定さが見られました)。

2019 年 4 月の Search Console のデータの更新頻度に関する問題を示す、インデックス登録ページのインデックス カバレッジ レポート。2 回の更新の間隔が通常の場合よりも長くなっている。
2019 年 4 月の Search Console のデータの更新頻度に関する問題を示す、インデックス登録ページのインデックス カバレッジ レポート。2 回の更新の間隔が通常の場合よりも長くなっている。

問題が発生した検索インデックス全体のロールバックに数日かかったため(上記の説明を参照)、インデックス登録の問題が修正された数日後まで Search Console データベースの修正に取り掛かることができませんでした。Google は、Search Console に問題があり、修正に取り組んでいることを 4 月 15 日にツイートで発表しました。修正が完了したのは 4 月 28 日(レポートで新しいデータの収集が再開された日。上のグラフを参照)でした。4 月 30 日に、問題が解決したことを Twitter でお知らせしました(ツイート)。

3. インデックス登録の主な問題とは無関係のその他の問題

Google 検索は、連携する多くのシステムに依存しています。システムの一部は緊密に相互リンクされていますが、その他の部分で、同時期に関係のない問題が発生することがあります。

たとえば今回のケースでは、上記で説明したインデックス登録の問題とほぼ同時期に、新しい Google ニュースのコンテンツ収集に関する問題が短時間発生しました。さらに、ページのレンダリング中に、特定の URL が Googlebot を他の無関係なページにリダイレクトし始めました。これらの問題はインデックス登録のバグとはまったく関係がなく、すぐに解決されました(ツイート 1ツイート 2)。

Google のコミュニケーションとその改善方法

上記のようなソーシャル メディアを使用した報告に加え、2 つの別チャネル(Search Console と Search Console ヘルプセンター)でウェブマスターに詳細を説明しました。

Search Console ヘルプセンター

Google は、問題を完全に特定した後、Search Console のデータ異常に関するヘルプページを更新しました。このページは、多数のウェブサイトの所有者に影響が及ぶ場合に、データ破損に関する情報を Search Console サービスに伝えるために使用されます。

Search Console

すべてのユーザーがソーシャル メディアや外部のヘルプセンター ページを読むわけではないので、Search Console レポートにアノテーションを追加して、データが正確でない可能性があることをユーザーに通知しました(下の画像を参照)。この情報は、問題が解決した後に追加したものです。[詳細を見る] をクリックすると、ヘルプセンターのデータ異常ページに移動します。

インデックス登録ページのインデックス カバレッジ レポートで、特定の問題をユーザーに通知するために含めることができるデータ アノテーションの例。
インデックス登録ページのインデックス カバレッジ レポートで、特定の問題をユーザーに通知するために含めることができるデータ アノテーションの例。

今後のコミュニケーションについて

問題が発生した場合、Google には充実した「事後分析」の文化があります。障害に関して報告するドキュメントを作成し、同じ問題が今後発生しないよう努めます。プロセス全体について詳しくは、Google サイト信頼性エンジニアリングのウェブサイトをご覧ください。

4 月のインデックス登録の問題をきっかけとして、大規模なシステム障害が発生した場合にいかにしてより適切にウェブマスターに伝えるかを事後分析の項目に含めました。主な決定事項は次のとおりです。

  1. Search Console 内で広範な問題に関する情報を迅速に共有する方法を探り、機能停止が疑われる場合にウェブマスターが確認すべき主な参照ポイントとして役立つ情報を提供します。
  2. 必要に応じて、より迅速に Search Console のデータ異常ページに投稿します(Search Console データに長期間にわたって障害が見られる場合)。
  3. このような問題の発生時に、Google が問題を認識しており、その解決が近いことを速やかに知らせてウェブマスターの方々に安心していただけるよう、可能な限り速やかに Twitter で発信を続けます。

上記のコミットメントは、今後起こり得る同様の状況に備えて、ウェブマスターに対し全体的な透明性を確保するためのものです。

Google の解決策を実践: 「新しい URL がインデックスに登録されない」ことに関するケーススタディ

5 月 22 日に別の問題が発生したため、コミュニケーションの新戦略をテストしました。発生した問題は、特定の URL の処理中、予定されていたインフラストラクチャ アップグレードの後に重複管理システムのメモリが不足し、すべての受信 URL の処理が停止したというものです。

上記の 3 つのポイントに加えて、コミュニケーションについて考慮した結果を時系列で示します。

  1. Google が問題を認識(カリフォルニア州時間の 5 月 22 日午前 5 時 30 分頃)
    現在発生している問題についてツイート(カリフォルニア州時間の 5 月 22 日午前 6 時 40 分頃)
    解決についてツイート(カリフォルニア州時間の 5 月 22 日午後 10 時頃)
  2. ヘルプセンターのデータ異常ページを更新することを検討しましたが、大部分のウェブマスターの Search Console データに長期的な影響はないと判断し、更新を見送ることにしました。
  3. この問題により多数のお客様にご迷惑をかけたことで、「いずれかの Google システムに問題が発生し、ウェブマスターに影響を及ぼす可能性がある」ことを Search Console 上で明確に知らせる手段が必要という以前の結論が裏付けられることになりました。こうしたソリューションの実装には時間がかかる場合があります。このトピックは今後も引き続き取り上げていく予定です。

先週、別のインデックス登録の問題が発生しました。5 月 22 日と同様に、問題が発生したこと、解決に取り組んでいること、問題が解決されたことをその都度ツイートでお知らせしました。

デバッグ方法とお問い合わせについて

この投稿により、Google のシステムの複雑さと、システム障害が発生する可能性についておわかりいただけたことと思います。また、問題が発生したときに Google がどのようにお知らせするかをご理解いただく一助となれば幸いです。なお、この投稿ではシステムの広範囲にわたる障害に焦点を当てていますが、ほとんどのウェブサイトにおけるインデックス登録の問題は個々のウェブサイトの構成に原因があります。構成によっては、Google 検索が対象のウェブサイトのインデックスを適切に登録できない場合があることにご留意ください。そのような場合、ウェブマスターの皆様は Search Consoleヘルプセンターを使用して、問題をデバッグできます。デバッグした結果、自身のサイトの問題ではないと思われる場合、または解決方法がわからない場合は、Google または Google コミュニティにお問い合わせください。Google はユーザーの皆様からのフィードバックをいつでもお待ちしております。Google に問題を報告する方法は次のとおりです。

  • ウェブマスター コミュニティを確認する。他のウェブマスターが報告している問題がご自身のサイトにも影響を及ぼしている場合があります。
  • 直接、報告する。イベントなどで直接ご報告ください。いつでもお待ちしております。
  • Google サービス内で報告する。Search Console のフィードバック ツールをご利用いただくと、Google のチームとしては非常に助かります。
  • TwitterYouTube で報告する。