0
0

AWS CodeBuild でコンピューティングに AWS Lambda を利用

Posted at

内容

従来は EC2 上でコンテナイメージが実行されていたが、CodeBuild でコンピューティングに Lambda を使用してビルドやテストを実行できるようになった。

Lambda はほぼ瞬時に起動するため、より高速なビルドが可能な点が利点かと思います。

Lambda でコンピューティングを実行すると、1 秒あたりの使用量に対して課金されるため、コストを最適化できる点もあげられていますが、個人的にはよっぽどな環境ではない限り、差ほどのコスト減はないのかと思っています。

サポートされているツール、ランタイム

AWS CLI v2、AWS SAM CLI、git、go、Java、Node.js、Python、pip、Ruby、.NET

制限事項

  • バッチビルド
  • ビルド間のキャッシュ
  • タイムアウトによるランタイムの分単位の制限
  • ルートユーザーの許可を必要とするツール

その他にもいくつか制限事項があるので、ドキュメントを確認し、制限事項にひっかる場合は、EC2 タイプを利用すること。

検証

Lambda と EC2 で比較検証してみた。

共通の設定として、

codecommit に 適当な python ファイルを準備し、
codebuild で source に codecommit を指定。

codebuild には簡易的に次のものを指定。

buildspec.yaml
version: 0.2

phases:
  build:
    commands:
      - echo "Running tests"
      - python -m unittest discover .

Lambda

環境
スクリーンショット 2023-11-28 19.41.30.png

結果
スクリーンショット 2023-11-28 20.05.46.png

EC2

環境
スクリーンショット 2023-11-28 20.11.04.png
スクリーンショット 2023-11-28 20.11.28.png

結果
スクリーンショット 2023-11-28 22.27.59.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0