翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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
://www.com で開きます。 -
ナビゲーションペインで、[コンピューティングフリート]、[フリートを作成] の順に選択します。
-
[コンピューティングフリート名] テキストフィールドに、フリートの名前を入力します。
-
[オペレーティングシステム] ドロップダウンメニューから、オペレーティングシステムを選択します。
-
[アーキテクチャ] ドロップダウンメニューから、アーキテクチャを選択します。
-
環境タイプのドロップダウンメニューから、環境タイプを選択します。
-
vCPUs、フリートに含める vCPUsの数を選択します。
-
メモリ で、フリートに含めるメモリの量を選択します。
-
ディスク で、フリートに含めるディスク容量を選択します。
-
低レイテンシーの I/O パフォーマンスを提供するには、NVMe SSD インスタンスストアを使用するを選択します。
-
[容量] テキストフィールドに、フリート内の最小インスタンス数を入力します。
-
[オーバーフロー動作] フィールドで、需要がフリートのキャパシティを超えた場合の動作を選択します。これらのパラメータの詳細については「リザーブドキャパシティフリートのプロパティ」を参照してください。
-
(オプション) [追加設定] で、以下を実行します。
-
[VPC - オプション] のドロップダウンメニューから、CodeBuild フリートがアクセスする VPC を選択します。
-
[サブネット] ドロップダウンメニューから、CodeBuild が VPC 設定のセットアップに使用するサブネットを選択します。
-
[セキュリティグループ] のドロップダウンメニューから、CodeBuild が VPC の操作に使用するセキュリティグループを選択します。
-
[フリートサービスロール] フィールドで、既存のサービスロールを選択します。
注記
フリートロールに必要なアクセス許可が付与されていることを確認してください。詳細については、「フリートサービスロールのアクセス許可ポリシーを追加することをユーザーに許可」を参照してください。
-
Amazon Linux オペレーティングシステムを選択した場合は、[プロキシ設定の定義 - オプション] を選択して、リザーブドキャパシティインスタンスにネットワークアクセスコントロールを適用します。
-
[デフォルトの動作] では、デフォルトですべての送信先への送信トラフィックを許可または拒否することを選択します。
-
[プロキシルール] では、[プロキシルールを追加] を選択して、ネットワークアクセスコントロールを許可または拒否する送信先ドメインまたは IP を指定します。
-
-
[コンピューティングフリートの作成] を選択します。
-
コンピューティングフリートを作成したら、新しい CodeBuild プロジェクトを作成するか、既存の CodeBuild プロジェクトを編集します。[環境] から [プロビジョニングモデル] の [リザーブドキャパシティ] を選択し、[フリート名] で指定したフリートを選択します。
ベストプラクティス
リザーブドキャパシティフリートを使用する場合は、以下のベストプラクティスに従うことをお勧めします。
-
ソースをキャッシュしてビルドパフォーマンスを向上させるには、ソースキャッシュモードを使用することをお勧めします。
-
Docker レイヤーキャッシュを使用し、既存の Docker レイヤーをキャッシュしてビルドパフォーマンスを向上させることをお勧めします。
リザーブドキャパシティフリートを複数の CodeBuild プロジェクトで共有できますか?
はい。フリートの容量を複数のプロジェクトで使用することで、その容量を最大限に活用できます。
重要
リザーブドキャパシティ機能を使用すると、ソースファイル、Docker レイヤー、buildspec で指定されキャッシュされたディレクトリなどを含む、フリートインスタンスにキャッシュされたデータに、同じアカウント内の他のプロジェクトからアクセスできます。これは設計によるもので、同じアカウント内のプロジェクトがフリートインスタンスを共有できるようにしています。
属性ベースのコンピューティングの仕組み
フリートの ATTRIBUTE_BASED_COMPUTE
として を選択した場合はcomputeType
、 という新しいフィールドに属性を指定できますcomputeConfiguration
。これらの属性には、vCPUsメモリ、ディスク容量、および が含まれますmachineType
。これは GENERAL
または のいずれかmachineType
ですNVME
。使用可能な属性を 1 つまたはいくつか指定すると、CodeBuild は、サポートされている使用可能なインスタンスタイプからコンピューティングタイプを確定した として選択しますcomputeConfiguration
。
注記
CodeBuild は、すべての入力要件に最も安価なインスタンスを選択します。選択したインスタンスのメモリ、vCPUs、ディスク容量はすべて、入力要件以上になります。作成または更新されたフリートcomputeConfiguration
で解決された を確認できます。
CodeBuild で満たすcomputeConfiguration
ことができない を入力すると、検証例外が表示されます。また、 がオンデマンドで利用できない場合、オンデマンドフリートのオーバーフロー動作computeConfiguration
はキュー動作に上書きされることに注意してください。
リザーブドキャパシティフリートをサポートしているのはどのリージョンですか?
リザーブドキャパシティの Amazon Linux および Windows フリートは、 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
://www.com で開きます。 -
ナビゲーションペインで、[コンピューティングフリート]、[フリートを作成] の順に選択します。
-
[コンピューティングフリート名] テキストフィールドに、フリートの名前を入力します。
-
[オペレーティングシステム] のドロップダウンメニューから、[macOS] を選択します。
-
[コンピューティング] フィールドで、[Apple M2、24 GB メモリ、8 vCPU] または [Apple M2、32 GB メモリ、12 vCPU] のいずれかのコンピューティングマシンタイプを選択します。
-
[容量] テキストフィールドに、フリート内の最小インスタンス数を入力します。
-
(オプション) フリートにカスタムイメージを使用するには、リザーブドキャパシティフリートのカスタム Amazon マシンイメージ (AMI) を設定するにはどうすればよいですか?「」を参照して、Amazon マシンイメージ (AMI) に必要な前提条件があることを確認します。
-
(オプション) フリートで VPC を設定するには、[追加設定] で以下を実行します。
-
[VPC - オプション] のドロップダウンメニューから、CodeBuild フリートがアクセスする VPC を選択します。
-
[サブネット] ドロップダウンメニューから、CodeBuild が VPC 設定のセットアップに使用するサブネットを選択します。
-
[セキュリティグループ] のドロップダウンメニューから、CodeBuild が VPC の操作に使用するセキュリティグループを選択します。
-
[フリートサービスロール] フィールドで、既存のサービスロールを選択します。
注記
フリートロールに必要なアクセス許可が付与されていることを確認してください。詳細については、「フリートサービスロールのアクセス許可ポリシーを追加することをユーザーに許可」を参照してください。
-
-
[コンピューティングフリートを作成] を選択し、フリートインスタンスの起動を待ちます。起動すると、キャパシティは
になります。n
/n
n
は指定されたキャパシティです。 -
コンピューティングフリートが起動したら、新しい CodeBuild プロジェクトを作成するか、既存の CodeBuild プロジェクトを編集します。[環境] から [プロビジョニングモデル] の [リザーブドキャパシティ] を選択し、[フリート名] で指定したフリートを選択します。
リザーブドキャパシティフリートのカスタム Amazon マシンイメージ (AMI) を設定するにはどうすればよいですか?
リザーブドキャパシティフリートのカスタム Amazon マシンイメージ (AMI) を設定するには
にサインイン AWS Management Console し、 AWS CodeBuild コンソールを https://console.aws.amazon.com/codesuite/codebuild/home
://www.com で開きます。 -
ナビゲーションペインで、[コンピューティングフリート]、[フリートを作成] の順に選択します。
-
[コンピューティングフリート名] テキストフィールドに、フリートの名前を入力します。
-
フリートのカスタムイメージを選択し、Amazon マシンイメージ (AMI) に次の前提条件があることを確認します。
-
環境タイプが の場合は
MAC_ARM
、AMI アーキテクチャが 64 ビット であることを確認しますMac-Arm
。 -
環境タイプが の場合は
LINUX_EC2
、AMI アーキテクチャが 64 ビット であることを確認しますx86
。 -
環境タイプが の場合は
ARM_EC2
、AMI アーキテクチャが 64 ビット であることを確認しますArm
。 -
環境タイプが の場合は
WINDOWS_EC2
、AMI アーキテクチャが 64 ビット であることを確認しますx86
。 -
AMI は CodeBuild サービスに [組織 ARN] を許可します。組織 ARN のリストについては、「Amazon Machine Images (AMI)」を参照してください。
-
AMI が AWS KMS キーで暗号化されている場合、 AWS KMS キーは CodeBuild サービス組織 ID も許可する必要があります。組織 ID のリストについては、「Amazon Machine Images (AMI)」を参照してください。 AWS KMS キーの詳細については、Amazon EC2 ユーザーガイド」のOUs に KMS キーの使用を許可する」を参照してください。CodeBuild 組織に KMS キーを使用するアクセス許可を付与するには、キーポリシーに次のステートメントを追加します。
{ "Sid": "Allow access for organization root", "Effect": "Allow", "Principal": "*", "Action": [ "kms:Describe*", "kms:List*", "kms:Get*", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-123example" } } }
-
[フリートサービスロール] フィールドで、次の Amazon EC2 アクセス許可を付与します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeImages", "ec2:DescribeSnapshots" ], "Resource": "*" } ] }
-
リザーブドキャパシティフリートの制限
リザーブドキャパシティフリートではサポートされていないユースケースがいくつかあります。それにより影響が出る場合は、代わりにオンデマンドフリートを使用してください。
-
リザーブドキャパシティフリートは、ビルド使用率メトリクスをサポートしていません。
-
リザーブドキャパシティの macOS フリートはデバッグセッションをサポートしていません。
クォータと制限の詳細については、「コンピューティングフリート」を参照してください。