ITmedia NEWS > STUDIO >

Googleサービスでの8月20日の大規模障害について、Googleが原因と対策を説明

» 2020年08月25日 13時58分 公開
[ITmedia]

 米Googleは8月24日(現地時間)、19日(日本では20日)に発生した一連のサービスの大規模障害について、原因と対策を説明した。

 blob

 この障害は、19日の午後8時55分〜20日の午前3時30日に、複数のG SuiteおよびGoogle Cloud Platform製品でエラー、利用不可、配信の遅延が発生したというもの。日本でもGmailにファイルを添付しようとするとエラーが表示されるなどの不具合が数時間にわたって報告された。

 gmail Gmailの添付ファイルエラー

 問題は、小規模なものも含めると、Gmail、Googleドライブ、Google Docs、New Google Sites、Chat、Meet、Keep、Google Voice、Jamboard、Admin Console、App Engine、Cloud Logging、Cloud Storageなど多岐にわたった。

 根本的な原因は、Googleの多様なサービスで使っている、BLOB(Binary Large OBject)と呼ばれる非構造化データに共通の内部分散システムでの過負荷。このBLOBストレージシステムには、Google内部のクライアントサービスと接続するフロントエンド、メタデータ操作のための中間層、BLOB自体のバックエンドストレージが含まれる。

 別のGoogleサービスからのトラフィックの増加により、BLOBメタデータサービスの過負荷が始まって待ち時間が発生し、操作が過度に再試行されたことでリソースが使い果たされた。失敗したリクエストをキャンセルして再試行しようとすることで事態は悪化し、トラフィックがさらに増加した。

 なお、Google Cloud Storageも同じBLOBストレージシステム上に構築されているが、メタデータレイヤーが分離されていたため、被害は少なかったという。

 今後の対策として、以下を挙げた。

  • 根本的な原因の完全修復まで、BLOBメタデータサービスへの計算リソースの割り当て増加
  • メタデータサービスタスク起動時のヘルスチェックの改善
  • メタデータ操作失敗の際に使うバックオフと再試行の戦略の改善
  • 単体エラーがリソース全体でキャンセルリクエストのフラッドになる問題の修復
  • BLOBサービスのアラートの改善
  • BLOBサービスへのリクエストに対するより包括的なレート制限制御の実装
  • BLOB操作のデバッグ方法の改善
  • タスク間でのリソース転送速度、効率、自動化の改善
  • BLOBサービスのレート制限制御に関する内部マニュアルの改善

Copyright © ITmedia, Inc. All Rights Reserved.