GCPの障害で実際にあったトラブルとは?補償を受けることはできる?
はじめまして、エンジニアスタイル編集部です!
コラムページでは、ITフリーランスに向けてお役立ち情報を発信します。Twitterではホットな案件を紹介してまいりますので、ぜひフォローをお願いいたします!
本記事が、皆様の参考になれば幸いです。
経験がまだ少ない方にもわかりやすく説明するために、初歩的な内容も記載しております。記事も長いので、実務経験豊富な方は、ぜひ目次から関心のある項目を選択してください。
エンジニアスタイルは、最高単価390万円、国内最大級のITフリーランス・副業案件検索サービスです。GCPのフリーランス・副業案件一覧を以下からご覧いただけますのであわせてご確認ください。
目次
前提としてGCPでも障害が生じることを考慮した対策が必要
Google Cloud Platform(GCP)は非常に信頼性の高いクラウドサービスですが、100%の可用性は保証されていないため、障害が発生する可能性があります。
そのため、障害発生時の対策を事前に考慮することが重要です。
具体的には、冗長性を持たせたシステム設計や、障害発生時の緊急対応プロセスを整える必要があります。
例えば、重要なデータは複数の地域にバックアップを取る、負荷分散を行うなどの対策が考えられます。
ビジネスへの影響の最小化
GCPの障害が発生した場合、ビジネスに与える影響を最小限に抑えるための戦略が必要です。
具体的には、障害発生時にどのような手段でサービスを継続するか、事前に計画を立てておくことが重要です。
例えば、一時的に他のクラウドサービスに切り替える、オフラインでの業務継続手段を確保するなどが考えられます。
データ損失の防止
データはビジネスの命綱です。GCPの障害が発生した場合でも、データ損失を防ぐための対策が必要です。
具体的には、定期的なバックアップや、データの冗長化を行うことが基本です。また、GCP自体が提供するデータ保持・復旧サービスを活用することも一つの方法です。
迅速な復旧
障害が発生した場合、いかに迅速にシステムを復旧させるかが問われます。事前に復旧手順を明確にしておく、スタッフに対する緊急時のトレーニングを実施しておくなど、迅速な復旧を目指すための準備が必要です。
顧客への透明なコミュニケーション
障害が発生した場合、顧客への透明なコミュニケーションが非常に重要です。障害の内容、影響範囲、復旧見込み時間などを迅速かつ正確に伝える必要があります。これにより、顧客の不信感を最小限に抑えることができます。
コストの最適化
障害対策にはコストがかかりますが、そのコストを最適化する方法も考慮する必要があります。
例えば、必要以上に高い冗長性を持たせるとコストがかかりすぎる可能性があります。そのため、ビジネスの規模や重要性に応じて、適切なレベルの障害対策を行うことが重要です。
過去にあった具体的なGCP障害事例
1. Google Cloud Storageのダウンタイム(2019年)
Googleが米国時間6月6日に発生した大規模なクラウド障害について詳細な技術情報を公表しました。
この障害は約4時間続き、主に米国東部でGoogle Cloudを利用する大手IT企業やYouTube、GmailなどのGoogleのサービスが影響を受けました。
Googleのエンジニアリング担当バイスプレジデント、Benjamin Treynor Sloss氏は、設定ミスが原因であったと認め、修正には予想以上の時間がかかったと述べました。この障害により、YouTubeの視聴が2.5%減少し、Google Cloud Storageのトラフィックが30%減少したとも報告されています。
障害の原因は、特定のリージョンの小規模なサーバーグループに適用するはずだった設定が、誤って他のリージョンの多数のサーバーにも適用されてしまったことでした。この誤りにより、ネットワーク容量が大幅に低下しました。
Googleはこの問題に対して謝罪し、今後はパフォーマンスと利用可能性の向上を図るとともに、緊急対応向けのツールや手続きを再評価・更新する予定であると述べています。
2. Google Cloud Platform(GCP)の一部サービスで障害発生(2019年)
Googleのクラウドサービス「Google Cloud Platform(GCP)」は、2019年3月11日に一部のサービスで障害を発生させました。
この障害により、ユーザーがGCPの一部のサービスにアクセスできない状態となり、主な影響を受けたサービスには「Cloud Console」と「Cloud Dataflow」が含まれています。
Cloud Consoleは、ユーザーがGCPの各サービスを管理するためのウェブベースのインターフェースで、この障害の影響で一時的に利用できなくなりました。Cloud Dataflowは、ユーザーが大量のデータを処理・分析するためのサービスで、この障害の影響で一時的に動作が停止しました。
Googleは、障害の原因や影響範囲について調査を行い、ユーザーに対して情報提供を行いました。また、障害の発生を受けて、Googleの内部での対応や通信ツールも影響を受けたとの情報があり、Googleは今後の対策や障害の再発防止に取り組むとのコメントを発表した。
Google Cloud Platform(GCP)の一部サービスで障害発生(2019年)
GCPの障害をいち早く認識するにはどうすれば良いか
GCPの障害をいち早く認識するにはどうすれば良いのか、いくつかの対応策について解説していきます。
監視システムによるアラート
GCP(Google Cloud Platform)には、Stackdriverと呼ばれる監視、ログ管理、診断のための統合ツールがあります。このような監視システムを利用して、リアルタイムでシステムの状態を把握することができます。
具体的には、CPU使用率、ディスク使用量、ネットワークの状態などを監視し、異常が発生した場合にはアラートを発するように設定できます。このアラートは、メールやSlack、SMSなど、複数の通知方法で受け取ることができます。
例えば、CPU使用率が一定の閾値を超えた場合には、即座にシステム管理者に警告を送るように設定することで、障害を早期に発見し対処することが可能です。
リリースノート
GCPは定期的にアップデートが行われるため、新しいリリースノートを確認することで、将来的な障害や問題を事前に把握することができます。
リリースノートには、新機能の追加だけでなく、既知の問題や修正されたバグ、非推奨になった機能なども記載されています。これを定期的にチェックすることで、予期せぬトラブルを避けることが可能です。
Dashboardで表示
GCPは、Google Cloud Status Dashboardというサービス状態を一覧表示するダッシュボードを提供しています。このダッシュボードには、各GCPサービスの現在の状態や過去の障害履歴が掲載されており、障害が発生した場合にはこのダッシュボードが更新されます。
例えば、Google Compute Engineに障害が発生した場合、ダッシュボード上でそのサービスのステータスが「障害発生中」などと表示され、詳細な情報も提供されます。
SNS
SNSを活用することで、リアルタイムでGCPの障害情報を入手することができます。特にTwitterでは、GCPの公式アカウントや各サービスのアカウントが障害情報を発信しています。
また、GCPに特化した障害情報アカウントや、クラウドコンピューティングに詳しい専門家、関連コミュニティも多く存在します。これらのアカウントをフォローし、通知設定をオンにすることで、障害が発生した瞬間に情報を得ることができます。
TwitterのGCP障害アカウントを利用する
TwitterにはGCP(Google Cloud Platform)の障害情報を専門に扱うアカウントが存在します。これらのアカウントは、GCPの各サービスに発生した障害やメンテナンス情報をリアルタイムで発信しています。
例えば、Google Compute EngineやGoogle Kubernetes Engineなどのサービスがダウンした場合、このような専門アカウントが速やかにその情報をツイートします。これにより、障害が発生した瞬間にその情報を得ることができ、迅速な対応が可能になります。
このようなアカウントをフォローしておくことで、障害情報を即座にキャッチできます。
GCP公式アカウントやサービスアカウントをフォローする
GCPの公式アカウントや各サービスの公式アカウントも、障害情報やアップデート情報を発信しています。これらのアカウントは、障害が発生した場合や解消した場合に、公式な情報を提供します。
また、これらのアカウントは通常、障害の原因や復旧の見込み時間など、より詳細な情報も提供しています。公式アカウントをフォローしておくことで、信頼性の高い情報源から直接情報を得ることができます。
関連コミュニティや専門家をフォローする
GCPに関する多くのコミュニティや専門家がTwitterなどのSNSで活動しています。これらのアカウントは、障害が発生した場合にその影響や対処法、さらには障害が解消された後のレビューなど、多角的な情報を提供しています。
例えば、あるサービスがダウンした場合、専門家からはその影響を最小限に抑えるためのテクニカルなアドバイスが提供されることもあります。
リアルタイム情報を受け取るための通知設定
Twitterやその他のSNSでは、特定のアカウントからの新しい投稿をリアルタイムで通知する機能があります。GCPの障害情報を即座に知りたい場合は、この通知機能を活用すると良いでしょう。
具体的には、GCPの公式アカウントや障害情報専門アカウント、関連するコミュニティや専門家のアカウントで通知をオンに設定します。
これにより、新しい情報が投稿された瞬間にスマートフォンやコンピュータで通知を受け取ることができます。これが非常に有用な手段となり、障害発生時に迅速な対応を可能にします。
ユーザーからの問い合わせ
顧客やエンドユーザーからのフィードバックや問い合わせも、障害を早期に認識する重要な手段です。特に、ユーザーはサービスを日常的に利用しているため、微細な変化や問題にも敏感です。
ユーザーからの問い合わせをしっかりと受け付け、それを分析することで、障害の早期発見や原因解明に繋がる場合があります。
例えば、ユーザーから「特定の操作をするとエラーが出る」といった問い合わせが複数寄せられた場合、それがシステム障害の兆候である可能性が高いです。このような情報は、障害対応だけでなく、サービス改善にも非常に有用です。
GCPの障害を検知する前と後の対応で必要なこととは
GCPの障害を検知する前と後の対応で必要なことについてまとめたので解説していきます。
障害を検知する前の対応
まずは障害を検知する前の対応についてです。
あらかじめ社内で対応チーム・担当を決める
障害が発生した場合に迅速に対応するためには、事前に対応チームや担当者を明確にしておくことが重要です。
例えば、GCPのCompute Engineがダウンした場合、インフラチームが主体となって対応するといった具体的な役割分担を決めておくと良いでしょう。
このようにしておくことで、障害が発生した際に誰が何をすべきかが明確になり、混乱を避けることができます。
意図的に障害を発生させて対応フローを確認
Chaos Engineeringと呼ばれる手法を用いて、意図的に障害を発生させることで対応フローを確認することが有用です。
これにより、実際に障害が発生した場合の対応の遅れや不備を事前に発見し、改善することができます。
例えば、意図的にネットワークを遮断して、その際のデータベースの冗長性やバックアップの有効性を確認するといったテストが考えられます。
GCPで障害が起きた際のトラブルを想定して対応をドキュメントにしておく
障害が発生した場合の対応手順を事前にドキュメント化しておくことで、障害発生時の対応がスムーズに行えます。
このドキュメントには、各種サービスの障害時に確認すべきログの位置、障害を解消するための具体的な手順、緊急連絡先などが含まれると良いでしょう。
障害を検知した後の対応
次に障害を検知した後の対応についてです。
社内関係者・ユーザーへのお知らせ
障害を検知したら、まずは社内関係者やユーザーにその情報を速やかに伝える必要があります。これには、メール、社内チャット、公式ウェブサイトなど複数のコミュニケーションチャネルを活用すると良いでしょう。
障害の原因を特定し、修復に取り組む
障害の原因を特定するためには、システムログやエラーメッセージを詳細に調査する必要があります。
原因が特定できたら、それを修復するための作業を開始します。この際、作業の進捗状況を社内関係者やユーザーに定期的に報告することが重要です。
事後分析を行い、再発防止策を検討
障害が解消された後は、その原因となった要因を詳細に分析し、再発防止策を検討します。
例えば、障害が発生した原因がシステムの設定ミスであれば、設定の見直しやチェック体制の強化を行うといった具体的な改善策を考えます。
この結果をもとに、今後の運用改善やシステム改修を行うことで、障害のリスクを低減させることができます。
GCPでトラブルが起きて損害が生じた場合、Googleから補償を受けることはできるのか
Google Cloud Platform(GCP)には、サービスレベル契約(SLA)があり、これはGoogleが提供するサービスの品質や可用性に関する公式の約束です。SLAには、特定のサービスが一定期間内に達成すべき可用性(通常はパーセンテージで表示)が明記されています。
もしGCPのサービスがSLAで定められた基準を下回った場合、顧客は一定の補償を受けることができます。
補償の形態は通常、サービスクレジットと呼ばれるもので、これはGCPの利用料金から差し引かれる形で適用されます。
具体的な補償額や条件は、各GCPサービスのSLAによって異なります。
たとえば、Google Compute EngineのSLAでは、月間可用性が99.95%未満だった場合、顧客は次月の利用料金の10%をサービスクレジットとして受け取ることができます。
ただし、補償を受けるためには、通常、顧客自身がGoogleに対して補償請求を行う必要があります。このプロセスは、GCPの管理コンソールやサポートチケットを通じて行われます。
また、自然災害やテロ行為など、Googleの合理的な管理外にある事象による障害は、補償の対象外であることが多いです。
重要な点として、SLAは法的な文書であり、補償の詳細や条件については、契約内容をしっかりと確認することが必要です。特に大規模なプロジェクトやビジネスクリティカルな用途でGCPを使用する場合は、SLAとその補償条件をよく理解しておくことが重要です。
まとめ
いかがでしたでしょうか?
この記事では、GCPの障害で実際にあったトラブルについての事例と、対応策等について解説してきました。
過去に起きた障害事例から、今後何を対策しておけば良いかを把握し、常に最悪の事態に備えておくことが重要です。
Google側で保証できない災害等が起きた時に備えて、日頃から最新情報と対策知識を模索しておくようにしておきましょう。
- CATEGORY
- 学習
- TAGS
-
-
-
-
-
-
-
【スマートフォンゲーム】クリエイティブ制作進行管理案件の 求人・案件
- 500,000 円/月〜
-
渋谷
-
【ASP.NET】配送管理システム開発案件の 求人・案件
- 630,000 円/月〜
-
その他
- C# SQL HTML JavaScript
-
【Java】物流システム再構築支援案件の 求人・案件
- 750,000 円/月〜
-
その他
- Java
-
【コーディング(WordPress)】デザイン制作企業向けコーディング案件の 求人・案件
- 700,000 円/月〜
-
その他
-
【Swift/Android/Kotlin/フルリモート】toC向けモバイルアプリ開発案件の 求人・案件
- 1,500,000 円/月〜
-
大阪府
- Swift Kotlin
-
【リモート/Ruby/HTML/Python/Ruby on Rails/Node.js/AWS】アプリケーション開発エンジニア(リーダー)の 求人・案件
- 800,000 円/月〜
-
その他
- Python Ruby HTML JavaScript Nodejs その他 TypeScript Shell
-
【リモート】開発ディレクター/ストアプラットフォーム開発部の 求人・案件
- 900,000 円/月〜
-
その他
-
【リモート/PHP】国内最大規模のライブ配信サービスにおける新規機能開発、改修等の 求人・案件
- 900,000 円/月〜
-
その他
- PHP JavaScript SQL HTML TypeScript
-
【フルリモート/Golang】バックエンドエンジニアの 求人・案件
- 900,000 円/月〜
-
その他
- Go言語 Swift Kotlin SQL
-
【PHP(Laravel)】保育支援システムの機能追加およびバージョンアップ開発の 求人・案件
- 600,000 円/月〜
-
その他
- PHP SQL JavaScript
-
【PHP(Laravel)】漫画アプリ・サイト新規開発(PHP/フルリモート)の 求人・案件
- 880,000 円/月〜
-
その他
- PHP SQL HTML JavaScript
-
【サーバー(Linux系)】某ネット銀行の住宅ローンシステムの基盤更改対応の 求人・案件
- 500,000 円/月〜
-
その他
- Java Shell
-
【サーバー(Linux系)】仮想化導入におけるマニュアル作成支援および検証作業の 求人・案件
- 350,000 円/月〜
-
その他
-
【iOS(Swift)】自社スマホアプリのリーダー(フロントエンドチーム)の 求人・案件
- 900,000 円/月〜
-
その他
- Swift
-
【Python(データ分析系)】動画視聴データ基盤(パイプライン)開発・保守運用およびデータ分析業務の 求人・案件
- 900,000 円/月〜
-
その他
- Python SQL
-
【Python(データ分析系)】IoTサービス向け/プラットフォーム開発の 求人・案件
- 650,000 円/月〜
-
その他
- Python
-
【JavaScript】複合機(MFP)開発業務の 求人・案件
- 500,000 円/月〜
-
その他
- JavaScript
-
【JavaScript(React)】フロントエンジニア/マイグレーションPJの 求人・案件
- 850,000 円/月〜
-
その他
- JavaScript HTML TypeScript