AWS OpsWorks Stacks インスタンスが停止した原因を調べるにはどうすればよいですか。

最終更新日: 2021 年 9 月 9 日

AWS OpsWorks Stacks によって管理されている Amazon Elastic Compute Cloud (Amazon EC2) インスタンスの 1 つが実行を停止しました。何が原因でインスタンスが停止したのかを確認する方法は。

簡単な説明

OpsWorks Stacks インスタンスを停止するには、2 つの方法があります。

重要: OpsWorks Stacks は、Amazon EC2 コンソールで実行される開始、停止、または再起動オペレーションを認識しません。詳細については、「24/7 インスタンスの手動による起動、停止、および再起動」を参照してください。

OpsWorks Stacks インスタンスが停止したことを確認するには、次のいずれかを実行します。

AWS CloudTrail を確認して、Amazon EC2 StopInstances API コールと OpsWorks Stacks StopInstances API コールの同時実行を確認します。

2 つの API コールが同じ時間帯にログに記録されている場合、インスタンスは OpsWorks Stacks 側で手動で停止されていることになります。Amazon EC2 stopInstances API コールのみがログに記録されている場合は、オートヒーリングがインスタンスに適用されています。

インスタンスのエージェントログを確認して、インスタンスが停止したときに OpsWorks エージェントがまだキープアライブシグナルを送信しているかどうかを確認します。

インスタンスが停止したときに正常なキープアライブシグナルがログに記録された場合、インスタンスは OpsWorks Stacks 側で手動で停止されたことになります。キープアライブログが見つからない場合、またはインスタンスが停止したときに失敗したシグナルの試行が記録された場合は、オートヒーリングが適用されています。

オートヒーリングがインスタンスに適用された場合は、「AWS OpsWorks Stacks が正常なインスタンスを予期せずに再起動するのを停止するにはどうすればよいですか。」を参照してください。 インスタンスが手動で停止した場合は、StopInstance API コールを行った AWS Identity and Access Management (IAM) ロールを確認します。次に、そのロールにアクセスできるユーザーを特定し、そのユーザーがインスタンスを停止した理由を調べます。

解決方法

Amazon EC2 StopInstances API コールについて、インスタンスの CloudTrail ログを確認する

1.    CloudTrail コンソールを開きます。

重要:選択した AWS リージョンが、インスタンスと同じリージョンであることを確認してください。

2.    左のナビゲーションペインで [イベント履歴] をクリックします。

3.    [イベント履歴] ページの左上にある [フィルター] ドロップダウンリストを選択します。次に、[リソース名] を選択します。

4.    フィルタードロップダウンリストの右側にある検索テキストボックスに、 Amazon EC2 インスタンス ID を入力します。インスタンスに関連付けられたすべてのイベントの結果が表示されます。

5.    [イベント名] 列で、StopInstances を探します。

6.    StopInstances イベント行の [イベント時間] 列で、API コールのタイムスタンプをメモします。このタイムスタンプは、OpsWorks Stacks StopInstance API コールインスタンスの CloudTrail ログを確認するときに参照します。

7.    [イベント名] 列でイベントの名前 (StopInstances) を選択して、イベントレコードを開きます。

8.    [イベントレコード] ウィンドウで、「invokedBy」の値を探します。インスタンスが OpsWorks Stacks 側で手動またはオートヒーリングによって停止された場合、Amazon EC2 StopInstances API レスポンスには次の出力が表示されます。

"invokedBy": "opsworks.amazonaws.com"

注: イベントレコードには、インスタンスにオートヒーリングが適用されたかどうかのインジケータはありません。

インスタンスの CloudTrail ログを確認して、OpsWorks Stacks StopInstance API コールを確認

1.    CloudTrail コンソールを開きます。

重要:選択した AWS リージョンがOpsWorks Stacks API エンドポイントと同じリージョンであることを確認してください

2.    左のナビゲーションペインで [イベント履歴] をクリックします。

3.    [イベント履歴] ページの左上にある [フィルター] ドロップダウンリストを選択します。次に、[リソース名] を選択します。

4.    フィルタードロップダウンリストの右側にある検索テキストボックスに、OpsWorks Stacks インスタンス ID を入力します。インスタンスに関連付けられたすべてのイベントの結果が表示されます。

5.    [イベント名] 列で、StopInstance を探します。

6.    StopInstance イベント行の [イベント時間] 列で、イベントのタイムスタンプが Amazon EC2 stopInstances イベントのタイムスタンプと同じかどうかを確認します。

StopInstances API コールが StopInstances API コールと同時にログに記録される場合、インスタンスは OpsWorks Stacks 側で手動で停止されたことになります。

StopInstances API コールと同時に StopInstances API コールが記録されない場合は、オートヒーリングがインスタンスに適用されたことになります。

(オプション) インスタンスのエージェントログを確認して、インスタンスが停止したときに OpsWorks エージェントがまだキープアライブシグナルを送信しているかどうかを確認します。

SSH (セキュアシェル) を使用して Linux インスタンスに接続するか、Windows リモートデスクトッププロトコル (RDP) を使用して Windows インスタンスに接続します。次に、インスタンスの OpsWorks エージェントログにログファイル opsworks-agent.keep_alive.log があるかどうかを確認します。

インスタンスが停止したときに正常なキープアライブシグナルがログに記録された場合、インスタンスは OpsWorks Stacks 側で手動で停止されたことになります。キープアライブログが見つからない場合、またはインスタンスが停止したときに失敗したシグナルの試行が記録された場合は、オートヒーリングが適用されています。


この記事は役に立ちましたか。


請求に関するサポートまたは技術サポートが必要ですか?