🔍 AWS ECR イメージスキャン

基本スキャン vs 拡張スキャン - どちらを選ぶべき?

🏥 健康診断で例えると超わかりやすい!

ECRイメージスキャン = Dockerイメージの「健康診断」

コンテナイメージに潜む脆弱性を見つけ出すセキュリティ機能です。
AWSは2つのスキャン方法を提供しています。

基本スキャン :年1回の簡易健康診断 🩺
拡張スキャン :24時間体制の健康モニタリング 🏥

どちらがあなたのプロジェクトに最適か、一緒に見ていきましょう!

🩺
基本スキャン
Basic Scanning (Clair)
🎯 仕組み
オープンソースのClairエンジンを使用。プッシュ時またはオンデマンドでイメージをスキャンします。
📋 スキャン対象
• OSパッケージの脆弱性のみ
• CVEデータベースと照合
• Linux系OSパッケージが主な対象
スキャンタイミング
• イメージプッシュ時に自動実行
• または手動でオンデマンド実行
• 1回限りのスキャン
メリット
• 完全無料!
• 設定が簡単
• 軽量で高速
• 基本的な脆弱性検出には十分
💰 完全無料
🏥
拡張スキャン
Enhanced Scanning (Amazon Inspector)
🎯 仕組み
Amazon Inspectorと統合。AIと機械学習を活用した高度なスキャンエンジン。
📋 スキャン対象
• OSパッケージの脆弱性
• プログラミング言語パッケージ
(Python, Node.js, Java, Go, Ruby, .NET等)
• アプリケーション依存関係の脆弱性
スキャンタイミング
• 継続的な自動スキャン
• 新しい脆弱性が発見されたら自動再スキャン
• 24時間体制の監視
メリット
• より広範囲な脆弱性検出
• CVSSスコアリング対応
• 継続的な監視
• 詳細なレポートと修復ガイダンス
• Security Hubとの統合
💰 有料(従量課金)

🏥 健康診断のたとえ話

🩺

基本スキャン
「年1回の健康診断」

📍 シチュエーション:
会社の定期健康診断。身長、体重、血圧、基本的な血液検査だけ。
🔍 何をチェック?
• 基本的な健康状態(OSパッケージ)
• 明らかな問題の発見
• 一般的な病気の有無
⏰ いつチェック?
年1回、または体調不良を感じた時だけ病院へ。 普段は監視なし。
💰 コスト:
会社負担で無料!でも検査項目は限定的。
🎯 こんな人向け:
• 健康には自信がある
• 基本的なチェックで十分
• コストを抑えたい
🏥

拡張スキャン
「24時間健康モニタリング」

📍 シチュエーション:
スマートウォッチで心拍数、睡眠、運動量を24時間監視。異常があればすぐアラート。
🔍 何をチェック?
• 基本的な健康状態(OSパッケージ)
• 食生活・運動習慣(言語パッケージ)
• ストレスレベル(依存関係)
• 睡眠の質(アプリケーション層)
⏰ いつチェック?
24時間365日監視。 新しい病気が発見されたら、過去のデータも再チェック!
💰 コスト:
月額料金がかかるけど、健康リスクを早期発見できる安心感。
🎯 こんな人向け:
• 健康管理を徹底したい
• 早期発見・早期対応が重要
• 包括的な健康情報が欲しい

⚠️ 脆弱性の深刻度レベル (CVSS)

CRITICAL
9.0-10.0
緊急対応必須!
今すぐ修正
HIGH
7.0-8.9
高リスク
優先的に対応
MEDIUM
4.0-6.9
中リスク
計画的に対応
LOW
0.1-3.9
低リスク
監視継続
💡 拡張スキャンの強み:
拡張スキャンでは、各脆弱性にCVSSスコア(0-10)が付与され、リスクの優先順位付けが簡単!基本スキャンでは単に「脆弱性あり/なし」の判定のみ。

🔄 スキャンの流れを比較

基本スキャンの流れ
1 イメージプッシュ
Dockerイメージを
ECRにプッシュ
⬇️
2 スキャン実行
Clairエンジンが
OSパッケージをスキャン
(1回限り)
⬇️
3 結果確認
CVEリストで
脆弱性を確認
(基本情報のみ)
⬇️
4 完了
次のプッシュまで
監視なし
新しい脆弱性は検出されない
拡張スキャンの流れ
1 イメージプッシュ
Dockerイメージを
ECRにプッシュ
⬇️
2 初回スキャン
Amazon Inspectorが
OS + 言語パッケージを
包括的にスキャン
⬇️
3 継続監視
24時間監視継続!
新しい脆弱性が発見されたら
自動で再スキャン
⬇️
4 詳細レポート
CVSSスコア付き
修復方法の提案
Security Hub連携
EventBridge通知

📊 詳細比較表

項目 基本スキャン 拡張スキャン
スキャンエンジン Clair (オープンソース) Amazon Inspector
OSパッケージ ✅ 対応 ✅ 対応
言語パッケージ ❌ 非対応 ✅ 対応(Python, Node.js, Java等)
スキャン頻度 プッシュ時 or オンデマンド 継続的(24/7)
新規脆弱性検出 ❌ 再スキャン必要 ✅ 自動再スキャン
CVSSスコアリング ❌ なし ✅ あり(0-10)
修復ガイダンス 基本的な情報のみ 詳細な修復手順
Security Hub統合 ❌ 非対応 ✅ 対応
EventBridge通知 基本的な通知 詳細なイベント通知
料金 ✅ 完全無料 ⚠️ 有料(従量課金)
推奨される用途 開発環境、個人プロジェクト 本番環境、エンタープライズ

💼 どちらを選ぶべき?シナリオ別ガイド

🩺

基本スキャンを選ぶべきケース

✅ こんな状況ならコレ:

• 個人プロジェクトや小規模開発
• 開発・検証環境のみ
• セキュリティ要件が比較的緩い
• コストを最小限に抑えたい
• OSレベルの脆弱性チェックで十分
• 定期的に手動でスキャンできる

💡 具体例:
「趣味のWebアプリをコンテナ化。
基本的なセキュリティチェックができればOK」
🏥

拡張スキャンを選ぶべきケース

✅ こんな状況ならコレ:

• 本番環境で稼働
• エンタープライズレベルのセキュリティ
• 顧客データを扱う
• コンプライアンス要件が厳しい
• Node.js、Python等の依存関係も監視
• ゼロデイ攻撃に備えたい
• Security Hubで一元管理

💡 具体例:
「金融系SaaSサービス。常に最新の脆弱性情報でイメージを監視し、問題があれば即座に検知・対応したい」
🎯

ハイブリッド戦略

✅ 賢い組み合わせ方:

開発環境:
• 基本スキャンで初期チェック
• コストを抑えつつ基本的な問題を検出

ステージング環境:
• 拡張スキャンでより詳細にチェック
• 本番投入前の最終確認

本番環境:
• 拡張スキャンで24時間監視
• 最高レベルのセキュリティ保証

💡 メリット:
コストと セキュリティのバランスを最適化!
📈

段階的な移行戦略

✅ おすすめの導入ステップ:

フェーズ1: 基本スキャンで開始
• まずは無料で始めてみる
• スキャン結果の確認フローを確立

フェーズ2: 一部で拡張スキャンを試す
• 重要なサービスから拡張に移行
• コストと効果を測定

フェーズ3: 本番環境全体に展開
• ROIが確認できたら全面展開
• Security Hub連携で自動化

💡 ポイント:
いきなり全部じゃなくて、段階的に!
💡 選択のゴールデンルール
1. まずは無料の基本スキャンから始めよう:
ECRを使い始めたら、まず基本スキャンを有効化。リスクゼロで始められる!

2. 本番環境には拡張スキャン一択:
顧客データを扱う本番環境では、拡張スキャンの継続監視が必須。
セキュリティインシデントのコストと比較すれば、スキャン費用は安い投資。

3. 言語パッケージを使ってる?→拡張スキャン:
Node.js、Python、Javaなどの依存関係が多いアプリケーションは、基本スキャンでは不十分。
npm、pip、mavenパッケージの脆弱性も検出できる拡張スキャンを選ぼう。

4. コンプライアンス要件を確認:
• PCI DSS、HIPAA等の規制対象?→拡張スキャン必須
• 継続的な脆弱性管理が求められる?→拡張スキャン
• 監査証跡が必要?→拡張スキャン(Security Hub連携)

5. コストの考え方:
拡張スキャンの料金は「イメージ数 × スキャン頻度」で決まる。
• 少数のイメージ→影響小
• 大量のイメージ→コストを事前計算
• 使わないイメージは定期的に削除してコスト削減!

6. 通知設定を忘れずに:
スキャンしても結果を見なければ意味がない!
• EventBridgeでSlack/Teams通知
• Security Hubのダッシュボードで一元管理
• CRITICAL/HIGHは即座にアラート

7. 定期的な見直しを:
3ヶ月ごとにスキャン結果とコストを見直し。
プロジェクトの成長に合わせて、基本→拡張への移行を検討しよう!

🎓 まとめ

🏥 健康診断 = ECRスキャン

コンテナイメージのセキュリティは、人間の健康管理と同じ。
基本的なチェックから始めて、必要に応じて詳細な監視へ!

🩺
基本スキャン

年1回の健康診断
無料で基本的な
チェックができる
🏥
拡張スキャン

24時間健康監視
継続的に詳細な
チェックで安心

🎯 決定チャート:

本番環境で顧客データを扱う?
→ YES なら 拡張スキャン 一択!

開発・テスト環境だけ?
基本スキャン でOK!

Node.js/Python/Java使ってる?
拡張スキャン で依存関係も監視!

迷ったら?
→ まず 基本スキャン で始めて、
成長に合わせて 拡張スキャン へ!

セキュリティは投資です!
適切なスキャン方法を選んで、安全なコンテナ運用を実現しましょう!
まずは無料の基本スキャンから始めて、
プロジェクトの成長とともにステップアップ!🎉

Created by SSuzuki1063

AWS SAP Learning Resources