BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース AWS CodeBuildがDockerサーバー機能を導入、CI/CDパイプラインを加速

AWS CodeBuildがDockerサーバー機能を導入、CI/CDパイプラインを加速

原文リンク(2025-06-12)

2025年5月15日、AWSはCodeBuildサービスにおける大幅な強化:Docker Server機能を発表した。この新機能により、開発者はCodeBuildプロジェクト内で専用かつ永続的なDockerサーバーをプロビジョニングでき、Dockerイメージのビルドプロセスを効率化・高速化できるようになる。

従来、CI/CDパイプラインでDockerイメージをビルドする作業は、特に多層イメージの場合、時間がかかる傾向があった。Docker Server機能により、リモートホストにイメージビルド処理を集中させることで、AWSはこの課題に対応する。このアプローチは永続的なDockerレイヤーキャッシュを維持することで待ち時間を低減し、全体的な効率を向上させる。実際に、AWSはこの機能を利用することでビルド時間が大幅に短縮されたと報告している。

永続的なDockerサーバーは複数の同時ビルド操作をサポートし、すべてのビルドが共有された集中キャッシュの恩恵を受ける。この構成はビルドプロセスを加速するだけでなく、信頼性の高いデプロイメントパイプラインを維持する上でも重要な、ビルド間の一貫性確保にも貢献する。

この機能を活用するには、開発者はCodeBuildプロジェクト設定内でDocker Serverオプションを有効にするだけだ。有効化するとCodeBuildが永続ストレージ付きの専用Dockerサーバーをプロビジョニングし、より高速かつ効率的にビルド可能にする。

AWS CodeBuildで新しいDocker Server機能を設定するには(AWSブログに詳細説明されているように)、AWS Management Consoleで新しいCodeBuildプロジェクトを作成するか、既存のプロジェクトを編集する。環境設定で「Managed image」を選択し、オペレーティングシステムとしてAmazon Linux 2を選択する。その後、新しく追加されたDocker構成セクション(aws/codebuild/standard:7.0以降の標準イメージで利用可能)内で「Docker Server mode」オプションを有効化する。これによりDocker-in-Docker(DinD)でよく見られるパフォーマンス低下を回避しつつ、軽量なDockerデーモンがアクティベートされる。次にローカルのDocker環境セットアップと同様に、DockerコマンドーたとえばAmazon ECRへイメージをビルド・プッシュするーを含むようbuildspec.ymlファイルを更新する。

設定手順は、CodeBuildで使用されるIAMロールがAmazon ECRなどのサービスと連携するために必要な権限を持っていることを確認するよう、リマインドしている。すべての設定が完了したらビルド開始できる。

AWS CodeBuildにおけるDocker Server機能の導入は、開発者やDevOps専門家の間で議論を呼んでいる。ビルド時間の大幅な短縮が評価される一方で、Infrastructure as Codeツールとの統合に現時点制限がある。

例えば、AWS Cloud Development Kit(CDK)リポジトリのGitHub Issueではこう述べている:

現時点では、AWS CDKはこの機能をサポートしていません。なぜなら、CloudFormationがまだこの機能を公開していないからです。CloudFormationが対応しない限り、CDKはサポートを提供できません。

このことは、この機能が有望である一方で、CloudFormationやCDKなどのツールで完全なサポートが提供されるまで採用が妨げられる可能性があることを示唆している。

このような統合上の課題があるにもかかわらず、Docker Server機能はパフォーマンス向上において高く評価されている。公式AWSブログ投稿では、Donnie Prakoso氏がベンチマーク結果を共有し、この機能を使用することでビルド時間が98%短縮され、約25分かかっていた処理がわずか16秒にまで短縮されたことが示されている。

この新機能はDocker IncのDocker Build CloudGCPのCloud BuildGitHub Actions Docker Layeringなどの既存ソリューションと競合している。

AWS CodeBuildのこの機能強化は、開発者の生産性向上とCI/CDワークフローの最適化に対するAWSの取り組みを示している。ビルド時間の短縮とイメージ作成プロセスの効率化により、Docker Server機能は開発チームがより迅速かつ信頼性高くアプリケーションをデプロイできるようにする。

作者について

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

BT