【Security Hub修復手順】[EC2.4] 停止した EC2 インスタンスは指定した期間後に削除する必要があります

【Security Hub修復手順】[EC2.4] 停止した EC2 インスタンスは指定した期間後に削除する必要があります

AWS SecurityHub 基礎セキュリティのベストプラクティスコントロール修復手順をご紹介します。
2026.03.10

こんにちは!フニです。

皆さん、お使いのAWS環境のセキュリティチェックはしていますか?

当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修復手順をご紹介します。

本記事の対象コントロール

[EC2.4] 停止した EC2 インスタンスは、指定した期間後に削除する必要があります

[EC2.4] Stopped EC2 instances should be removed after a specified time period

前提条件

本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容となります。
AWS Security Hubの詳細についてはこちらのブログをご覧ください。

https://dev.classmethod.jp/articles/lets-learn-aws-security-hub/

https://dev.classmethod.jp/articles/aws-security-operation-with-securityhub-2021/

対象コントロールの説明

このコントロールは、Amazon EC2インスタンスが許可された日数を超えて停止状態のままになっていないかをチェックします。デフォルトでは30日間を超えて停止状態になっているインスタンスがある場合にコントロールが失敗します。なお、カスタムパラメータとして AllowedDays を指定することで、許可する日数を1日から365日の範囲で変更できます。また、AWS Configの履歴データの保持期間を超えて停止しており、停止期間が特定できないインスタンスについてもコントロールが失敗します。

EC2インスタンスを停止したまま長期間放置していると、その間にOSやミドルウェアのセキュリティパッチが適用されず、脆弱性が蓄積されていきます。停止中のインスタンスはセキュリティの監視や分析の対象から外れてしまうため、問題が検知されにくい状態になります。

このようなインスタンスを後から起動した場合、パッチが未適用の脆弱な状態でネットワークに接続されることになり、不正アクセスやマルウェア感染のリスクが高まります。また、使用していないインスタンスに関連付けられたEBSボリュームやElastic IPアドレスなどのリソースに対して不要なコストが発生し続ける可能性もあります。

対応する場合は、不要なインスタンスを終了(terminate)することになります。インスタンスを終了すると、そのインスタンスは完全に削除され、元に戻すことはできません。終了前に、インスタンスに保存されているデータのバックアップが必要かどうかを確認してください。EBSボリュームの DeleteOnTermination 属性が true に設定されている場合、インスタンスの終了と同時にEBSボリュームも削除されます。必要に応じて、事前にAMIやEBSスナップショットを取得しておくことを推奨します。

ただし、メンテナンス期間中に定期的に起動・停止を行っているインスタンスや、障害対応用に待機させているインスタンスなど、意図的に停止状態で保持しているケースもあります。その場合は、このコントロールへの対応は不要です。Security Hubで当該コントロールを「抑制済み」に設定するか、カスタムパラメータ AllowedDays の値を環境に合わせて調整してください。また、停止中のインスタンスを安全に維持するためには、定期的に起動してパッチ適用やメンテナンスを実施し、その後再度停止するという運用が推奨されています。理想的には、このプロセスを自動化することが望ましいです。

詳細は以下の公式ドキュメントをご参照ください。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html

https://docs.aws.amazon.com/config/latest/developerguide/ec2-stopped-instance.html

修復手順

1 ステークホルダーに確認

ステークホルダー(リソースの作成者や管理している部署などの関係者)に以下の点を確認します。

  • 対象の停止中EC2インスタンスを終了(terminate)して良いか
    • インスタンスを終了すると完全に削除され、元に戻すことはできません。必要に応じて事前にAMIやEBSスナップショットを取得してください。
    • DeleteOnTerminationtrue のEBSボリュームはインスタンスと同時に削除されます。
    • 対応しない場合は、その理由を確認し、Security Hubで当該コントロールを「抑制済み」に設定します。

2 停止中のEC2インスタンスを終了する

  1. AWSマネジメントコンソールにサインインし、EC2コンソールを開きます。

CleanShot 2026-03-10 at 10.54.06@2x.png

  1. 左側のナビゲーションペインから「インスタンス」を選択します。

CleanShot 2026-03-10 at 10.54.45@2x.png

  1. 必要に応じて、終了前にバックアップを取得します。
  • AMIを作成する場合:「アクション」→「イメージとテンプレート」→「イメージを作成」を選択します。

CleanShot 2026-03-10 at 10.57.06@2x.png

  • EBSスナップショットを取得する場合:「ストレージ」タブからボリュームIDを確認し、EBSコンソールでスナップショットを作成します。

CleanShot 2026-03-10 at 10.58.51@2x.png

CleanShot 2026-03-10 at 11.00.38@2x.png

  1. 対象のインスタンスを選択した状態で、「インスタンスの状態」→「インスタンスを終了」を選択します。

CleanShot 2026-03-10 at 11.01.35@2x.png

  1. 内容を確認し「終了」をクリックします。

CleanShot 2026-03-10 at 11.02.17@2x.png

  1. インスタンスの状態が「終了済み」に変わったことを確認します。

CleanShot 2026-03-10 at 11.03.05@2x.png

最後に

今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。

コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!

最後までお読みいただきありがとうございました!どなたかのお役に立てれば幸いです。

以上、フニでした!

この記事をシェアする

FacebookHatena blogX

関連記事