Windowsに対応したAWS CodeBuildについて
最終更新日:2026年8月10日
はじめに
| 項目 | AWS | Microsoft Azure | Google Cloud |
|---|---|---|---|
| 世界シェア | 約33%(首位) | 約22% | 約11% |
| 強み | サービス数・実績 | Microsoft製品連携 | データ分析・AI |
| 無料枠 | 12ヶ月+常時無料 | 12ヶ月無料 | 常時無料枠あり |
| 主な資格 | CLF / SAA / SAP | AZ-900 / AZ-104 | ACE / PCA |
AWS CodeBuildは、2018年5月にMicrosoft Windows Serverプラットフォーム向けビルドのサポートを追加し、.NET Core 2.0向けの事前パッケージ化済みビルド環境を提供するようになりました。それ以降も対応ランタイムや機能は継続的に拡充されています。そこで本記事では、AWS CodeBuildの基本的な利点・特徴と、Windows向けビルドを利用する際の注意点について紹介します。
AWS CodeBuildとは
AWS CodeBuildは、クラウド上でソースコードのコンパイルからテスト実行、デプロイ可能なソフトウェアパッケージの作成までできるフルマネージドのビルドサービスです。プログラミング学習支援のサービスを提供するProgateは、インフラストラクチャ全体をAWSで実行しています。
AWS CodeBuildの利点
AWS CodeBuildの6つの利点を紹介します。
1. フルマネージドなビルドサービス
AWS CodeBuildによって、ビルドサーバやソフトウェアの設定、パッチ適用、アップデートなどのソフトウェアのインストールや管理に関わる作業は不要となります。
2. 継続的スケーリング
ビルドのボリュームに応じて、自動的にスケーリングされます。リクエストが送信されると、すぐにビルドが処理され、別のビルドと同時に実行できます。
3. 従量課金制
料金は、ビルドの実行が完了するまでにかかった分単位の時間に対して発生します。アイドル状態のビルドサーバのキャパシティについて、料金は発生しません。
4. 拡張可能
パッケージ済みのビルドツールや、AWS CodeBuildでサポートしているランタイムだけでなく、ユーザーのビルドツールやプログラミングのランタイムも使用するために、カスタマイズしたビルド環境を作成することができます。
5. 継続的インテグレーションと継続的デリバリー(CI/CD)が可能
まず継続的インテグレーションと継続的デリバリーについて説明します。
(継続的インテグレーション)
継続的インテグレーションは、DevOpsソフトウェア開発の手法です。開発者が自分のコード変更を定期的にセントラルリポジトリにマージし、その後、自動化されたビルドとテストを実行します。バグの早期発見と対処、ソフトウェアの品質向上、ソフトウェアの更新の検証からリリースまでの時間短縮が主な利点です。
(継続的デリバリー)
継続的デリバリーは、コード変更が発生すると、自動的に実稼働環境へのリリース準備が実行されるソフトウェア開発手法の1つです。継続的なデリバリーを実施すると、UIテストやロードテスト、結合テスト、API信頼性テストなどが自動的に実行され、デプロイする前に多角的にアプリケーションの更新を検証できることが主な利点です。
AWS CodeBuildは、CI/CDによって完全な自動化ソフトウェアリリースワークフローを作成できます。また、AWS CodeBuildをユーザーがこれまで使用してきたCI/CDワークフローに統合することもできます。
6. セキュア
AWS CodeBuildにおいて、ビルドアーティファクトはAWS KMSで管理される専用キーによって暗号化されます。また、AWS CodeBuildとAWS IAMは統合されているので、ビルドプロジェクトへのユーザー専用の権限を割り当てることが可能です。
AWS CodeBuildの特徴
ここでは、既に上記の利点で挙げた特徴以外の内容を紹介します。
コードのビルドとテスト
AWS CodeBuildの事前設定されたビルド環境には次のものが含まれます。
- タスクの完了に必要なオペレーティングシステム
- プログラミング言語ランタイム
- ビルドツール(Apache Maven, Gradle, npm)
そのため、ユーザーがすることは、ソースコードの場所の指定とビルド設定の選択だけになります。
AWS CodeBuildによるアーティファクトは、Amazon S3バケットに保存されますが、ビルドコマンドを使用すると、それらをアーティファクトリポジトリにアップロードすることもできます。
設定可能な項目
1. ビルドコマンドの指定
ビルドの仕様をYAMLファイル(buildspec.yml)で指定すると、ビルドツールパッケージのインストールや、ユニットテストの実行、コードのパッケージ化など、ビルドの各フェーズで実行するコマンドやその他の設定を選択できます。
2. コンピューティングタイプの選択
複数のCPUとメモリの組み合わせが提供されているので、開発ニーズに応じて最適なコンピューティングタイプを選択できます。
3. ソース統合の選択
統合の例を以下に示します。
- AWS CodeCommit、GitHub、またはAmazon S3に接続した後、AWS CodeBuildでビルドを開始する
- AWS CodePipelineを使用して、AWS CodeBuildとソースリポジトリに接続し、変更をコミットするたびにビルドを自動的に開始する
モニタリング
AWS CodeBuildコンソール、AWS CLI、AWS SDKとAWS API、またはAmazon CloudWatchを使用すると、ビルドの詳細情報を表示できます。AWS CodeBuildに表示される情報は、ビルドの開始・終了時間、ステータス、コミットIDです。また、AWS CodeBuildは、ビルドメトリクスのストリーミングと、Amazon CloudWatchへのログ記録も行います。
Amazon CloudWatchを使用すると、
カスタムダッシュボードの作成、Amazon CloudWatchアラームの設定、ビルド問題のトラブルシューティング、ビルドログの調査
といったことを行うことができます。
通知の受信
ビルドプロジェクトに影響を及ぼすイベントについて通知を作成することができます。通知としては、Amazon SNS通知(ステータスメッセージや、その通知が生成される原因となったイベントが存在するリソースへのリンクを含む)が送信されます。
Windowsに関する利用上の注意点
前述のように、AWS CodeBuildは2018年からWindowsに対応するようになりました。しかし、次のいずれかに該当する方は注意が必要です。
1. Microsoft .NET Frameworkを利用する方
「はじめに」で述べたように、AWS CodeBuildでは、.NET Core 2.0 用に事前設定されたWindowsビルド環境を提供しています。しかし、Microsoft .NET Frameworkを含む、その他のビルドターゲットは次の2つの手順に従い、それらをサポートするように自身でビルド環境をカスタマイズする必要があります。
- ビルド用ランタイムツールをパッケージ化したDockerイメージを作成する
- Amazon Elastic Container Registry(Amazon ECR)またはDocker Hubレジストリに、(1)で作成したDockerイメージをアップロードする
上記により、新しいビルドプロジェクトを作成する際にDockerイメージの場所を指定すると、 AWS CodeBuildによりそのDockerイメージがプルされ、ビルドプロジェクト設定として使用されます。
2. .NET Core for Windows ビルド環境の無料利用枠について
AWS CodeBuildには、build.general1.smallを使うことで1ヶ月あたり一定時間まで無料で使用できる無料利用枠があります。しかし、build.general1.smallコンピューティングインスタンスタイプで利用可能なメモリ・処理能力よりも、Windows Docker ベースコンテナとその他のライブラリのサイズの方が大きいため、.NET Core for Windowsビルド環境には、より多くのメモリと処理能力が必要です。
そのため、.NET Core for Windowsビルド環境では、無料利用枠の対象外となり、ビルド時間に応じた従量課金が発生します。
【要注意】
AWS CodeBuildの無料利用枠の分数や、Windowsビルドの分単位料金は改定されることがあります。本記事作成時点の具体的な金額は目安としてご覧いただき、最新料金はAWS公式サイトでご確認ください。
押さえておきたいポイント
- AWS CodeBuildはサーバの構築・管理が不要なフルマネージド型のビルドサービスで、ビルド量に応じて自動的にスケーリングする
- AWS CodeCommit・GitHub・Amazon S3など複数のソースと連携でき、AWS CodePipelineと組み合わせることでコミットをトリガーにした自動ビルドも構築できる
- Windows向けビルドは.NET Core向けの事前設定環境が用意されているが、.NET Frameworkなど他のターゲットはDockerイメージによるカスタマイズが必要で、無料利用枠の対象外となる点に注意する
よくある質問
Q. AWS CodeBuildはLinuxでもWindowsでも使えますか?
はい。AWS CodeBuildはLinux向けのビルド環境に加えて、2018年5月からMicrosoft Windows Serverプラットフォーム向けのビルド環境にも対応しています。Windows向けには.NET Core向けの事前パッケージ化済み環境が用意されていますが、それ以外のビルドターゲットを使う場合はDockerイメージによるカスタムビルド環境の作成が必要です。
Q. AWS CodeBuildとAWS CodePipelineはどう違いますか?
AWS CodeBuildはソースコードのコンパイル・テスト・パッケージ化を行う「ビルド」に特化したサービスです。一方AWS CodePipelineは、ソースの取得からビルド、デプロイまでの一連のリリースフローを自動化するオーケストレーションサービスで、AWS CodeBuildをビルド工程の1つとして組み込んで利用します。
Q. AWS CodeBuildの料金体系はどうなっていますか?
ビルドの実行にかかった分単位の時間に対して従量課金される仕組みで、アイドル状態のビルドサーバに課金は発生しません。コンピューティングタイプ(CPU・メモリの組み合わせ)によって単価が異なり、Windowsビルド環境は無料利用枠の対象外です。具体的な料金は改定される場合があるため、最新情報はAWS公式サイトでご確認ください。
まとめ
本記事では、AWS CodeBuildの利点や特徴について紹介し、後半でWindows向けのビルドを利用する場合の注意点について紹介しました。
AWS CodeBuildを利用すると、ビルドサーバのハードウェアやソフトウェアを管理する必要がなくなる上に、個別のビルドの同時実行が可能なので、ビルドがキューで待機することもなくなります。AWS CodeBuildは業務プロセスの効率化を図ることができるサービスです。
▼ アクロビジョンについて


