【AWS】Amazon Inspectorの料金について!

この記事では『Amazon Inspectorの料金』について、

  • Amazon Inspectorの料金の一覧
  • 「Amazon EC2インスタンス」のスキャンにかかる料金と計算例
  • 「Amazon ECRのコンテナイメージ」のスキャンにかかる料金と計算例
  • 「AWS Lambda関数」のスキャンにかかる料金と計算例

などを分かりやすく説明するように心掛けています。ご参考になれば幸いです。

Amazon Inspectorの料金

Amazon Inspectorは、AWS(Amazon Web Services)が提供する「ソフトウェアの脆弱性」や「意図しないネットワークのアクセスがないか」を継続的にスキャンする脆弱性管理サービスです。

Amazon Inspectorを有効にすると、「Amazon EC2インスタンス」、「Amazon ECRに存在するコンテナイメージ」、「AWS Lambda関数」を自動検出し、既知の脆弱性がないかを継続的にモニタリングすることができるようになります。脆弱性が発見された場合には改善策を提案してくれます。これにより、セキュリティを向上させることができます。

Amazon Inspectorの料金ですが、Amazon Inspectorの料金ページでは下記のように記載されています(東京リージョンの場合)。

項目料金
1か月にスキャンされた Amazon EC2インスタンスの平均数インスタンスごとに1.512USD
1か月あたりの Amazon ECRへのプッシュ時に最初にスキャンされたコンテナイメージの数イメージごとに0.11USD
1か月あたりの連続スキャン用に設定された Amazon ECRのコンテナイメージの自動再スキャンの数再スキャンごとに0.01USD
AWS Lambda関数の月間平均スキャン数AWS Lambda関数ごとに0.36USD

この記事ではAmazon Inspectorの料金について、整理をして、具体的に計算をしてみました。

補足:無料トライアルについて

Amazon Inspectorを初めて利用するすべてのアカウントは、Amazon Inspectorのコストを見積もるために、15日間の無料トライアルがあります(2023年4月にて)。無料トライアルの期間では、「Amazon EC2インスタンス」、「Amazon ECRに存在するコンテナイメージ」、「AWS Lambda関数」のスキャンにかかる料金は無料で継続的にスキャンされます。また、Amazon Inspectorのコンソール画面で推定支出を確認することもできます。

【Amazon Inspectorの料金】Amazon EC2インスタンスの場合

Amazon EC2インスタンスの月間平均スキャン数に対して料金が発生します。

料金は下記に示すようにリージョンによって異なります(下記は2023年4月での料金です)。

  • 東京リージョンの場合
    • Amazon EC2インスタンスの月間平均スキャン数×1.512USD
  • バージニアリージョンの場合
    • Amazon EC2インスタンスの月間平均スキャン数×1.2528USD

また、Amazon EC2インスタンスの月間平均スキャン数は下記の計算式で決まります。

\begin{eqnarray}
\displaystyle\frac{\mbox{スキャンされたアクティブでサポートされているインスタンスの合計時間}}{\mbox{1か月の時間数}}
\end{eqnarray}

ここで、1か月が30日の月(例えば4月など)を考えてみましょう。この場合、1か月の時間数は下記となります。

\begin{eqnarray}
1か月の時間数=30{\mathrm{[\mbox{日}]}}×24{\mathrm{[\mbox{時間/日}]}}=720{\mathrm{[\mbox{時間}]}}
\end{eqnarray}

この4月において、料金を計算してみましょう。

料金の計算例(1か月間アクティブなEC2インスタンスが10個ある場合)

1か月間アクティブなEC2インスタンスが10個ある場合、「スキャンされたアクティブでサポートされているインスタンスの合計時間」は以下の値となります。

\begin{eqnarray}
(30{\mathrm{[\mbox{日}]}}×24{\mathrm{[\mbox{時間/日}]}})×10=7200{\mathrm{[\mbox{時間}]}}
\end{eqnarray}

そのため、「Amazon EC2インスタンスの月間平均スキャン数」は以下の値になります。

\begin{eqnarray}
&&\displaystyle\frac{\mbox{スキャンされたアクティブでサポートされているインスタンスの合計時間}}{\mbox{1か月の時間数}}\\
\\
=&&\displaystyle\frac{7200{\mathrm{[\mbox{時間}]}}}{720{\mathrm{[\mbox{時間}]}}}\\
\\
=&&10
\end{eqnarray}

東京リージョンの場合、「Amazon EC2インスタンスの月間平均スキャン数×1.512USD」の料金がかかるので、利用料金は下記となります。

\begin{eqnarray}
&&\mbox{Amazon EC2インスタンスの月間平均スキャン数}×1.512\mbox{USD}\\
\\
=&&10×1.512\mbox{USD}\\
\\
=&&15.12\mbox{USD}
\end{eqnarray}

料金の計算例(10個のEC2インスタンスを15日間スキャンした場合)

10個のEC2インスタンスを15日間スキャンした場合(つまり、15日後に削除した場合)、「スキャンされたアクティブでサポートされているインスタンスの合計時間」は以下の値となります。

\begin{eqnarray}
(15{\mathrm{[\mbox{日}]}}×24{\mathrm{[\mbox{時間/日}]}})×10=3600{\mathrm{[\mbox{時間}]}}
\end{eqnarray}

そのため、「Amazon EC2インスタンスの月間平均スキャン数」は以下の値になります。

\begin{eqnarray}
&&\displaystyle\frac{\mbox{スキャンされたアクティブでサポートされているインスタンスの合計時間}}{\mbox{1か月の時間数}}\\
\\
=&&\displaystyle\frac{3600{\mathrm{[\mbox{時間}]}}}{720{\mathrm{[\mbox{時間}]}}}\\
\\
=&&5
\end{eqnarray}

東京リージョンの場合、「Amazon EC2インスタンスの月間平均スキャン数×1.512USD」の料金がかかるので、利用料金は下記となります。

\begin{eqnarray}
&&\mbox{Amazon EC2インスタンスの月間平均スキャン数}×1.512\mbox{USD}\\
\\
=&&5×1.512\mbox{USD}\\
\\
=&&7.56\mbox{USD}
\end{eqnarray}

料金の計算例(3個のEC2インスタンスを異なる時間スキャンした場合)

3個のEC2インスタンスがあり、下記のように1か月の間に異なる時間スキャンされた場合を考えてみましょう。

  • 1個目:360時間
  • 2個目:200時間
  • 3個目:160時間

この場合、「スキャンされたアクティブでサポートされているインスタンスの合計時間」は以下の値となります。

\begin{eqnarray}
360{\mathrm{[\mbox{時間}]}}+200{\mathrm{[\mbox{時間}]}}+160{\mathrm{[\mbox{時間}]}}=720{\mathrm{[\mbox{時間}]}}
\end{eqnarray}

そのため、「Amazon EC2インスタンスの月間平均スキャン数」は以下の値になります。

\begin{eqnarray}
&&\displaystyle\frac{\mbox{スキャンされたアクティブでサポートされているインスタンスの合計時間}}{\mbox{1か月の時間数}}\\
\\
=&&\displaystyle\frac{720{\mathrm{[\mbox{時間}]}}}{720{\mathrm{[\mbox{時間}]}}}\\
\\
=&&1
\end{eqnarray}

東京リージョンの場合、「Amazon EC2インスタンスの月間平均スキャン数×1.512USD」の料金がかかるので、利用料金は下記となります。

\begin{eqnarray}
&&\mbox{Amazon EC2インスタンスの月間平均スキャン数}×1.512\mbox{USD}\\
\\
=&&1×1.512\mbox{USD}\\
\\
=&&1.512\mbox{USD}
\end{eqnarray}

【Amazon Inspectorの料金】Amazon ECRコンテナイメージの場合

Amazon ECRコンテナイメージスキャンには、「オンプッシュスキャン」と「継続スキャン」があり、発生する料金が異なります。

  • オンプッシュスキャン
    • 「初回スキャン」の料金がかかる
  • 継続スキャン
    • 「初回スキャン」に加えて、「再スキャン」の料金もかかる

「初回スキャン」と「再スキャン」の料金は下記に示すようにリージョンによって異なります(下記は2023年4月での料金です)。

  • 東京リージョンの場合
    • 初回スキャン
      • 1か月あたりの Amazon ECRへのプッシュ時に最初にスキャンされたコンテナイメージの数×0.11USD
    • 再スキャン
      • 1か月あたりの連続スキャン用に設定された Amazon ECRのコンテナイメージの自動再スキャンの数×0.01USD
  • バージニアリージョンの場合
    • 初回スキャン
      • 1か月あたりの Amazon ECRへのプッシュ時に最初にスキャンされたコンテナイメージの数×0.09USD
    • 再スキャン
      • 1か月あたりの連続スキャン用に設定された Amazon ECRのコンテナイメージの自動再スキャンの数×0.01USD

では実際に「オンプッシュスキャン」と「継続スキャン」にかかる料金を計算してみましょう。

料金の計算例(オンプッシュスキャン)

オンプッシュスキャン用に設定されたAmazon ECRリポジトリには、もともと500個のコンテナイメージがあったとします。そこに新たに1000個の新しいコンテナイメージを同じリポジトリにプッシュした場合を考えてみましょう。

オンプッシュスキャンなので、料金は「初回スキャンの料金(Amazon ECRリポジトリにプッシュされた1000個の新しいコンテナイメージにかかる料金)」のみにかかります。

東京リージョンの場合、初回スキャンは「1か月あたりの Amazon ECRへのプッシュ時に最初にスキャンされたコンテナイメージの数×0.11USD」の料金がかかるので、利用料金は下記となります。

\begin{eqnarray}
&&\mbox{1か月あたりの Amazon ECRへのプッシュ時に最初にスキャンされたコンテナイメージの数}×0.11\mbox{USD}\\
\\
=&&1000×0.11\mbox{USD}\\
\\
=&&110\mbox{USD}
\end{eqnarray}

これがオンプッシュスキャンにかかる料金となります。もともとあった500個のコンテナイメージには料金はかかりません。

料金の計算例(継続スキャン)

オンプッシュスキャン用に設定されたAmazon ECRリポジトリには、もともと500個のコンテナイメージがあったとします。そこに新たに1000個の新しいコンテナイメージを同じリポジトリにプッシュした場合を考えてみましょう。

継続スキャンなので、料金は「初回スキャンの料金(Amazon ECRリポジトリにプッシュされた1000個の新しいコンテナイメージにかかる料金)」に加えて「再スキャンの料金(合計1500個のコンテナイメージを再スキャンするときにかかる料金)」もかかります。

東京リージョンの場合、初回スキャンは「1か月あたりの Amazon ECRへのプッシュ時に最初にスキャンされたコンテナイメージの数×0.11USD」の料金がかかるので、利用料金は下記となります。

\begin{eqnarray}
&&\mbox{1か月あたりの Amazon ECRへのプッシュ時に最初にスキャンされたコンテナイメージの数}×0.11\mbox{USD}\\
\\
=&&1000×0.11\mbox{USD}\\
\\
=&&110\mbox{USD}
\end{eqnarray}

また、Amazon Inspectorの脆弱性データベースに更新があり、10回の再スキャンが呼び出されたと仮定すると、再スキャンは「1か月あたりの連続スキャン用に設定された Amazon ECRのコンテナイメージの自動再スキャンの数×0.01USD」の料金がかかるので、利用料金は下記となります。

\begin{eqnarray}
&&\mbox{1か月あたりの連続スキャン用に設定された Amazon ECRのコンテナイメージの自動再スキャンの数}×0.01\mbox{USD}\\
\\
=&&(1500×10)×0.01\mbox{USD}\\
\\
=&&150\mbox{USD}
\end{eqnarray}

継続スキャンにかかる料金は「初回スキャン」と「再スキャン」の合計なので、以下となります。

\begin{eqnarray}
110\mbox{USD}+150\mbox{USD}=260\mbox{USD}
\end{eqnarray}

【Amazon Inspectorの料金】AWS Lambdaの場合

AWS Lambda関数の月間平均スキャン数に対して料金が発生します。

料金は下記に示すようにリージョンによって異なります(下記は2023年4月での料金です)。

  • 東京リージョンの場合
    • AWS Lambda関数の月間平均スキャン数×0.36USD
  • バージニアリージョンの場合
    • AWS Lambda関数の月間平均スキャン数×0.30USD

また、AWS Lambda関数の月間平均スキャン数は下記の計算式で決まります。

\begin{eqnarray}
\displaystyle\frac{\mbox{Lambda関数に対するAmazon Inspectorのカバー時間の合計}}{\mbox{1か月の時間数}}
\end{eqnarray}

ここで、1か月が30日の月(例えば4月など)を考えてみましょう。この場合、1か月の時間数は下記となります。

\begin{eqnarray}
1か月の時間数=30{\mathrm{[\mbox{日}]}}×24{\mathrm{[\mbox{時間/日}]}}=720{\mathrm{[\mbox{時間}]}}
\end{eqnarray}

この4月において、料金を計算してみましょう。

料金の計算例(1か月間アクティブなLambda関数が10個ある場合)

1か月間アクティブなLambda関数が10個ある場合、「Lambda関数に対するAmazon Inspectorのカバー時間の合計」は以下の値となります。

\begin{eqnarray}
(30{\mathrm{[\mbox{日}]}}×24{\mathrm{[\mbox{時間/日}]}})×10=7200{\mathrm{[\mbox{時間}]}}
\end{eqnarray}

そのため、「AWS Lambda関数の月間平均スキャン数」は以下の値になります。

\begin{eqnarray}
&&\displaystyle\frac{\mbox{Lambda関数に対するAmazon Inspectorのカバー時間の合計}}{\mbox{1か月の時間数}}\\
\\
=&&\displaystyle\frac{7200{\mathrm{[\mbox{時間}]}}}{720{\mathrm{[\mbox{時間}]}}}\\
\\
=&&10
\end{eqnarray}

東京リージョンの場合、「AWS Lambda関数の月間平均スキャン数×0.36USD」の料金がかかるので、利用料金は下記となります。

\begin{eqnarray}
&&\mbox{AWS Lambda関数の月間平均スキャン数}×0.36\mbox{USD}\\
\\
=&&10×0.36\mbox{USD}\\
\\
=&&3.6\mbox{USD}
\end{eqnarray}

料金の計算例(10個のEC2インスタンスを15日間スキャンした場合)

10個のLambda関数を15日間スキャンした場合(つまり、15日後に削除した場合)、「Lambda関数に対するAmazon Inspectorのカバー時間の合計」は以下の値となります。

\begin{eqnarray}
(15{\mathrm{[\mbox{日}]}}×24{\mathrm{[\mbox{時間/日}]}})×10=3600{\mathrm{[\mbox{時間}]}}
\end{eqnarray}

そのため、「AWS Lambda関数の月間平均スキャン数」は以下の値になります。

\begin{eqnarray}
&&\displaystyle\frac{\mbox{Lambda関数に対するAmazon Inspectorのカバー時間の合計}}{\mbox{1か月の時間数}}\\
\\
=&&\displaystyle\frac{3600{\mathrm{[\mbox{時間}]}}}{720{\mathrm{[\mbox{時間}]}}}\\
\\
=&&5
\end{eqnarray}

東京リージョンの場合、「AWS Lambda関数の月間平均スキャン数×0.36USD」の料金がかかるので、利用料金は下記となります。

\begin{eqnarray}
&&\mbox{AWS Lambda関数の月間平均スキャン数}×0.36\mbox{USD}\\
\\
=&&5×0.36\mbox{USD}\\
\\
=&&1.8\mbox{USD}
\end{eqnarray}

料金の計算例(3個のLambda関数を異なる時間スキャンした場合)

3個のLambda関数があり、下記のように1か月の間に異なる時間スキャンされた場合を考えてみましょう。

  • 1個目:720時間
  • 2個目:200時間
  • 3個目:160時間

この場合、「Lambda関数に対するAmazon Inspectorのカバー時間の合計」は以下の値となります。

\begin{eqnarray}
720{\mathrm{[\mbox{時間}]}}+200{\mathrm{[\mbox{時間}]}}+160{\mathrm{[\mbox{時間}]}}=1080{\mathrm{[\mbox{時間}]}}
\end{eqnarray}

そのため、「AWS Lambda関数の月間平均スキャン数」は以下の値になります。

\begin{eqnarray}
&&\displaystyle\frac{\mbox{Lambda関数に対するAmazon Inspectorのカバー時間の合計}}{\mbox{1か月の時間数}}\\
\\
=&&\displaystyle\frac{1080{\mathrm{[\mbox{時間}]}}}{720{\mathrm{[\mbox{時間}]}}}\\
\\
=&&1.5
\end{eqnarray}

東京リージョンの場合、「AWS Lambda関数の月間平均スキャン数×0.36USD」の料金がかかるので、利用料金は下記となります。

\begin{eqnarray}
&&\mbox{AWS Lambda関数の月間平均スキャン数}×0.36\mbox{USD}\\
\\
=&&1.5×0.36\mbox{USD}\\
\\
=&&0.54\mbox{USD}
\end{eqnarray}

本記事のまとめ

この記事では『Amazon Inspectorの料金』について、以下の内容を説明しました。

  • Amazon Inspectorの料金の一覧
  • 「Amazon EC2インスタンス」のスキャンにかかる料金と計算例
  • 「Amazon ECRのコンテナイメージ」のスキャンにかかる料金と計算例
  • 「AWS Lambda関数」のスキャンにかかる料金と計算例

お読み頂きありがとうございました。