この記事で分かること
- AWS Inspectorの自動脆弱性スキャンの仕組みと対象リソース
- EC2やECR、Lambdaごとの料金体系と無料枠の活用法
- マネジメントコンソールからの有効化手順とGuardDutyとの違い
AWS Inspectorは、Amazon EC2、AWS Lambda、Amazon ECRのコンテナイメージに対し、ソフトウェアの脆弱性やネットワークの露出を自動かつ継続的にスキャンするサービスです。リソースの変更を検知して即座に診断を実行し、リスクスコアで対応の優先順位を明確に提示します。導入により、手動の定期診断にかかる運用負荷を削減し、AWS環境のセキュリティレベルを常に高く維持できるようになります。
AWS Inspectorとはどのようなサービスか
Amazon Inspectorは、AWS環境上のソフトウェアの脆弱性や意図しないネットワークの露出を継続的にスキャンし、セキュリティの脅威を発見する自動化された脆弱性管理サービスです。手動での定期的な診断ではなく、リソースの変更や新たな脆弱性情報が公開されたタイミングで自動的に評価が行われるため、セキュリティ運用の負担を大幅に軽減します。
AWSにおける脆弱性診断の重要性
AWSを利用する上で、セキュリティとコンプライアンスはAWSとユーザーの間で分担される責任共有モデルに基づいています。AWSはクラウドインフラストラクチャ自体のセキュリティを保護しますが、クラウド環境内のゲストオペレーティングシステム(OS)やアプリケーション、コンテナイメージに存在する脆弱性の管理はユーザー側の責任です。
日々新たなCVE(共通脆弱性識別子)が発見される中で、システムを安全に保つためには対象リソースの継続的なパッチ適用と脆弱性診断が不可欠です。手動での確認や単発の診断ツールでは、新たな脅威への対応が遅れるリスクがあるため、AWS環境に最適化された自動診断の仕組みが求められます。
AWS Inspectorの主な機能と特徴
Amazon Inspectorは、AWS環境のセキュリティ状態を可視化し、リスクを管理するための様々な機能を備えています。主な特徴は以下の通りです。
- Amazon EC2インスタンス、Amazon ECR内のコンテナイメージ、AWS Lambda関数の自動スキャン
- AWS Systems Manager (SSM) エージェントを活用したシームレスなEC2インスタンスの評価
- 新しい脆弱性(CVE)の公開やリソースのデプロイをトリガーとしたイベント駆動型の継続的スキャン
- ネットワークの到達可能性を分析し、意図せず外部に公開されているポートや経路を検出
- ソースコード、サードパーティの依存関係、Infrastructure as Code(IaC)を対象とするCode Security(コードセキュリティ)
検出された脆弱性には、共通脆弱性評価システム(CVSS)の基本スコアにAWS環境のネットワーク状況などを加味した独自のインスペクタースコアが付与されます。これにより、単なる脆弱性の有無だけでなく、実際の環境におけるリスクの大きさを把握できます。
従来バージョンとAmazon Inspector v2の違い
Amazon Inspectorは2021年11月に大幅なアップデートが行われ、新しいアーキテクチャである「Amazon Inspector v2」が提供開始されました。以前のバージョン(Amazon Inspector Classic)と比較して、スキャン方式や管理のしやすさが大きく向上しています。なお、AWSの公式ドキュメントによると、Amazon Inspector Classicは2024年12月18日に提供を終了しています。
| 比較項目 | 従来バージョン (Classic) | Amazon Inspector v2 |
|---|---|---|
| スキャン方式 | ユーザーが設定したスケジュールに基づく定期的なスキャン | イベント駆動型の継続的な自動スキャン |
| 対象リソース | 主にAmazon EC2インスタンス | Amazon EC2、Amazon ECR、AWS Lambda |
| エージェント | 専用のInspectorエージェントのインストールが必要 | AWS Systems Manager (SSM) エージェントを統合利用 |
| 組織管理 | AWSアカウントごとの個別設定・管理 | AWS Organizationsと統合し、組織全体で一元管理が可能 |
現在利用できるのはAmazon Inspector v2です。対象リソースの拡大や、専用エージェントの廃止による運用負荷の軽減など、クラウドネイティブな環境に合わせたより実用的なサービスへと進化しています。
AWS Inspectorを導入するメリット
AWS環境でシステムを運用する際、セキュリティの確保は重要な課題です。AWS Inspectorを導入することで、脆弱性管理にかかる運用負荷を大幅に軽減しながら、迅速かつ正確なリスク対応が可能になります。ここでは、具体的な導入メリットを3つの観点から解説します。
自動化された継続的な脆弱性スキャン
AWS Inspectorの最大の利点は、スキャンプロセスが完全に自動化され、継続的に実行される点です。従来のような手動でのスキャン実行や、定期的なスケジュールの設定は必要ありません。
システム環境に変化が生じたタイミングや、新たな脆弱性情報が公開されたタイミングで自動的にスキャンがトリガーされます。具体的には以下のような条件でスキャンが実行されます。
- Amazon EC2インスタンスが新しく起動されたとき、または既存のインスタンスに新しいソフトウェアがインストールされたとき(後者はLinuxとMac)
- Amazon ECRに新しいコンテナイメージがプッシュされたとき
- AWS Lambda関数が新規作成または更新されたとき
- 新しいCVE(共通脆弱性識別子)がデータベースに追加されたとき
このように、常に最新の脅威情報に基づいて自動で診断が行われるため、管理者が意識することなくシステムの安全性を維持できます。
AWS環境とシームレスに統合できる利便性
AWSのネイティブサービスであるため、他のAWSサービスとの連携が容易であり、組織全体のセキュリティ管理を効率化できます。特にマルチアカウント環境を運用している場合、AWS Organizationsと統合することで、すべてのアカウントの脆弱性管理を1つの委任された管理者アカウントに集約できます。
また、検出された脆弱性情報は自動的にAWS Security Hubにルーティングされます。これにより、他のセキュリティサービス(Amazon GuardDutyなど)の検出結果と合わせて、セキュリティ状況を単一のダッシュボードで把握することが可能です。さらに、Amazon EventBridgeと連携させることで、重大な脆弱性が検出された際に自動でSlackやメールへ通知を送ったり、AWS Systems Managerを通じて自動修復プロセスを実行したりするワークフローも容易に構築できます。
リスクスコアによる優先順位付けが容易
脆弱性診断ツールを導入した際によくある課題が、膨大な数の脆弱性が検出され、どこから手をつけるべきか判断が難しくなることです。AWS Inspectorは、検出された脆弱性に対して独自のリスクスコア(Inspectorスコア)を算出し、対応の優先順位付けを支援します。
一般的な脆弱性評価で用いられるCVSS(共通脆弱性評価システム)の基本スコアは、脆弱性そのものの深刻度を示すものであり、実際の運用環境におけるリスクを正確に反映しているとは限りません。AWS Inspectorは、CVSSスコアに加えて、AWS環境特有のネットワーク到達可能性や、悪用可能なエクスプロイトコードの存在有無などを加味してスコアを算出します。
| 評価指標 | CVSS基本スコア | Amazon Inspectorスコア |
|---|---|---|
| 評価の基準 | 脆弱性そのものの理論的な深刻度 | 実際のAWS環境における実用的なリスク |
| 環境要因の考慮 | 考慮されない | ネットワークの到達可能性などを考慮 |
| 脅威インテリジェンス | 静的な評価 | エクスプロイトの活動状況などを動的に反映 |
例えば、CVSSスコアが高い脆弱性であっても、対象のEC2インスタンスがインターネットから隔離されたプライベートサブネットに配置されており、外部からのアクセス経路が存在しない場合、Inspectorスコアは低く調整されます。これにより、本当に対応が必要な致命的な脆弱性を迅速に特定し、限られたリソースを効果的に割り当てることが可能になります。
AWS Inspectorの料金体系
AWS Inspectorは、初期費用がなく、実際にスキャンしたリソースの量に応じて課金される従量課金制を採用しています。料金は対象となるワークロード(EC2、ECR、Lambda)ごとに個別に計算され、利用した分だけ支払う仕組みです。ここでは、各リソースに対する課金対象や計算方法について具体的に解説します。最新の正確な単価については、AWS Inspectorの公式料金ページを確認してください。
EC2インスタンスのスキャン料金
Amazon EC2インスタンスに対するスキャンは、1か月あたりの平均スキャン対象インスタンス数に基づいて課金されます。スキャン手法によって料金単価が異なります。
- エージェントベースのスキャン:AWS Systems Manager(SSM)エージェントを使用して、OSの脆弱性やネットワークの到達可能性を継続的に評価します。
- エージェントレススキャン:EBSスナップショットを利用してスキャンを行う手法で、SSMエージェントがインストールされていないインスタンスにも対応します。スキャンはデフォルトで24時間ごとに実行され、エージェントベースよりも単価が高く設定されています。対象となるのは、アタッチされたEBSボリュームが8個未満で、合計サイズが1,200GB以下のインスタンスなど、公式に定められた条件を満たすものです。
Amazon Inspectorを初めて有効化すると、アカウントはエージェントベースとエージェントレスを併用する「ハイブリッドスキャン」に設定されます。また、オプションとしてOSレベルのCISベンチマーク評価を実行することも可能です。この場合は、インスタンスごとの評価回数に対して追加で課金されます。
Amazon ECRのコンテナイメージスキャン料金
Amazon ECRに保存されたコンテナイメージのスキャン料金は、スキャンのタイミングや環境によって細かく分かれています。
| スキャンタイプ | 課金対象と条件 |
|---|---|
| 初回スキャン | コンテナイメージがECRリポジトリにプッシュされた際に実行される最初のスキャン。イメージごとに課金されます。 |
| 再スキャン | 新しい脆弱性情報(CVE)がデータベースに追加された際、既存のイメージに対して自動で行われるスキャン。再スキャンされたイメージごとに課金されます。 |
| CI/CDオンデマンドスキャン | JenkinsやTeamCityなどのCI/CDツール内で実行されるスキャン。評価されたイメージ数に応じて課金されます。 |
再スキャンの対象となる期間(再スキャン期間)は設定で変更できます。公式ドキュメントによると、2025年5月16日以降に作成されたアカウントの既定値は、プッシュまたは最後に使用された日から14日以内のイメージが対象で、それ以前に作成されたアカウントの既定値は90日です。再スキャン期間はコストにも影響するため、公式の設定画面で確認してください。
AWS Lambda関数のスキャン料金
AWS Lambda関数に対するスキャンは、関数1つあたりの月額料金を、スキャン対象としてカバーされた時間に応じて日割りする形で計算されます。スキャンの種類によって2つの料金体系が存在します。
- スタンダードスキャン:デプロイされたLambda関数内のソフトウェアパッケージや依存関係に存在する脆弱性を評価します。
- コードスキャン:開発者が記述したカスタムアプリケーションコード内の脆弱性(インジェクションの欠陥やハードコードされたシークレットなど)を評価します。
両方のスキャンを有効にした場合は、それぞれの料金が合算されて請求されます。なお、スキャンの対象になるのは、過去90日以内に呼び出された、または更新された関数($LATESTバージョン)です。90日間呼び出しも更新もない関数は、自動的にスキャン対象から外れます。
無料利用枠の活用方法
AWS Inspectorの導入を検討する際、コストを見積もるために無料利用枠を活用できます。適用される条件と対象外の機能は以下の通りです。
- 新規アカウント向けの15日間無料トライアル:EC2インスタンス、ECRのコンテナイメージ、Lambda関数などのスキャンを無料で試せます。
- CI/CDオンデマンドスキャンの無料枠:CI/CDツール内でのコンテナイメージスキャンについて、1アカウントにつき25回分の評価が無料で提供されます。
- 対象外の機能:EC2インスタンスのCISベンチマーク評価は、15日間の無料トライアルに含まれず、実行した場合は課金されます。
無料トライアル期間中は、AWS Inspectorコンソール画面から組織全体での推定コストを確認できるため、本格的な運用開始前に予算の計画を立てることが可能です。
AWS Inspectorの使い方と設定手順
Amazon Inspector(v2)は、従来バージョンと比較して初期設定が大幅に簡略化されています。ここでは、導入から運用までの具体的な手順を解説します。
AWSマネジメントコンソールからの有効化
Amazon Inspectorの有効化は、AWSマネジメントコンソールから数クリックで完了します。AWS Organizationsを利用している環境では、組織全体のアカウントに対して一括で有効化することが可能です。
- AWSマネジメントコンソールにサインインし、Amazon Inspectorのコンソールを開きます。
- 「Get started」を選び、続けて「Activate Amazon Inspector」を選択します(公式ドキュメントの手順に基づく英語表記です)。
- AWS Organizationsを利用している場合は、Organizationsの管理アカウントから委任された管理者アカウントを指定します。
この操作により、対象リージョン内のリソースに対する自動化された継続的なスキャンが開始されます。公式ドキュメントによると、初回の有効化では、EC2、ECR、Lambda標準スキャン、Lambdaコードスキャン、Code Securityのすべてのスキャン種別が既定で有効になります。不要なスキャン種別は、設定画面で個別に無効にできます。
スキャン対象のリソース設定
Amazon Inspectorは有効化されると、デフォルトでアカウント内のAmazon EC2インスタンス、Amazon ECRコンテナイメージ、AWS Lambda関数を自動的に検出し、スキャン対象に含めます。スキャンを適切に実行するためには、各リソースで以下の前提条件を満たす必要があります。
| スキャン対象リソース | 必要な設定・前提条件 |
|---|---|
| Amazon EC2インスタンス | AWS Systems Manager(SSM)エージェントがインストールされ、適切に実行されていること。また、SSMと通信するためのIAMロールがアタッチされている必要があります。 |
| Amazon ECRコンテナイメージ | Amazon ECRのプライベートレジストリにプッシュされたイメージであること。Inspectorによるスキャンを許可するリソースベースのポリシー設定は自動で行われます。 |
| AWS Lambda関数 | サポートされているランタイム環境で実行されていること。過去90日以内に呼び出しまたは更新があること。カスタマーマネージドキー(KMS)で暗号化された関数は、標準スキャン・コードスキャンのどちらも対象外です。コードスキャンを使うには、標準スキャンが有効になっている必要があります。 |
特定のリソースをスキャンの対象外にしたい場合は、AWSリソースタグを利用します。たとえば、EC2インスタンスに「InspectorEc2Exclusion」というキーのタグを付与することで、そのインスタンスをスキャン対象から除外できます。
検出結果の確認と修復プロセス
スキャンによって脆弱性が検出されると、Inspectorコンソールの「検出結果」ダッシュボードに一覧表示されます。各検出結果には、脆弱性の詳細、CVSSスコアをベースにしたInspectorリスクスコア、および推奨される修復手順が含まれます。
検出から修復までの基本的なフローは以下の通りです。
- 検出結果の分析:リスクスコアが「Critical」または「High」の脆弱性を優先的に確認します。
- 影響範囲の特定:該当する脆弱性が存在するEC2インスタンスやコンテナイメージを特定し、稼働中のアプリケーションへの影響を評価します。
- パッチ適用と修復:OSのパッケージアップデートや、コンテナイメージのベースイメージ更新、Lambda関数の依存関係ライブラリのアップデートを実施します。
- 再スキャンの確認:修復作業が完了しリソースが更新されると、Inspectorが自動的に再スキャンを行い、検出結果のステータスが「Closed」に変更されます。
より高度な運用を行う場合は、AWS Security Hubと統合して他のセキュリティアラートと一元管理したり、Amazon EventBridgeを利用して検出結果をトリガーにチャットツールへの通知やAWS Systems Manager Automationによる自動修復を実行したりすることが推奨されます。
よくある質問(FAQ)
AWS InspectorとAmazon GuardDutyの違いは何ですか?
両者はどちらもAWSのセキュリティサービスですが、目的と対象が異なります。AWS Inspectorはシステム内部の脆弱性を未然に発見する予防的なサービスであり、主にEC2インスタンスやコンテナイメージのソフトウェアの欠陥をスキャンします。一方、Amazon GuardDutyはネットワークトラフィックやAPIの呼び出し履歴などを監視し、悪意のある通信や不正アクセスなどの脅威をリアルタイムで検知する発見的なサービスです。
| 比較項目 | AWS Inspector | Amazon GuardDuty |
|---|---|---|
| 主な目的 | 脆弱性管理(予防) | 脅威検出(発見) |
| スキャン対象 | EC2、ECR、Lambda | VPCフローログ、CloudTrail、DNSログなど |
| 検知する内容 | ソフトウェアの脆弱性(CVE)、ネットワークの露出 | 不正アクセス、マルウェアの活動、不審なAPI呼び出し |
AWS Inspectorの料金を安く抑える方法はありますか?
AWS Inspectorの料金はスキャン対象のリソース数やスキャン回数に依存するため、不要なスキャンを減らすことがコスト削減に直結します。具体的な方法として以下の設定が挙げられます。
- 「InspectorEc2Exclusion」タグを付けて、開発環境などスキャンが不要なEC2インスタンスを除外する(除外されたインスタンスは課金されません)
- Amazon ECRのリポジトリを、継続的スキャンではなく、プッシュ時のみスキャンする設定にする(ECR側の基本スキャンはECRが提供・課金する別機能のため、料金はECRの公式ページで確認する)
- ECRのライフサイクルポリシーを活用し、使用されなくなった古いコンテナイメージを自動的に削除してスキャン対象から外す
環境のセキュリティ要件に合わせて、継続的な監視が必要な本番環境とそれ以外の環境でスキャン設定を使い分けることが重要です。
AWS Inspectorはオンプレミスのサーバーにも対応していますか?
AWS公式ドキュメントでは、Amazon InspectorのスキャンはAmazon EC2インスタンス、ECRのコンテナイメージ、Lambda関数が対象と説明されており、オンプレミスや他のクラウドのサーバーをスキャン対象とする記載は確認できませんでした。EC2のエージェントベースのスキャンは、同じAWSアカウント内でSSMに管理されているEC2インスタンスが対象です。オンプレミス環境の脆弱性管理にAmazon Inspectorを使えるかどうかは、導入前にAWSの公式サイトまたはAWSサポートでご確認ください。
AWS Inspectorの診断結果はどのように通知されますか?
AWS Inspector自体にはメールなどを直接送信する機能はありませんが、他のAWSサービスと連携することで柔軟な通知設定が可能です。脆弱性が検出されると、Amazon EventBridgeにイベントが送信されます。これをトリガーとしてAmazon SNS(Simple Notification Service)を呼び出すことで、担当者のメールアドレスやSlackなどのチャットツールへ自動的に通知を送ることができます。
また、AWS Security Hubを有効化している場合は、AWS Inspectorの検出結果が自動的に集約されるため、他のセキュリティサービスのアラートと合わせて一元管理することも一般的です。
AWS Inspectorのスキャン頻度はどのくらいですか?
現在のAWS Inspectorは、従来のようなスケジュールベースの定期スキャンではなく、環境の変化をトリガーとした継続的スキャンを採用しています。具体的には、以下のようなタイミングで自動的にスキャンが実行されます。
- 新しいEC2インスタンスの起動やLambda関数のデプロイ時
- EC2インスタンスへの新しいソフトウェアのインストール時(LinuxとMac)
- AWSの脆弱性データベースに新しいCVE(共通脆弱性識別子)が追加された時
このように、システム構成の変更や最新の脅威情報が公開されたタイミングで即座に評価が行われるため、常に最新のセキュリティ状態を維持することができます。
まとめ
この記事では、AWS環境のセキュリティを強化するAWS Inspectorについて解説しました。主な要点は以下の通りです。
- EC2、ECR、Lambdaに対する自動的かつ継続的な脆弱性スキャンを実行できる
- リスクスコアにより、対応すべき脆弱性の優先順位付けが容易になる
- 料金は対象リソースに応じた従量課金制で、15日間の無料利用枠がある
AWS Inspectorを導入すれば、システムの脆弱性を早期に発見し、適切な対策を講じることが可能です。まずは15日間の無料利用枠を活用し、AWSマネジメントコンソールから有効化して、自社環境のセキュリティ状態を確認してみましょう。










