「このライブラリのサポートいつまでだっけ?」「Lambda ランタイムの EOL っていつだったかな?」
システム運用をしていると、こんな疑問がよく浮かびますよね。サービス・ライブラリの EOL を皆さんはどうやって管理しているでしょうか。
なぜEOLチェックが重要なのか
EOL(End of Life)を放置すると、セキュリティ・運用・ビジネスのリスクが高まります。
- セキュリティ: サポート終了によりセキュリティパッチが止まり、新規脆弱性が修正されなくなる可能性があります。
- 運用: サポート切れでトラブル対応が困難になり、互換性やテストコストが増えます。
- ビジネス: インシデントやサービス停止は機会損失や信頼低下につながります。
EOL と脆弱性の違い
EOL(End of Life)と脆弱性は混同しやすいので簡潔に違いを示します。
- EOL(End of Life): ソフトウェアやサービスのサポート期間が終了すること。セキュリティパッチや公式サポートが受けられなくなる点が問題です。例: OS の LTS 終了、ランタイムのサポート終了。
- 脆弱性(Vulnerability): 実際に発見されたセキュリティ上の欠陥で、修正やパッチが必要なもの。例: ライブラリの CVE、コンテナ内パッケージの脆弱性。
運用上の扱い方:
- EOL: 計画的な移行(バージョンアップや代替検討)をスケジュールに落とし込み、長期的に管理する
- 脆弱性: 緊急度(severity / EPSS)で優先度をつけて即時対応することが多い(Dependabot / Inspector の検出に基づく)
実務では EOL と脆弱性をセットで確認することが多く、両方を併せて運用フローに組み込むと効果的です。下記で紹介する一部のツールでも、両方のチェックを行うことができます。
EOL確認をしたい
プロダクトで利用している様々な技術スタックの EOL を確認したいのですが、実際のところ大変です。ここでは主要な要素について、どのようにEOLを確認できるかを一度整理します。
コンテナイメージ
コンテナ化されたアプリケーションでは、ベースイメージのOSやその中に含まれるパッケージのEOL状況を把握する必要があります。特にECRで管理しているイメージは、定期的にスキャンして古いコンポーネントを特定することが重要です。
確認手順
方法1: Amazon Inspector
Amazon Inspectorは脆弱性管理を行うツールですが、ECR に保存されたコンテナイメージの EOL を検知可能です。
- Inspector 委任管理者アカウントから Inspector へアクセス
- 脆弱性タブを選択
- フィルターを追加
- title :
Platform End Of Life
- title :
- 一覧を確認

方法2: Security Hub
Security Hub と連携して簡易的なダッシュボードを作ることも可能です。 情報ソースは Amazon Indpector であるため、確認できる情報はいっそですが Security Hub のほうがダッシュボードとして確認しやすいのではないでしょうか。
- Security Hub にアクセス
- フィルターで以下を追加
- 製品名 :
Inspector - title :
Platform End Of Life
- 製品名 :

※アカウントIDは念の為削除
現在の運用課題
- AWS アカウントが100近くあり横断での確認が大変
AWSサービスのEOL(ライフサイクル)
クラウドサービスを利用していると、AWSが提供するサービスのバージョンアップや廃止予定を把握することが重要になります。Lambda ランタイムや Aurora のバージョンなど、事前の情報収集と計画的な移行が必要です。
確認手順
方法1: AWS Health Dashboard
AWS Health Dashboardでは バージョンアップ予定の AWS サービス(Lambda, Auroraなど)、終了予定の AWS サービスが確認可能です。
- management アカウントの Health Dashboard へアクセス
- 「組織の状態」を選択
- 「スケジュールされた変更」をクリック
- LIFECYCLE 系のイベントをチェック

方法2: メール通知
正直にいえば上記の AWS Health Dashboard コンソールへアクセスしてのチェックは大変なため、AWS からの EOL のメール通知を元に対応しています。
現在の運用課題
- メールでの通知を目視で確認するため、見落としリスクあり
- Health の情報はアカウント単位で表示されるため、Organizations横断での横断確認が手作業になっている
- 集計やレポートが手作業(Config クエリ→スプレッドシート等)で運用コストが高い
OSS ライブラリ(GitHub Dependabot Dashboard)
カケハシでは Github Dependabot + Renovate で OSS ライブラリの脆弱性管理を行っています。
本格的に OSSライブラリの EOL を管理したい場合は SBOM を作成して endoflife.date 等で突き合わせる必要があります。今回は Github Dependabot Dashboard で脆弱性パッチ適用状況を確認し、簡易的な EOL 管理の代替とします(今後の課題)。
確認手順
- GitHub Dependabot Dashboard にアクセス
- プロダクトごとにリポジトリをフィルタリング
- 私は Github Teams で開発チームごとにフィルタリング
- さらに不要なリポジトリを
-repo:でフィルタリング
- 優先度(
has:patch、severity、epss_percentage)ごとの件数を確認する- 特に
epss_percentage:>=0.01のアラートを確認 - ※EPSS とは、その脆弱性が実際に攻撃で悪用される可能性を示すスコア
- 特に

現在の運用課題
- 量が多くアラートが減らない
- AIを活用して改善の動きあり
- 本格的な OSS ライブラリの EOL 管理
- 特に言語、フレームワークなどの
おわりに
EOL管理は一度設定すれば終わりではなく、継続的に監視していく必要があります。今回紹介した手法を組み合わせることで、以下のような包括的なEOL管理が可能になります:
- コンテナイメージ: Amazon Inspector / Security Hub での自動検知
- AWSサービス: Health Dashboard での計画的な情報収集
- OSSライブラリ: GitHub Dependabot での継続的な脆弱性管理
しかし現在は手動・目視での確認が中心で、運用負荷が高い状況です。今後はこれらの課題を改善していき、より効率的で漏れのないEOL管理を実現していきたいと考えています。
皆さんの組織ではどのような EOL 管理をしていますか?より良い手法があれば、ぜひ教えてください!
文責:西山