Observability on the Cloud -- Problem Discovery and Positioning Practice
2022 年 7 月 4 日、「Observable, Reliable - CloudOps Series Salon クラウド自動化運用保守 第 1 弾」が正式にスタートしました。2 人目の登壇者は、Alibaba Cloud エラスティックコンピューティング技術の専門家である Hao Chendong 氏で、「クラウド上の可観測性:問題の発見と切り分けの実践」というテーマで講演しました。以下に講演内容のまとめをご紹介します。
01 ECS 可観測性の価値
クラウドサーバーの可観測性とは、お客様がサーバーの内部動作を把握し、クラウド上のリソースの信頼性を確保する能力を指します。従来の IT 運用保守と比較して、クラウド IT の利用方法と運用保守の方法は大きく変化しています。たとえば、従来の IT 運用保守のシナリオでは、お客様は自前のデータセンターとマシンを購入し、ハードウェアリソースを直接運用していました。クラウド移行後は、お客様は OpenAPI を通じてさまざまなコンピューティングリソースを操作します。同時に、従来のシナリオではビジネス規模がデータセンターや物理マシンの範囲に限定されていましたが、クラウドの柔軟性により、お客様はビジネス規模を数百台、数千台のサーバーへと容易に拡張できます。
クラウドの運用保守には多くの課題と困難が伴い、これらはクラウドサーバーの可観測性によって解決する必要があります。
ECS の可観測性の価値は、主に以下の 3 点に集約されます。
1. セルフサービスによる迅速で信頼性の高い問題の切り分けを実現します。
2. 運用保守を簡素化し、ECS の運用詳細を容易に把握できるようにします。
3. リソースの信頼性を向上させ、ECS のクライアント OS の内部状態と基盤状態をタイムリーに把握し、ブラックボックス化を回避します。
Alibaba Cloud は、ECS の可観測性を向上させるために、正常性診断、システムイベント、Cloud Monitor、ARMS、運用監査など、多くの主要なツールセットを提供しています。これらのツールはそれぞれ位置づけと視点が異なりますが、目的は同じです。つまり、お客様が現在のインスタンスの健全性を明確に把握し、問題を迅速に発見して運用保守コストを削減することです。
02 セルフサービスツールによる典型的な問題の切り分けと分析
セルフサービスツール オンデマンドセルフサービスとは、ユーザーがサービスプロバイダーを介さずに自らコンピューティングリソースやサービスを利用できる仕組みです。
クラウド上でお客様が直面しがちな典型的な問題には、インスタンスの起動失敗、インスタンスの接続失敗、操作の反映遅延があります。従来のシナリオでは、お客様はサポートチケットを提出して対応を待つしかなく、問題解決のスピードはカスタマーサポートの理解度や対応効率に依存していました。
セルフサービスのシナリオでは、典型的なお客様の問題をすべて正常性診断ツールセットに組み込んでいます。お客様はコンソールで自ら診断を実行して問題を解決でき、問題の切り分けに数分しかかかりません。
インスタンスが起動できない原因には大きく 2 つがあります。
1 つ目は、オペレーティングシステム内部の問題です。たとえば、お客様の OS にウイルスが侵入している、重要なファイルが破損または削除されている、お客様の誤操作により OS のコアシステムサービスが起動していない、fstab ファイルの設定が誤っている、あるいはイメージとインスタンス型の不整合が原因である場合があります。OS 内部の問題については、現在の正常性診断ツールで迅速に問題を切り分け、対応する修復方法を提示できます。
2 つ目は、クラウドプラットフォームの基盤的な問題です。比較的稀ですが、主に在庫不足、ホストアラーム、制御システムの異常、仮想化の異常、ディスクの拡張/縮小の異常などが含まれます。このような問題に対して、診断ツールは手動サポートへの入口を提示します。同時に、重大なエラーについては問題報告ポータルも提示します。運用保守チームがお客様から報告された問題の重大性を確認した場合、プロアクティブに運用保守アクションを開始し、その手順はお客様に対して完全に透過的です。
インスタンスが起動できない場合、Alibaba Cloud の診断ツールはどのようにしてインスタンスの OS 内部を検出するのでしょうか。
PC の OS を例にとります。PC が故障した場合、通常は USB メモリを修復ディスクとして使用し、起動時に USB メモリから起動するよう切り替えます。USB メモリから起動した後、システムの再インストールまたは修復を行い、最後に修復ディスクを取り外せば、コンピュータは正常に起動できるようになります。
診断ツールの仕組みも同様で、上記の図の左下に示す通りです。お客様の OS が正常に起動できない場合、診断ツールはお客様のために修復ディスクをマウントし、修復ディスクにログインするための一時パスワードを生成します。修復ディスクがマウントされると、インスタンスは自動的に起動され、元のシステムディスクはデータディスクとして現在のインスタンスに接続された上でリアルタイム検出が実行されます。問題が発見された場合、具体的な修復プランが提示されます。お客様は修復プランに従って問題を解決できます。元のシステムディスクの問題が解決された後、修復ディスクをアンマウントして正常に起動できます。このプロセス全体はお客様にとって完全に透過的です。
インスタンスがリモート接続できない主な原因は、ECS インスタンス間の接続失敗と、ECS インスタンスからパブリック IP アドレスへの接続失敗の 2 つです。診断ツールは ECS インスタンス、ネットワークインターフェースカード、パブリック IP アドレスの 3 種類の入力に対応しています。
診断ツールは、送信元と送信先の間の重要パス(インスタンスのアカウント状態、インスタンスのオペレーティングシステム、現在のインスタンスが属するスイッチなど)をリストアップし、各重要パスの接続性を順番に検出して結論を導きます。
重要パスは、インスタンス設定と OS 内設定の 2 つのカテゴリに分類できます。インスタンス設定には、インスタンスの料金未払い、vSwitch のトラフィック未許可、インスタンスのロック状態などが含まれます。OS 内設定では、主に Cloud Assistant を使用してオープンソース診断コマンドをリアルタイムで発行します。OS 内に問題が発見された場合、修復プランでユーザーに通知します。ネットワーク接続診断レポートには、接続できない重要パスとその原因が表示されます。
インスタンスの変更操作が反映されないとは、お客様がコンソールで何らかの変更を行ったものの、期待通りの結果にならないことを意味します。この種の問題は非常に難易度が高く、変更の種類と反映されない原因は多岐にわたります。現在、セルフサービス診断ツールは以下の診断機能をサポートしています:クラウドディスクの拡張が反映されない、パスワードリセットが反映されない、インスタンス設定の変更が反映されない、インスタンスの更新が失敗する。
たとえば、お客様のクラウドディスクが容量超過になり、コンソールで 40 GB から 100 GB に拡張したとします。コンソール上では 100 GB と表示されますが、実際にお客様が OS 内で拡張コマンドを実行しないと反映されず、そのままではビジネスに支障をきたす可能性があります。診断ツールにはクラウドディスク拡張の専用診断機能があり、実際の有効ディスクサイズと拡張後のサイズが一致していないことが検出された場合、拡張操作のガイドをユーザーに提示してビジネスへの影響を回避します。
もう 1 つのインスタンス変更操作が反映されない原因として、お客様が製品仕様を十分に理解していない場合があります。診断ツールは現在の製品仕様をお客様に提示します。
上記の典型的な問題は、お客様がコンソールで自ら診断する必要があり、受動的なサービスに分類されます。セルフサービス機能の背後にあるプロアクティブな検出ツールが整合性チェックシステムです。お客様がクラウドで使用しているサービスの状態と実際の運用状態が一致していない場合、ビジネスに影響を及ぼします。そのため、整合性チェックツールを使用してお客様がコンソールで確認する内容と実際の運用値が一致していることを保証します。たとえば、お客様がコンソールで確認する IP アドレスと実際の IP アドレスが一致しているかどうかを比較します。
お客様によるプロアクティブな診断と、セルフサービスツールの背後にあるプロアクティブなサービスを通じて、お客様が観測するデータと実際の運用状態の一致性を保証します。
上記の図は、セルフサービス診断ツールの診断機能とユースケースの概要を示しています。
診断機能は主にトラブルシューティングとルールの 2 つのカテゴリに分類されます。トラブルシューティングはさらにオペレーティングシステム関連とクラウドプラットフォーム関連に細分化され、約 80 種類の診断機能を備えています。製品ルール関連は現在 30 種類以上の機能を提供しています。
Alibaba Cloud プラットフォームの診断分析は、Alibaba Cloud の基盤となるデータ収集に依存しています。Alibaba Cloud は世界約 30 のリージョンと数百のゾーンを有し、物理マシン、IDC データセンター、運用パフォーマンス、シリアルポートログなどのリアルタイムデータを常に収集しています。これらの基本ログが正常性診断ツールの入力となります。これらの基盤データにより、データクレンジング、集計計算、異常関連の特徴抽出を行い、最終的に診断の根本原因を導き出します。
もう 1 つの重要な要素は、オペレーティングシステム内部の顧客関連部分であり、これはインスタンスに Cloud Assistant サービスをインストールすることで実現されます。お客様が診断を開始すると、Cloud Assistant がお客様のインスタンス上でオープンソーススクリプトを実行してリアルタイムデータを収集します。これには負荷クラスと設定クラスが含まれ、たとえば現在の OS の CPU、メモリ、I/O などの負荷データ、または DHCP、IP などの設定データをリアルタイムで検出します。
Alibaba Cloud プラットフォーム診断とオペレーティングシステム内診断により、正常性診断サービスが構成されます。現在、正常性診断サービスはコンソールを通じてクラウドのお客様に提供されており、内部のクラウド製品にも提供されています。近い将来、OpenAPI としても公開される予定です。
03 統合診断による運用保守の自動化
独自の運用保守プラットフォームを持たない中小規模のお客様には、コンソール上で診断製品を直接使用することをお勧めします。便利で迅速であり、診断製品にはお客様が参照できる詳細な修復プランも多数用意されています。
独自の運用保守システムを持つ中規模以上のユーザーには、API 形式で自社の運用保守システムに統合することをお勧めします。効率的で便利です。たとえば、モニタリングシステムと診断機能を統合すると、モニタリングシステムがインスタンスの負荷異常を検出した際に、直接診断 API を呼び出して診断結果に基づいて対応できます。診断サービスをパトロールシステムに統合して、クラスタの一部のコアインスタンスに対して毎日リアルタイム診断を実行し、異常があればタイムリーにインスタンスの入れ替えやスケールアウトを行えます。診断サービスをバックグラウンド運用保守システムに統合して、当直スタッフの運用に活用できます。たとえば、ApsaraDB RDS インスタンスで診断を開始する際に、同時に ECS レイヤーでも診断を実行できます。
さらに、診断製品は運用保守オーケストレーション機能も備えています。運用保守オーケストレーションの公開テンプレートを多数提供しており、スケジュールされた運用保守やイベント駆動型の運用保守を迅速に実装でき、バッチ診断やクロスリージョン診断などのバッチ操作機能も備えています。これらの機能はすべて、OS コンソール上で公開スクリプトを使用して直接実行できます。同時に、診断結果に基づいて ECS プロダクトが操作をトリガーすることもサポートしています。たとえば、診断結果で現在のインスタンスが過負荷と判定された場合、新しいインスタンスの作成や設定のアップグレードをトリガーできます。診断結果でクラウドディスクの容量不足が示された場合、拡張コマンドをトリガーできます。
04 展望
セルフサービス診断ツールは、ECS プロダクトの問題特定とトラブルシューティングの主要な入口となることを目指しています。近い将来、正常性診断の OpenAPI をリリースし、より多くの診断機能を開発中です。さらに、Alibaba Cloud の公式コミュニティには、業界のプロフェッショナル向けの情報交換と共有の場として技術サークルが設立されています。
Q&A セクション、オーディエンスからの質問
Q1 自動診断後に自動修復を実行しないのはなぜですか?
A:自動修復の一部を試みましたが、効果は芳しくありませんでした。1 つ目に、一部の修復アクションにはリスクが伴います。2 つ目に、修復アクションにはユーザーの権限付与が必要な場合があります。そのため、最終的に修復プランのみをお客様に提供することにしました。
Q2 問題の発見と切り分けの正確性はどの程度ですか?
A:診断ツールはすべての問題をカバーできるわけではありません。現在は主に高頻度の問題の確保に注力しています。問題の特定には 3 つの情報源があります。1 つ目は顧客のサポートチケットで、どの問題が高頻度で発生するかを評価して診断ツールに組み込みます。2 つ目は GC 3 以上のお客様を定期的に訪問することです。3 つ目はチーム内の週次当直レポートです。
01 ECS 可観測性の価値
クラウドサーバーの可観測性とは、お客様がサーバーの内部動作を把握し、クラウド上のリソースの信頼性を確保する能力を指します。従来の IT 運用保守と比較して、クラウド IT の利用方法と運用保守の方法は大きく変化しています。たとえば、従来の IT 運用保守のシナリオでは、お客様は自前のデータセンターとマシンを購入し、ハードウェアリソースを直接運用していました。クラウド移行後は、お客様は OpenAPI を通じてさまざまなコンピューティングリソースを操作します。同時に、従来のシナリオではビジネス規模がデータセンターや物理マシンの範囲に限定されていましたが、クラウドの柔軟性により、お客様はビジネス規模を数百台、数千台のサーバーへと容易に拡張できます。
クラウドの運用保守には多くの課題と困難が伴い、これらはクラウドサーバーの可観測性によって解決する必要があります。
ECS の可観測性の価値は、主に以下の 3 点に集約されます。
1. セルフサービスによる迅速で信頼性の高い問題の切り分けを実現します。
2. 運用保守を簡素化し、ECS の運用詳細を容易に把握できるようにします。
3. リソースの信頼性を向上させ、ECS のクライアント OS の内部状態と基盤状態をタイムリーに把握し、ブラックボックス化を回避します。
Alibaba Cloud は、ECS の可観測性を向上させるために、正常性診断、システムイベント、Cloud Monitor、ARMS、運用監査など、多くの主要なツールセットを提供しています。これらのツールはそれぞれ位置づけと視点が異なりますが、目的は同じです。つまり、お客様が現在のインスタンスの健全性を明確に把握し、問題を迅速に発見して運用保守コストを削減することです。
02 セルフサービスツールによる典型的な問題の切り分けと分析
セルフサービスツール オンデマンドセルフサービスとは、ユーザーがサービスプロバイダーを介さずに自らコンピューティングリソースやサービスを利用できる仕組みです。
クラウド上でお客様が直面しがちな典型的な問題には、インスタンスの起動失敗、インスタンスの接続失敗、操作の反映遅延があります。従来のシナリオでは、お客様はサポートチケットを提出して対応を待つしかなく、問題解決のスピードはカスタマーサポートの理解度や対応効率に依存していました。
セルフサービスのシナリオでは、典型的なお客様の問題をすべて正常性診断ツールセットに組み込んでいます。お客様はコンソールで自ら診断を実行して問題を解決でき、問題の切り分けに数分しかかかりません。
インスタンスが起動できない原因には大きく 2 つがあります。
1 つ目は、オペレーティングシステム内部の問題です。たとえば、お客様の OS にウイルスが侵入している、重要なファイルが破損または削除されている、お客様の誤操作により OS のコアシステムサービスが起動していない、fstab ファイルの設定が誤っている、あるいはイメージとインスタンス型の不整合が原因である場合があります。OS 内部の問題については、現在の正常性診断ツールで迅速に問題を切り分け、対応する修復方法を提示できます。
2 つ目は、クラウドプラットフォームの基盤的な問題です。比較的稀ですが、主に在庫不足、ホストアラーム、制御システムの異常、仮想化の異常、ディスクの拡張/縮小の異常などが含まれます。このような問題に対して、診断ツールは手動サポートへの入口を提示します。同時に、重大なエラーについては問題報告ポータルも提示します。運用保守チームがお客様から報告された問題の重大性を確認した場合、プロアクティブに運用保守アクションを開始し、その手順はお客様に対して完全に透過的です。
インスタンスが起動できない場合、Alibaba Cloud の診断ツールはどのようにしてインスタンスの OS 内部を検出するのでしょうか。
PC の OS を例にとります。PC が故障した場合、通常は USB メモリを修復ディスクとして使用し、起動時に USB メモリから起動するよう切り替えます。USB メモリから起動した後、システムの再インストールまたは修復を行い、最後に修復ディスクを取り外せば、コンピュータは正常に起動できるようになります。
診断ツールの仕組みも同様で、上記の図の左下に示す通りです。お客様の OS が正常に起動できない場合、診断ツールはお客様のために修復ディスクをマウントし、修復ディスクにログインするための一時パスワードを生成します。修復ディスクがマウントされると、インスタンスは自動的に起動され、元のシステムディスクはデータディスクとして現在のインスタンスに接続された上でリアルタイム検出が実行されます。問題が発見された場合、具体的な修復プランが提示されます。お客様は修復プランに従って問題を解決できます。元のシステムディスクの問題が解決された後、修復ディスクをアンマウントして正常に起動できます。このプロセス全体はお客様にとって完全に透過的です。
インスタンスがリモート接続できない主な原因は、ECS インスタンス間の接続失敗と、ECS インスタンスからパブリック IP アドレスへの接続失敗の 2 つです。診断ツールは ECS インスタンス、ネットワークインターフェースカード、パブリック IP アドレスの 3 種類の入力に対応しています。
診断ツールは、送信元と送信先の間の重要パス(インスタンスのアカウント状態、インスタンスのオペレーティングシステム、現在のインスタンスが属するスイッチなど)をリストアップし、各重要パスの接続性を順番に検出して結論を導きます。
重要パスは、インスタンス設定と OS 内設定の 2 つのカテゴリに分類できます。インスタンス設定には、インスタンスの料金未払い、vSwitch のトラフィック未許可、インスタンスのロック状態などが含まれます。OS 内設定では、主に Cloud Assistant を使用してオープンソース診断コマンドをリアルタイムで発行します。OS 内に問題が発見された場合、修復プランでユーザーに通知します。ネットワーク接続診断レポートには、接続できない重要パスとその原因が表示されます。
インスタンスの変更操作が反映されないとは、お客様がコンソールで何らかの変更を行ったものの、期待通りの結果にならないことを意味します。この種の問題は非常に難易度が高く、変更の種類と反映されない原因は多岐にわたります。現在、セルフサービス診断ツールは以下の診断機能をサポートしています:クラウドディスクの拡張が反映されない、パスワードリセットが反映されない、インスタンス設定の変更が反映されない、インスタンスの更新が失敗する。
たとえば、お客様のクラウドディスクが容量超過になり、コンソールで 40 GB から 100 GB に拡張したとします。コンソール上では 100 GB と表示されますが、実際にお客様が OS 内で拡張コマンドを実行しないと反映されず、そのままではビジネスに支障をきたす可能性があります。診断ツールにはクラウドディスク拡張の専用診断機能があり、実際の有効ディスクサイズと拡張後のサイズが一致していないことが検出された場合、拡張操作のガイドをユーザーに提示してビジネスへの影響を回避します。
もう 1 つのインスタンス変更操作が反映されない原因として、お客様が製品仕様を十分に理解していない場合があります。診断ツールは現在の製品仕様をお客様に提示します。
上記の典型的な問題は、お客様がコンソールで自ら診断する必要があり、受動的なサービスに分類されます。セルフサービス機能の背後にあるプロアクティブな検出ツールが整合性チェックシステムです。お客様がクラウドで使用しているサービスの状態と実際の運用状態が一致していない場合、ビジネスに影響を及ぼします。そのため、整合性チェックツールを使用してお客様がコンソールで確認する内容と実際の運用値が一致していることを保証します。たとえば、お客様がコンソールで確認する IP アドレスと実際の IP アドレスが一致しているかどうかを比較します。
お客様によるプロアクティブな診断と、セルフサービスツールの背後にあるプロアクティブなサービスを通じて、お客様が観測するデータと実際の運用状態の一致性を保証します。
上記の図は、セルフサービス診断ツールの診断機能とユースケースの概要を示しています。
診断機能は主にトラブルシューティングとルールの 2 つのカテゴリに分類されます。トラブルシューティングはさらにオペレーティングシステム関連とクラウドプラットフォーム関連に細分化され、約 80 種類の診断機能を備えています。製品ルール関連は現在 30 種類以上の機能を提供しています。
Alibaba Cloud プラットフォームの診断分析は、Alibaba Cloud の基盤となるデータ収集に依存しています。Alibaba Cloud は世界約 30 のリージョンと数百のゾーンを有し、物理マシン、IDC データセンター、運用パフォーマンス、シリアルポートログなどのリアルタイムデータを常に収集しています。これらの基本ログが正常性診断ツールの入力となります。これらの基盤データにより、データクレンジング、集計計算、異常関連の特徴抽出を行い、最終的に診断の根本原因を導き出します。
もう 1 つの重要な要素は、オペレーティングシステム内部の顧客関連部分であり、これはインスタンスに Cloud Assistant サービスをインストールすることで実現されます。お客様が診断を開始すると、Cloud Assistant がお客様のインスタンス上でオープンソーススクリプトを実行してリアルタイムデータを収集します。これには負荷クラスと設定クラスが含まれ、たとえば現在の OS の CPU、メモリ、I/O などの負荷データ、または DHCP、IP などの設定データをリアルタイムで検出します。
Alibaba Cloud プラットフォーム診断とオペレーティングシステム内診断により、正常性診断サービスが構成されます。現在、正常性診断サービスはコンソールを通じてクラウドのお客様に提供されており、内部のクラウド製品にも提供されています。近い将来、OpenAPI としても公開される予定です。
03 統合診断による運用保守の自動化
独自の運用保守プラットフォームを持たない中小規模のお客様には、コンソール上で診断製品を直接使用することをお勧めします。便利で迅速であり、診断製品にはお客様が参照できる詳細な修復プランも多数用意されています。
独自の運用保守システムを持つ中規模以上のユーザーには、API 形式で自社の運用保守システムに統合することをお勧めします。効率的で便利です。たとえば、モニタリングシステムと診断機能を統合すると、モニタリングシステムがインスタンスの負荷異常を検出した際に、直接診断 API を呼び出して診断結果に基づいて対応できます。診断サービスをパトロールシステムに統合して、クラスタの一部のコアインスタンスに対して毎日リアルタイム診断を実行し、異常があればタイムリーにインスタンスの入れ替えやスケールアウトを行えます。診断サービスをバックグラウンド運用保守システムに統合して、当直スタッフの運用に活用できます。たとえば、ApsaraDB RDS インスタンスで診断を開始する際に、同時に ECS レイヤーでも診断を実行できます。
さらに、診断製品は運用保守オーケストレーション機能も備えています。運用保守オーケストレーションの公開テンプレートを多数提供しており、スケジュールされた運用保守やイベント駆動型の運用保守を迅速に実装でき、バッチ診断やクロスリージョン診断などのバッチ操作機能も備えています。これらの機能はすべて、OS コンソール上で公開スクリプトを使用して直接実行できます。同時に、診断結果に基づいて ECS プロダクトが操作をトリガーすることもサポートしています。たとえば、診断結果で現在のインスタンスが過負荷と判定された場合、新しいインスタンスの作成や設定のアップグレードをトリガーできます。診断結果でクラウドディスクの容量不足が示された場合、拡張コマンドをトリガーできます。
04 展望
セルフサービス診断ツールは、ECS プロダクトの問題特定とトラブルシューティングの主要な入口となることを目指しています。近い将来、正常性診断の OpenAPI をリリースし、より多くの診断機能を開発中です。さらに、Alibaba Cloud の公式コミュニティには、業界のプロフェッショナル向けの情報交換と共有の場として技術サークルが設立されています。
Q&A セクション、オーディエンスからの質問
Q1 自動診断後に自動修復を実行しないのはなぜですか?
A:自動修復の一部を試みましたが、効果は芳しくありませんでした。1 つ目に、一部の修復アクションにはリスクが伴います。2 つ目に、修復アクションにはユーザーの権限付与が必要な場合があります。そのため、最終的に修復プランのみをお客様に提供することにしました。
Q2 問題の発見と切り分けの正確性はどの程度ですか?
A:診断ツールはすべての問題をカバーできるわけではありません。現在は主に高頻度の問題の確保に注力しています。問題の特定には 3 つの情報源があります。1 つ目は顧客のサポートチケットで、どの問題が高頻度で発生するかを評価して診断ツールに組み込みます。2 つ目は GC 3 以上のお客様を定期的に訪問することです。3 つ目はチーム内の週次当直レポートです。
Related Articles
-
A detailed explanation of Hadoop core architecture HDFS
Knowledge Base Team
-
What Does IOT Mean
Knowledge Base Team
-
6 Optional Technologies for Data Storage
Knowledge Base Team
-
What Is Blockchain Technology
Knowledge Base Team
Explore More Special Offers
-
Short Message Service(SMS) & Mail Service
50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00
