次の方法で共有


自動修復ポリシーが有効になっている場合でも、Azure Virtual Machine Scale Set インスタンスは修復されません

Azure VMSS インスタンスは "異常" 状態のままであり、自動修復ポリシーが有効になっている場合でも修復されません。 この記事では、この問題の考えられる原因と対応する解決策について説明します。

スケール セットで自動修復ポリシーが正しく有効になっていません

VMSS が自動修復にオプトインしていることを確認するには、そのサービスの状態を 確認します

orchestrationServicesプロパティの下で、自動修復のserviceStateRunning場合、VMSS は自動修復にオプトインされます。

serviceStateNotRunningされている場合、または自動修復ポリシーが orchestrationServices プロパティに表示されない場合は、スケール セットで自動修復ポリシーを有効にする必要があります。 詳細については、「 既存のスケール セットを更新するときの自動修復ポリシーの有効化を参照してください。

serviceStateSuspendedされている場合は、「自動修復がスケール セットで中断されました。失敗した修復が多すぎるために移動します。

スケール セットで正常性の監視が正しく構成されていない

スケール セット内のすべてのインスタンスが "異常" と表示される場合は、セットアップ中に正常性監視プローブが正しく構成されていないことを示している可能性があります。 アプリケーションが、構成されたエンドポイントに対して予想される HTTP/HTTPS/TCP 応答を出力していることを確認します。

"正常" 状態を実現するために、アプリケーション正常性拡張機能プローブまたはロード バランサーの正常性プローブには、少なくとも、構成されたエンドポイントでアプリケーションからの 2xx HTTP(S) 応答または成功した TCP ハンドシェイクが必要です。 予想される応答が受信されない場合は、"異常" 状態が報告されます。 アプリケーションによって指定されたエンドポイントに正しい正常性シグナルが出力されていることを確認します。

ロード バランサーの正常性プローブに対して予想される TCP/HTTP(S) 応答の詳細については、「 Load Balancer カスタム プローブを参照してください。

アプリケーション正常性拡張機能プローブに対して予想される TCP/HTTP(S) 応答の詳細については、「 インスタンスの自動修復を使用するためのリソース」の「正常性状態を提供するようにエンドポイントを構成する」セクションを参照してください

プロビジョニングエラーが原因でインスタンスが異常としてマークされる

Get インスタンス ビュー VMSS の API バージョン 2019-12-01 以降を使用して、virtualMachine プロパティからstatusesSummaryインスタンスのプロビジョニング状態を表示します。

REST API

GET '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView?api-version=2019-12-01'
"virtualMachine": {
        "statusesSummary": [
            {
                "code": "ProvisioningState/succeeded",
                "count": 2
            }
        ]
}

statusesSummaryの下にProvisioningState/failedコードがある場合は、失敗したインスタンスを削除し、新しいインスタンスをスケール セットに追加します。 現在、インスタンスの修復では、プロビジョニングエラーが原因で仮想マシンが "異常" とマークされるシナリオはサポートされていません

スケール セットから失敗したインスタンスを削除するには、「 スケール セットから VM を削除するを参照してください。

スケール セットに新しいインスタンスを追加するには、「 スケール セットの容量を変更するを参照してください。

自動修復は、失敗した修復が多すぎるため、スケール セットで中断されました

修復の試行が繰り返された後もアプリケーションが "異常" 信号を出力し続ける場合、プラットフォームは最終的に、自動修復の serviceStateSuspended に変更することで、インスタンスの修復を安全策として中断します。

自動修復ポリシーの serviceState を確認します。 これを行うには、「 自動インスタンス修復ポリシーのサービス状態の表示と更新を参照してください。

serviceStateSuspendedされている場合は、setOrchestrationServiceState API とコマンドレットの例を使用して、serviceStateRunning に更新して自動修復を再開自動インスタンス修復ポリシーのサービス状態を表示および更新します

インスタンスが猶予期間にある

上記の原因が問題に該当しない場合は、インスタンスがその猶予期間にある可能性があります。

猶予期間とは、インスタンスで状態が変化した後に自動修復が待機してから修復を実行する時間であり、早期修復や偶発的な修復を回避するのに役立ちます。 修復操作は、インスタンスの猶予期間が完了した後に実行されます。 自動修復の猶予期間設定の詳細については、「 Grace Period」を参照してください。

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。