AWS CodeBuildの特徴、料金についてご紹介!
AWS CodeBuildとは?
AWS CodeBuildは、クラウドで動作する完全マネージド型のビルドサービスです。CodeBuildはソースコードをコンパイルし、ユニットテストを実行して、すぐにデプロイできるアーティファクトを生成します。CodeBuildにより、独自のビルドサーバーのプロビジョニング、管理、スケーリングが不要になります。Apache Maven、Gradleなどの一般的なプログラミング言語とビルドツール用のパッケージ済みのビルド環境を提供します。CodeBuildのビルド環境をカスタマイズして、独自のビルドツールを使用することもできます。CodeBuildはピーク時のビルドリクエストに合わせて自動的にスケーリングします。
AWS CodeBuildの特徴
①コードのビルドとテスト…コードのビルドとテストAWS CodeBuildでは、タスクの完了に必要なオペレーティングシステム、プログラミング言語ランタイム、ビルドツール (Apache Maven、Gradle、npm) が含まれる、事前設定されたビルド環境でビルドが実行されます。ユーザーが行う必要があることは、ソースコードの場所を指定し、使用するビルド環境やビルド中に実行されるビルドコマンドなど、ビルドの設定を選択ことのみです。AWS CodeBuildによってコードがビルドされて、アーティファクトがAmazon S3バケットに保存されます。または、ビルドコマンドを使用して、それらをアーティファクトリポジトリにアップロードできます。AWS CodePipeline、AWSマネジメントコンソール、AWS CLI、またはAWS SDKを使用して、ビルドプロジェクトを作成、管理、および開始できます。
②事前設定されたビルド環境…AWS CodeBuildでは、Java、Python、Node.js、Ruby、Go、Android、.NET Core for Linux、およびDocker用のビルド環境を利用できます。
③ビルド環境のカスタマイズ…AWS CodeBuildでは、Java、Python、Node.js、Ruby、Go、Android、.NET Core for Linux、およびDocker用のビルド環境を利用できます。
AWS CodeBuildを使用する大きなメリット
完全マネージド型…CodeBuildでは、お客様独自のビルドサーバーをセットアップ、パッチ適用、更新、管理する必要がありません。
オンデマンド…CodeBuildはビルドのニーズに合わせてオンデマンドでスケーリングされます。料金は、使用したビルド分数に対してのみ発生します。
すぐに使える…CodeBuildは、事前設定された最も一般的なプログラミング言語でのビルド環境を提供します。最初のビルドを開始するには、ビルドスクリプトを指すだけです。
CodeBuildを実行する方法
CodeBuildを実行するには、AWS CodeBuildコンソールまたはAWS CodePipelineコンソールを使用できます。また、AWS Command Line Interface(AWS CLI)またはAWS SDKを使用して、CodeBuildの実行を自動化することもできます。
AWS CodePipelineのパイプラインのビルドステージまたはテストステージに、ビルドアクションまたはテストアクションとしてCodeBuildを追加できます。AWS CodePipelineは、コードをリリースするために必要な手順をモデル化、視覚化、および自動化するために使用できる継続的な配信サービスです。これには、コードの構築が含まれます。
CodeBuildコンソールでは、リポジトリ、ビルドプロジェクト、デプロイアプリケーション、パイプラインなどのリソースをすばやく検索することもできます。[Go to resource]を選択するか、/ キーを押して、リソースの名前を入力します。一致するものはすべてリストに表示されます。検索では大文字と小文字が区別されません。リソースを表示する権限がある場合のみ表示されます。
CodeBuildの料金表
AWS CodeBuildはシンプルな従量制料金を採用しています。前払いの義務や最低料金はありません。料金は、使用したリソースに対してのみ発生します。ビルドの実行にかかった時間に基づいて、コンピューティングリソースに対して課金されます。1分あたりの料金は選択したコンピューティングタイプによって変わります。
●ビルド時間…ビルド時間はビルドを送信してからビルドが終了するまでの時間で、分単位で切り上げられます。
●コンピューティングタイプ…AWS CodeBuildには3つのコンピューティングインスタンスタイプがあり、メモリの容量とCPUが異なります。料金は、ビルドで選択したコンピューティングインスタンスタイプによって異なります。
コンピューティングインスタンスタイプ | メモリ | vCPU | Linuxのビルド1分あたりの料金 | Windowsのビルド1分あたりの料金 |
---|---|---|---|---|
dc2.large | 3GB | 2 | 0.005USD | 該当なし |
general1.medium | 7GB | 4 | 0.01USD | 0.018USD |
arm1.large | 16GiB | 8 | 0.015USD | 該当なし |
general1.large | 15GB | 8 | 0.02USD | 0.036USD |
general1.2xlarge | 144GiB | 72 | 0.20USD | 該当なし |
gpu1.large | 244GiB | 32 | 0.65USD | 該当なし |
AWS CodeBuildの無料利用枠では、build.general1.smallを使って1か月あたりビルドを100分使用できます。CodeBuildの無料利用枠は、12か月間のAWS無料利用枠の期間が終了しても自動的に期限切れになることはありません。新規または既存のAWSのお客様が利用できます。
ビルドでデータを転送する場合、またはAWSの他のサービスを使用する場合は、追加料金が発生する可能性があります。例えば、Amazon CloudWatch Logsでビルドログをストリーミングした場合、Amazon S3でビルドアーティファクトを保存した場合、AWS Key Management Serviceで暗号化した場合は、料金が発生する可能性があります。AWS CodeBuildをAWS CodePipelineと一緒に使用した場合も、追加料金が発生する可能性があります。
料金の例
build.general1.smallを使用して1か月でのビルドを100回実行し、各ビルドの実行に5分かかった場合の料金は、以下のように計算されます。
ビルドの月額料金
ビルド時間 (分) = 100 回のビルド * 5 分 = 500 分
ビルド時間 (分) – 無料利用枠のビルド時間 (分) = 月額請求の対象となるビルド時間 (分) = 500 – 100 = 400 分
ビルドの月額 = ビルド 400 分 * 0.005 USD = 2 USD
まとめ
いかがだったでしょうか。無料トライアルもあるので、是非検討してみてはいかがでしょうか。
参考文献:
https://qiita.com/fukubaka0825/items/d2f19d1d6d1bc2b7edac
https://factor.xseed.link/2020/01/15/post-2181/