CodeBuild には以下のコンピューティングフリートがあります。
-
オンデマンドフリート
-
リザーブドキャパシティフリート
オンデマンドフリートでは、CodeBuild がビルドのコンピューティングを行います。マシンはビルドが終了すると破棄されます。オンデマンドフリートはフルマネージド型で、需要の急増にも対応できる自動スケーリング機能を備えています。
注記
オンデマンドフリートは macOS または Windows Server 2022 をサポートしていません。
CodeBuild では、CodeBuild が管理する Amazon EC2 ベースのインスタンスを含むリザーブドキャパシティフリートも提供しています。リザーブドキャパシティフリートでは、ビルド環境に合わせて専有インスタンスのセットを設定します。これらのマシンはアイドル状態のままで、ビルドやテストをすぐに処理できる状態になり、ビルド時間を短縮します。リザーブドキャパシティフリートでは、マシンは常に稼働しており、プロビジョニングされている間はコストが発生し続けます。
重要
インスタンスの実行時間に関係なく、リザーブドキャパシティフリートにはインスタンスごとに初期料金が発生し、その後は追加の関連コストが発生する場合があります。詳細については、「https://aws.amazon.com/codebuild/pricing/
トピック
リザーブドキャパシティフリートを作成
以下の手順に従って、リザーブドキャパシティフリートを作成します。
リザーブドキャパシティフリートを作成するには
AWS Management Console にサインインして、AWS CodeBuild コンソール (https://console.aws.amazon.com/codesuite/codebuild/home
) を開きます。 -
ナビゲーションペインで、[コンピューティングフリート]、[フリートを作成] の順に選択します。
-
[コンピューティングフリート名] テキストフィールドに、フリートの名前を入力します。
-
[オペレーティングシステム] ドロップダウンメニューから、オペレーティングシステムを選択します。
-
[アーキテクチャ] ドロップダウンメニューから、アーキテクチャを選択します。
-
[コンピューティング] フィールドから、マシンのコンピューティングマシンタイプを選択します。
-
[容量] テキストフィールドに、フリート内の最小インスタンス数を入力します。
-
[オーバーフロー動作] フィールドで、需要がフリートのキャパシティを超えた場合の動作を選択します。これらのパラメータの詳細については、「リザーブドキャパシティフリートのプロパティ」を参照してください。
-
(オプション) [追加設定] で、以下を実行します。
-
[VPC - オプション] のドロップダウンメニューから、CodeBuild フリートがアクセスする VPC を選択します。
-
[サブネット] ドロップダウンメニューから、CodeBuild が VPC 設定のセットアップに使用するサブネットを選択します。
-
[セキュリティグループ] のドロップダウンメニューから、CodeBuild が VPC の操作に使用するセキュリティグループを選択します。
-
[フリートサービスロール] フィールドで、既存のサービスロールを選択します。
注記
フリートロールに必要なアクセス許可が付与されていることを確認してください。詳細については、「フリートサービスロールのアクセス許可ポリシーを追加することをユーザーに許可」を参照してください。
-
Amazon Linux オペレーティングシステムを選択した場合は、[プロキシ設定の定義 - オプション] を選択して、リザーブドキャパシティインスタンスにネットワークアクセスコントロールを適用します。
-
[デフォルトの動作] では、デフォルトですべての送信先への送信トラフィックを許可または拒否することを選択します。
-
[プロキシルール] では、[プロキシルールを追加] を選択して、ネットワークアクセスコントロールを許可または拒否する送信先ドメインまたは IP を指定します。
-
-
[コンピューティングフリートの作成] を選択します。
-
コンピューティングフリートを作成したら、新しい CodeBuild プロジェクトを作成するか、既存の CodeBuild プロジェクトを編集します。[環境] から [プロビジョニングモデル] の [リザーブドキャパシティ] を選択し、[フリート名] で指定したフリートを選択します。
ベストプラクティス
リザーブドキャパシティフリートを使用する場合は、以下のベストプラクティスに従うことをお勧めします。
-
ソースをキャッシュしてビルドパフォーマンスを向上させるには、ソースキャッシュモードを使用することをお勧めします。
-
Docker レイヤーキャッシュを使用し、既存の Docker レイヤーをキャッシュしてビルドパフォーマンスを向上させることをお勧めします。
リザーブドキャパシティフリートを複数の CodeBuild プロジェクトで共有できますか?
はい。フリートのキャパシティを複数のプロジェクトで使用することで、そのキャパシティを最大限に活用できます。
重要
リザーブドキャパシティ機能を使用すると、ソースファイル、Docker レイヤー、buildspec で指定されキャッシュされたディレクトリなどを含む、フリートインスタンスにキャッシュされたデータに、同じアカウント内の他のプロジェクトからアクセスできます。これは設計によるもので、同じアカウント内のプロジェクトがフリートインスタンスを共有できるようにしています。
リザーブドキャパシティフリートをサポートしているのはどのリージョンですか?
リザーブドキャパシティフリートがサポートされている AWS リージョンは、米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)、アジアパシフィック (ムンバイ)、アジアパシフィック (シンガポール)、アジアパシフィック (シドニー)、アジアパシフィック (東京)、欧州 (フランクフルト)、欧州 (アイルランド)、および南米 (サンパウロ) です。CodeBuild が使用可能な AWS リージョン の詳細については、「AWS サービス (リージョン別)
リザーブドキャパシティの macOS Medium フリートは、米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)、アジアパシフィック (シドニー)、欧州 (フランクフルト) の AWS リージョンでサポートされています。リザーブドキャパシティの macOS Large フリートは、米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)、アジアパシフィック (シドニー) の AWS リージョンでサポートされています。
リザーブドキャパシティの macOS フリートを設定するにはどうすればよいですか。
リザーブドキャパシティの macOS フリートを設定するには
AWS Management Console にサインインして、AWS CodeBuild コンソール (https://console.aws.amazon.com/codesuite/codebuild/home
) を開きます。 -
ナビゲーションペインで、[コンピューティングフリート]、[フリートを作成] の順に選択します。
-
[コンピューティングフリート名] テキストフィールドに、フリートの名前を入力します。
-
[オペレーティングシステム] のドロップダウンメニューから、[macOS] を選択します。
-
[コンピューティング] フィールドで、[Apple M2、24 GB メモリ、8 vCPU] または [Apple M2、32 GB メモリ、12 vCPU] のいずれかのコンピューティングマシンタイプを選択します。
-
[容量] テキストフィールドに、フリート内の最小インスタンス数を入力します。
-
(オプション) フリートの[カスタムイメージ] を選択する場合は、Amazon マシンイメージ (AMI) に次の前提条件があることを確認してください。
-
AMI [アーキテクチャ] は 64 ビット
Mac-Arm
です。 -
AMI は CodeBuild サービスに [組織 ARN] を許可します。組織 ARN のリストについては、「Amazon Machine Images (AMI)」を参照してください。
-
AMI が AWS KMS キーで暗号化されている場合、AWS KMS キーは CodeBuild サービスの [組織 ID] も許可する必要があります。組織 ID のリストについては、「Amazon Machine Images (AMI)」を参照してください。AWS KMS キーの詳細については、「Amazon EC2 ユーザーガイド」の「組織と OU に KMS キーの使用を許可する」を参照してください。
-
[フリートサービスロール] フィールドで、次の Amazon EC2 アクセス許可を付与します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:DescribeImages", "Resource": "*" } ] }
-
-
(オプション) フリートで VPC を設定するには、[追加設定] で以下を実行します。
-
[VPC - オプション] のドロップダウンメニューから、CodeBuild フリートがアクセスする VPC を選択します。
-
[サブネット] ドロップダウンメニューから、CodeBuild が VPC 設定のセットアップに使用するサブネットを選択します。
-
[セキュリティグループ] のドロップダウンメニューから、CodeBuild が VPC の操作に使用するセキュリティグループを選択します。
-
[フリートサービスロール] フィールドで、既存のサービスロールを選択します。
注記
フリートロールに必要なアクセス許可が付与されていることを確認してください。詳細については、「フリートサービスロールのアクセス許可ポリシーを追加することをユーザーに許可」を参照してください。
-
-
[コンピューティングフリートを作成] を選択し、フリートインスタンスの起動を待ちます。起動すると、キャパシティは
になります。n
/n
n
は指定されたキャパシティです。 -
コンピューティングフリートが起動したら、新しい CodeBuild プロジェクトを作成するか、既存の CodeBuild プロジェクトを編集します。[環境] から [プロビジョニングモデル] の [リザーブドキャパシティ] を選択し、[フリート名] で指定したフリートを選択します。
リザーブドキャパシティフリートの制限
リザーブドキャパシティフリートではサポートされていないユースケースがいくつかあります。それにより影響が出る場合は、代わりにオンデマンドフリートを使用してください。
-
リザーブドキャパシティフリートは、バッチビルドまたはビルド使用率メトリクスをサポートしていません。
-
リザーブドキャパシティの macOS フリートはデバッグセッションをサポートしていません。
クォータと制限の詳細については、「コンピューティングフリート」を参照してください。