[アップデート] AWS CodeBuild でリソース使用率に関する CloudWatch メトリクスが追加されました!

AWS CodeBuild で実行されるビルドコンテナーのリソース使用率が CloudWatch メトリクスで取得できるようになりました。

コンバンハ、千葉(幸)です。

AWS CodeBuild でリソースの使用率に関するメトリクスが CloudWatch でサポートされました!

目次

CodeBuild のどこに関するメトリクス?

追加で取得できるようになったのは以下画像の赤枠部分に関するメトリクスです。

(画像引用元:AWS CodeBuild の概念 - AWS CodeBuild

CodeBuild においてはビルドプロジェクトという単位でリソースを作成・管理していきます。ビルドプルジェクトにはビルド環境(Build enviroment)が含まれます。

CodeBuild はフルマネージドなビルドサービスであり、ユーザーはビルドサーバの管理を行う必要がありません。必要時のみビルド環境内で一時的なコンテナが生成され、ビルドが行われます。

ユーザーはビルド環境に対して以下を指定することができます。

  • Docker イメージ
    • プラットフォーム
    • ランタイム
    • バージョン
  • オペレーティングシステム
  • コンピューティングタイプ(メモリ、CPU、ディスク)

今回追加されたメトリクスは、このようなビルド環境で実行されるコンテナのリソース使用状況に関するものとなります。

AWS CodeBuild のビルド環境に関するリファレンス - AWS CodeBuild

追加されたメトリクス

今回追加されたメトリクスは以下です。

メトリクス名 概要 単位 有効な統計
CPUUtilized ビルドコンテナーによって使用される割り当てられた処理のCPUユニットの数。 CPU ユニット 平均(推奨)、最大、最小
CPUUtilizedPercent ビルドコンテナーによって使用される割り当てられた処理の割合。 パーセント 平均(推奨)、最大、最小
MemoryUtilized ビルドコンテナーによって使用されるメモリのメガバイト数。 メガバイト 平均(推奨)、最大、最小
MemoryUtilizedPercent ビルドコンテナーによって使用される割り当てられたメモリの割合。 パーセント 平均(推奨)、最大、最小
StorageReadBytes ビルドコンテナーによって使用されるストレージ読み取り速度。 バイト/秒 平均(推奨)、最大、最小
StorageWriteBytes ビルドコンテナーによって使用されるストレージ書き込み速度。 バイト/秒 平均(推奨)、最大、最小

これらのメトリクスは現状以下のリージョンで使用できます。

  • Asia Pacific (Tokyo) Region
  • Asia Pacific (Seoul) Region
  • Asia Pacific (Mumbai) Region
  • Asia Pacific (Singapore) Region
  • Asia Pacific (Sydney) Region
  • Canada (Central) Region
  • Europe (Frankfurt) Region
  • Europe (Ireland) Region
  • Europe (London) Region
  • Europe (Paris) Region
  • South America (São Paulo) Region
  • US East (N. Virginia) Region
  • US East (Ohio) Region
  • US West (N. California) Region
  • US West (Oregon) Region

メトリクスで値を取得するためにユーザー側で必要な操作はありません。

Monitoring AWS CodeBuild - AWS CodeBuild

実機で確認してみる

CodeBuild のビルドプロジェクトの詳細画面では、「メトリクス」というタブがあります。一部メトリクスが一緒に写っていますが、これは従来から存在するものです。

下の方にスクロールしていくと、新規のメトリクスが確認できます。4つのグラフで表現されています。

ここから CloudWatch の画面に遷移することもできます。

終わりに

これまではビルドプロジェクトに対するメトリクスしか取得できませんでしたが、そこで実行されるコンテナのリソース使用状況も確認できるようになりました。

ビルド環境に割り当てるコンピューティングタイプによって利用料金が変わるので、ここをチューニングしていくのに便利そうですね。

料金 - AWS CodeBuild | AWS

トラブルシュートの切り分け材料にも役立ちそうです。ぜひご活用ください。

以上、千葉(幸)がお送りしました。