包括的なインスタンス診断機能は、インスタンスのシステム、ネットワーク、およびディスクのステータスをチェックします。これにより、インスタンスのヘルス状態を把握し、一般的な問題を迅速に特定して解決できます。
前提条件
[インスタンス料金とセキュリティ動作監査] 診断機能を使用すると、システムは現在のアカウントに AliyunServiceRoleForECSSelfService サービスリンクロールがあるかどうかを確認します。ロールが存在しない場合、プロンプトが表示されます。プロンプトを確認すると、システムは自動的に AliyunServiceRoleForECSSelfService サービスリンクロールを作成します。
AliyunServiceRoleForECSSelfService ロールには、AliyunServiceRolePolicyForECSSelfService システムアクセスポリシーが含まれます。このポリシーによって付与された権限を追加、変更、または削除することはできません。
Resource Access Management (RAM) ユーザーを使用して[インスタンス料金とセキュリティ動作の監査] 診断を実行する場合は、Alibaba Cloud アカウントのオーナーに連絡して、サービスリンクロールを作成する権限を RAM ユーザーに付与してもらってください。 詳細については、「編集モードでカスタムポリシーを作成する」および「RAM ユーザーに権限を付与する」をご参照ください。
次のポリシードキュメントは、RAM ユーザーにセルフサービスのインスタンスのトラブルシューティング機能を使用する権限を付与します。<account ID> は変数です。お使いの Alibaba Cloud アカウントの UID に置き換えてください。
{ "Statement": [ { "Action": [ "ram:CreateServiceLinkedRole" ], "Resource": "acs:ram:*:<account ID>:role/*", "Effect": "Allow", "Condition": { "StringEquals": { "ram:ServiceName": [ "selfservice.ecs.aliyuncs.com" ] } } } ], "Version": "1" }包括的な診断を実行している場合、またはネットワークの異常を診断している場合は、インスタンスが次の条件を満たしていることを確認してください:
インスタンスタイプ: インスタンスは購入可能なインスタンスファミリーに属しています。詳細については、「インスタンスファミリー」をご参照ください。
説明販売終了したインスタンスファミリーは、インスタンスのヘルス診断機能をサポートしていません。
インスタンスの状態:インスタンスは[実行中] 状態です。
オペレーティングシステム: 選択したシナリオにインスタンスのオペレーティングシステム内の構成のチェックが含まれる場合は、オペレーティングシステムが次の表の条件を満たしていることを確認してください。
システムアーキテクチャ
オペレーティングシステムバージョン
オペレーティングシステム内の構成
x86 64 ビット
Windows Server 2008 以降
Alibaba Cloud Linux 2/3
AlmaLinux 8.x 以降
Anolis OS 7.x/8.x
CentOS 7.x/8.x
CentOS Stream 8 以降
Debian 8.x 以降
Fedora 33/34
OpenSUSE 15.x/42.x
Rocky Linux 8.x 以降
SUSE Linux Enterprise Server 12.x/15.x
Ubuntu 16.04/18.04/20.04/24.04
Python バージョン: Python 3.6 以降
クラウドアシスタントエージェントがインストールされていること。詳細については、「クラウドアシスタントエージェントをインストールする」をご参照ください。
説明表に記載されていないオペレーティングシステムのディストリビューションはサポートされていません。サポートされていないディストリビューションでの診断パフォーマンスは保証されません。
シナリオが[インスタンスの起動に失敗]の場合、インスタンスが以下の条件を満たしていることを確認してください。
インスタンスのステータスは [停止] です。
オペレーティングシステム: 選択したシナリオにインスタンスのオペレーティングシステム内の構成のチェックが含まれる場合は、オペレーティングシステムが次の表の条件を満たしていることを確認してください。
システムアーキテクチャ
オペレーティングシステムバージョン
x86 64 ビット
Windows Server 2008 以降
Alibaba Cloud Linux 2/3
AlmaLinux 8.x 以降
Anolis OS 7.x/8.x
CentOS 7.x/8.x
CentOS Stream 8 以降
Debian 8.x 以降
Fedora 33/34
OpenSUSE 15.x/42.x
Rocky Linux 8.x 以降
SUSE Linux Enterprise Server 12.x/15.x
Ubuntu 16.04/18.04/20.04/24.04
説明表に記載されていないオペレーティングシステムのディストリビューションはサポートされていません。サポートされていないディストリビューションでの診断パフォーマンスは保証されません。
シナリオ
インスタンスのヘルス状態を把握するために、次のシナリオで包括的なインスタンス診断機能を使用します:
問題のトラブルシューティング: ネットワーク接続の失敗などの問題に対するソリューションを見つけるために、対象を絞った診断を実行します。
定期的なチェックの実行: 定期的な運用保守 (O&M) 中にインスタンスの全体的なヘルス状態を把握します。これにより、問題を迅速に検出して対処し、ビジネスの中断を防ぐことができます。
インスタンスのヘルス診断機能は、各診断項目に関する問題の説明と推奨されるソリューションを提供します。詳細については、「診断項目と結果」をご参照ください。
手順
ECS コンソール
インスタンス診断の作成
ECS コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
左上のトップメニューバーで、リージョンを選択します。
時間とインスタンス ID を選択し、[診断を開始] をクリックします。
説明一度に 1 つのインスタンスに対して進行中の診断タスクは 1 つだけです。2 つの連続する診断の間隔は 5 分以上である必要があります。
問題のタイプ
説明
インスタンスのパフォーマンス問題
ECS インスタンスの CPU 負荷が高い、メモリ使用量が多い、帯域幅使用量が多い、ディスク BPS または IOPS が高い、パフォーマンスが低下したなどの問題を診断します。
インスタンスの接続または起動の失敗
Secure Shell Protocol (SSH) または VNC 経由でのリモート接続の失敗、インスタンスのダウン、インスタンスのオペレーティングシステムの起動失敗などの問題を診断します。
ネットワーク問題
ECS インスタンスのネットワークパフォーマンスの低下や ping の失敗などの問題を診断します。
インスタンスの操作が有効にならなかった
ディスク拡張が適用されなかったなど、ECS インスタンスでの操作が有効にならなかった問題を診断します。
リソースクォータの不足
ECS リソースクォータに達したために発生する問題を診断します。例としては、ディスク容量クォータの不足、イメージクォータの不足、Elastic Network Interface (ENI) またはセキュリティグループの最大数への到達などがあります。
セキュリティリスクの検出
システムの脆弱性、セキュリティアラート、悪意のあるプロセスなど、ECS インスタンスのセキュリティリスクを診断します。
インスタンス料金とセキュリティ動作の監査
ECS インスタンスのステータス、インスタンス料金、セキュリティグループに関連する操作を監査および追跡します。
説明インスタンス料金とセキュリティ動作の監査機能を使用するには、セルフサービスのインスタンスのトラブルシューティングのためのサービスリンクロールと権限が必要です。詳細については、「サービスリンクロール AliyunServiceRoleForECSSelfService」をご参照ください。
インスタンスデバイスの検出
インスタンス上の GPU などのデバイスが正常に実行されているかどうかを確認します。
その他の問題
問題の詳細、インスタンス ID、および対応するトラブルシューティングのエポックを直接入力できます。
実際の診断項目は異なる場合があります。診断レポートで、[診断項目の詳細] の下のタブをクリックして、項目とその進捗状況を表示します。診断には数分かかります。現在のページで進捗状況を表示するか、ダイアログボックスを閉じて診断タスクリストで進捗状況とレポートを確認できます。
診断レポートを表示します。
診断レポートには、次の情報が含まれます:
基本情報: 診断時間範囲、リソース ID、レポート ID、診断時間などが含まれます。
診断結果: すべてのチェックが正常な場合、結果は [インスタンスに異常は見つかりませんでした] となります。異常な項目が見つかった場合は、特定の項目が推奨されるソリューションとともに表示されます。推奨事項に従って問題を解決できます。
診断項目の詳細: 各診断項目の結果が含まれ、重大度レベルは「重大」、「警告」、「合格」です。
説明インスタンス料金とセキュリティ動作の監査機能を使用する場合、次の方法で詳細情報を取得することもできます:
より多くの監査情報をクエリするには、ActionTrail コンソールに移動します。
課金情報をクエリするには、請求詳細に移動します。
診断レポートを使用して問題を解決できます。
一般的な問題については、ドキュメントでソリューションを見つけることができます。詳細については、「ECS インスタンスのゲスト OS の一般的な問題と解決策」をご参照ください。
インスタンスの起動失敗については、ECS インスタンスにログインし、アタッチされた修復ディスクを使用して問題を修正できます。
診断履歴の表示
インスタンスの過去のヘルス状態を確認するには、診断履歴を表示します。
ECS コンソールにログインします。
インスタンスの診断履歴を表示します。
左側のナビゲーションウィンドウで、 を選択します。
トップナビゲーションバーで、リージョンを選択します。
[インスタンスのトラブルシューティング] タブで、[履歴の表示] をクリックします。
[検出履歴] ページで、[インスタンスのヘルス診断] タブをクリックし、リソース ID またはレポート ID を入力して、
アイコンをクリックします。
説明診断履歴レポートリストでは、[アクション] の左側にある
アイコンをクリックし、ステータスを選択してリストを絞り込むことができます。単一の診断履歴エントリについては、[レポートを表示] をクリックして詳細なレポートを表示するか、[再診断] をクリックして新しい診断を開始できます。
OpenAPI
診断メトリックをクエリできます。
DescribeDiagnosticMetrics を呼び出して診断メトリックをクエリします。利用可能な診断メトリックのリストについては、「診断項目と結果」をご参照ください。
診断メトリックコレクションを管理できます。
診断メトリックコレクションには 2 つのタイプがあります。それらを使用して診断レポートを作成できます。
パブリック診断メトリックコレクション: パブリック診断メトリックコレクションは、一般的なユーザーの問題に基づいており、診断プロセスを簡素化するのに役立ちます。
パブリック診断メトリックコレクションは Alibaba Cloud によってメンテナンスされます。変更することはできません。DescribeDiagnosticMetricSets を呼び出して、パブリック診断メトリックコレクションをクエリできます。現在サポートされているパブリック診断メトリックコレクションは次のとおりです。
メトリック名
説明
シナリオ
dms-instancedefault
デフォルトの診断コレクション
ECS インスタンスの包括的なチェックに使用されます。
カスタム診断メトリックコレクション: 特定の診断メトリックのみをチェックしたい場合は、CreateDiagnosticMetricSet を呼び出してカスタム診断メトリックコレクションを作成できます。コレクションが作成された後、DescribeDiagnosticMetricSets を呼び出してクエリできます。
次のサンプル応答は、test という名前のカスタム診断メトリックコレクションが作成されたことを示しています。
{ "RequestId": "6AF68D67-601A-5278-AB10-4195CCA7****", "MetricSets": [ { "Type": "User", "MetricIds": [ "Instance.ControllerError", "Instance.CPUException", "Instance.CPUSplitLock" ], "MetricSetId": "dms-uf6ck3iljpbft15i****", "ResourceType": "instance", "MetricSetName": "test" } ] }
診断レポートを作成できます。
カスタムまたはパブリックの診断メトリックコレクションを使用して診断レポートを作成するには、CreateDiagnosticReport を呼び出します。
次のサンプル応答は、診断レポートが正常に作成されたことを示しています。
{ "RequestId": "A1283ACE-2F19-54B9-9464-401EBD1A****", "ReportId": "dr-uf6aacg5g2fjp64i****" }診断レポートをクエリできます。
DescribeDiagnosticReports を呼び出して、診断レポートの詳細をクエリできます。応答は、コレクション内の各診断メトリックの診断結果を返します。診断項目の結果の詳細については、「診断項目と結果」をご参照ください。
次のサンプル応答は、診断が正常であり、問題が見つからなかったことを示しています。
{ "RequestId": "20381C19-C31B-52AE-AC9B-8AD672E4****", "NextToken": "", "Reports": [ { "Status": "Finished", "EndTime": "2022-09-07T15:36Z", "ResourceId": "i-uf653eye7pkftni****", "MetricSetId": "dms-uf6ck3iljpbft15i****", "Issues": [], "StartTime": "2022-09-05T15:36Z", "CreationTime": "2022-09-07T15:36Z", "ReportId": "dr-uf6aacg5g2fjp64i****", "ResourceType": "instance", "Severity": "Normal", "FinishedTime": "2022-09-07T15:36Z" } ] }