

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Run si basa su flotte a capacità riservata
<a name="fleets"></a>

CodeBuild offre le seguenti flotte di elaborazione:
+ flotte su richiesta
+ Flotte a capacità riservata

Con flotte on-demand, CodeBuild fornisce elaborazione per le tue build. Le macchine vengono distrutte al termine della costruzione. Le flotte on-demand sono completamente gestite e includono funzionalità di scalabilità automatica per gestire i picchi di domanda.

**Nota**  
Le flotte on demand non supportano macOS.

CodeBuild offre anche flotte a capacità riservata che contengono istanze alimentate da Amazon EC2 gestite da. CodeBuild Con le flotte a capacità riservata, puoi configurare un set di istanze dedicate per il tuo ambiente di costruzione. Queste macchine rimangono inattive, pronte per l'elaborazione immediata di build o test e riducono la durata di costruzione. Con flotte a capacità riservata, le macchine sono sempre in funzione e continueranno a sostenere costi finché verranno rifornite.

**Importante**  
Indipendentemente dalla durata di esecuzione di un'istanza, le flotte a capacità riservata sono soggette a un costo iniziale per istanza, dopodiché potrebbero esserci costi aggiuntivi associati. Per ulteriori informazioni, consulta [https://aws.amazon.com/codebuild/pricing/](https://aws.amazon.com/codebuild/pricing/).

**Topics**
+ [Crea un parco veicoli a capacità riservata](#fleets.how-to)
+ [Best practice](#fleets.best-practices)
+ [Posso condividere una flotta di capacità riservata tra più progetti? CodeBuild](#fleets.share)
+ [Come funziona il calcolo basato sugli attributi?](#fleets.attribute-compute)
+ [Posso specificare manualmente un'istanza Amazon EC2 per la mia flotta?](#fleets.manual-input-compute)
+ [Quali regioni supportano flotte a capacità riservata?](#fleets.regions)
+ [Come posso configurare una flotta macOS a capacità riservata?](#fleets.configure-macos)
+ [Come posso configurare un'Amazon Machine Image (AMI) personalizzata per un parco macchine a capacità riservata?](#fleets.custom-ami)
+ [Limitazioni delle flotte a capacità riservata](#fleets.limitations)
+ [Proprietà del parco veicoli a capacità riservata](fleets.reserved-capacity-fleets.md)
+ [Esempi di capacità riservata con AWS CodeBuild](reserved-capacity-samples.md)

## Crea un parco veicoli a capacità riservata
<a name="fleets.how-to"></a>

Utilizza le seguenti istruzioni per creare un parco veicoli a capacità riservata.

**Per creare un parco veicoli con capacità riservata**

1. Accedi Console di gestione AWS e apri la AWS CodeBuild console su [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. **Nel pannello di navigazione, scegli **Compute fleets**, quindi scegli Create Fleet.**

1. Nel campo di testo **Compute fleet name**, inserisci un nome per la tua flotta.

1. Dal menu a discesa **Sistema operativo**, scegli il sistema operativo.

1. Dal menu a discesa **Architettura**, scegli l'architettura.

1. (Facoltativo) Seleziona **Usa la modalità di esecuzione dell'istanza: facoltativo** per l'esecuzione diretta su un'istanza Amazon EC2 anziché su un contenitore Docker. Quindi scegli una **versione principale e una versione** **secondaria**.

1. (Facoltativo) In **Configurazione aggiuntiva**, procedi come segue:
   + Seleziona **Configura VPC: opzionale** per connettere la tua flotta a un VPC per accedere a risorse private durante l'utilizzo.
     + Dal menu a discesa **VPC**, seleziona un VPC a cui accederà la tua flotta. CodeBuild 
     + Dal menu a discesa **Sottoreti**, seleziona le sottoreti da CodeBuild utilizzare per configurare la configurazione del VPC.
     + Dal menu a discesa **Gruppi di sicurezza**, seleziona i gruppi di sicurezza da CodeBuild utilizzare per lavorare con il tuo VPC.
     + Nel campo **Fleet Service Role, scegli un ruolo** di servizio esistente.
**Nota**  
Assicurati che il tuo ruolo nella flotta disponga delle autorizzazioni necessarie. Per ulteriori informazioni, consulta [Consenti a un utente di aggiungere una politica di autorizzazione per un ruolo di fleet service](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-permission-policy-fleet-service-role).
     + Se hai scelto il sistema operativo Amazon Linux, seleziona **Definisci configurazioni proxy - opzionale** per applicare il controllo dell'accesso alla rete alle tue istanze a capacità riservata.
     + Per il **comportamento predefinito**, scegli di consentire o negare il traffico in uscita verso tutte le destinazioni per impostazione predefinita.
     + Per **le regole proxy**, scegli **Aggiungi regola proxy** per specificare i domini di destinazione o IPs per consentire o negare il controllo dell'accesso alla rete.
   + Seleziona **Configura AMI personalizzata: facoltativo** per utilizzare un'Amazon Machine Image (AMI) personalizzata.
     + Dal menu a discesa **AMI**, seleziona un'Amazon Machine Image (AMI) per la tua flotta.
     + Nel campo **Fleet Service Role, scegli un ruolo** di servizio esistente.
**Nota**  
Assicurati che il tuo ruolo nella flotta disponga delle autorizzazioni necessarie. Per ulteriori informazioni, consulta [Consenti a un utente di aggiungere una politica di autorizzazione per un ruolo di fleet service](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-permission-policy-fleet-service-role).

1. Nella **configurazione della capacità**, dalla **modalità di selezione Compute**, scegli una delle seguenti opzioni:
   + Se scegli **Selezione guidata**, procedi come segue:
     + Per **Compute**, scegli il tipo di istanze incluse in questo parco istanze.
     + Nel campo **di testo Capacità**, inserisci il numero minimo di istanze nel parco istanze.
     + (Facoltativo) In **Configurazione aggiuntiva**, procedi come segue:
       + Seleziona **Configura scalabilità: opzionale per ridimensionare** automaticamente la flotta in base a questa configurazione. Dal menu a discesa della **modalità Scaling, opzionale**, scegli il comportamento quando la domanda supera la capacità della flotta.
   + Se scegli **Istanza personalizzata**, procedi come segue:
     + Dal menu a discesa del **tipo di istanza Compute**, seleziona il tipo di istanze incluse in questo parco istanze.
     + Nel campo di testo **opzionale Dimensioni aggiuntive del volume EBS**, inserisci il volume aggiuntivo rispetto ai 64 GB di spazio su disco forniti.
     + Nel campo **di testo Capacità**, inserisci il numero minimo di istanze nel parco istanze.
     + (Facoltativo) In **Configurazione aggiuntiva**, procedi come segue:
       + Seleziona **Configura scalabilità: opzionale per ridimensionare** automaticamente la flotta in base a questa configurazione. Dal menu a discesa della **modalità Scaling, opzionale**, scegli il comportamento quando la domanda supera la capacità della flotta.

1. **Scegli Create Compute Fleet.**

1. Dopo aver creato la flotta di elaborazione, crea un nuovo CodeBuild progetto o modificane uno esistente. **Da **Ambiente**, scegli **Capacità riservata** in **Modello di provisioning**, quindi scegli la flotta specificata in Fleet name.**

## Best practice
<a name="fleets.best-practices"></a>

Quando utilizzi flotte a capacità riservata, ti consigliamo di seguire queste migliori pratiche.
+ Ti consigliamo di utilizzare la modalità cache del codice sorgente per migliorare le prestazioni di compilazione memorizzando nella cache il codice sorgente.
+ Ti consigliamo di utilizzare la memorizzazione nella cache dei livelli Docker per migliorare le prestazioni di compilazione memorizzando nella cache i livelli Docker esistenti.

## Posso condividere una flotta di capacità riservata tra più progetti? CodeBuild
<a name="fleets.share"></a>

Sì, puoi massimizzare l'utilizzo della capacità di una flotta utilizzandola in più progetti.

**Importante**  
Quando si utilizza la funzionalità di capacità riservata, i dati memorizzati nella cache delle istanze del parco istanze, inclusi i file sorgente, i layer Docker e le directory memorizzate nella cache specificate nelle specifiche di costruzione, possono essere accessibili ad altri progetti all'interno dello stesso account. Questa funzionalità è preimpostata e consente ai progetti all'interno dello stesso account di condividere le istanze del parco istanze.

## Come funziona il calcolo basato sugli attributi?
<a name="fleets.attribute-compute"></a>

Se scegli `ATTRIBUTE_BASED_COMPUTE` come quelli del tuo parco veicoli`computeType`, puoi specificare gli attributi in un nuovo campo chiamato. `computeConfiguration` Questi attributi includono vCPUs, memoria, spazio su disco e`machineType`. Questo `machineType` è `GENERAL` o`NVME`. Dopo aver specificato uno o alcuni degli attributi disponibili, CodeBuild sceglierà un tipo di calcolo tra i tipi di istanza supportati disponibili come finalizzato. `computeConfiguration`

**Nota**  
CodeBuild sceglierà l'istanza più economica che soddisfa tutti i requisiti di input. La memoriaCPUs, v e lo spazio su disco delle istanze scelte saranno tutti maggiori o uguali ai requisiti di input. È possibile verificare la risoluzione `computeConfiguration` nel parco dati creato o aggiornato.

Se inserisci un messaggio `computeConfiguration` che non è possibile soddisfare CodeBuild, riceverai un'eccezione di convalida. Tieni inoltre presente che il comportamento di sovraccarico della flotta su richiesta verrà sostituito dal comportamento in coda se non è disponibile per la `computeConfiguration` modalità on demand.

## Posso specificare manualmente un'istanza Amazon EC2 per la mia flotta?
<a name="fleets.manual-input-compute"></a>

Sì, puoi inserire direttamente l'istanza Amazon EC2 desiderata nella console selezionando **Istanza personalizzata** o configurando il parametro API,. `InstanceType` Questo campo viene utilizzato nei seguenti casi APIs: CreateFleet, UpdateFleet CreateProject, UpdateProject e. StartBuild Per ulteriori informazioni, consulta [Compute instance type](fleets.reserved-capacity-fleets.md#compute).

## Quali regioni supportano flotte a capacità riservata?
<a name="fleets.regions"></a>

Le flotte Amazon Linux e Windows con capacità riservata sono supportate nei seguenti paesi Regioni AWS: Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Stati Uniti occidentali (Oregon), Asia Pacifico (Mumbai), Asia Pacifico (Singapore), Asia Pacifico (Sydney), Asia Pacifico (Tokyo), Europa (Francoforte), Europa (Irlanda) e Sud America (San Paolo). [Per ulteriori informazioni su Regioni AWS dove CodeBuild è disponibile, consulta Servizi per regione.AWS](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)

Le flotte macOS Medium a capacità riservata sono supportate nei seguenti paesi Regioni AWS: Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Stati Uniti occidentali (Oregon), Asia Pacifico (Sydney) ed Europa (Francoforte). Le flotte macOS Large con capacità riservata sono supportate nelle seguenti aree Regioni AWS: Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Stati Uniti occidentali (Oregon) e Asia Pacifico (Sydney).

## Come posso configurare una flotta macOS a capacità riservata?
<a name="fleets.configure-macos"></a>

**Per configurare una flotta macOS a capacità riservata**

1. Accedi Console di gestione AWS e apri la AWS CodeBuild console su [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. **Nel pannello di navigazione, scegli **Compute fleets**, quindi scegli Create Fleet.**

1. Nel campo di testo **Compute fleet name**, inserisci un nome per la tua flotta.

1. **Dal menu a discesa **Sistema operativo**, scegli macOS.**

1. Nel campo **Calcolo**, scegli uno dei seguenti tipi di macchina di elaborazione: **Apple M2, 24 GB di memoria, 8 v CPUs o Apple M2,** **32 GB di memoria, 12** v. CPUs

1. Nel campo **di testo Capacità**, inserisci il numero minimo di istanze nel parco istanze.

1. (Facoltativo) Per utilizzare un'immagine personalizzata per la tua flotta, [Come posso configurare un'Amazon Machine Image (AMI) personalizzata per un parco macchine a capacità riservata?](#fleets.custom-ami) verifica che la tua Amazon Machine Image (AMI) abbia i prerequisiti richiesti.

1. (Facoltativo) Per configurare un VPC con la tua flotta, in **Configurazione aggiuntiva procedi** come segue:
   + Dal menu a discesa **VPC, opzionale**, seleziona un VPC a cui accederà la tua flotta. CodeBuild 
   + Dal menu a discesa **Sottoreti**, seleziona le sottoreti da CodeBuild utilizzare per configurare la configurazione del VPC.
   + Dal menu a discesa **Gruppi di sicurezza**, seleziona i gruppi di sicurezza da CodeBuild utilizzare per lavorare con il tuo VPC.
   + Nel campo **Fleet service role**, scegli un ruolo di servizio esistente.
**Nota**  
Assicurati che il tuo ruolo nella flotta disponga delle autorizzazioni necessarie. Per ulteriori informazioni, consulta [Consenti a un utente di aggiungere una politica di autorizzazione per un ruolo di fleet service](auth-and-access-control-iam-identity-based-access-control.md#customer-managed-policies-example-permission-policy-fleet-service-role).

1. Scegli **Create Compute Fleet** e attendi l'avvio dell'istanza del parco istanze. Una volta avviata, la capacità sarà`n/n`, *n* dov'è la capacità fornita.

1. Dopo il lancio della flotta di elaborazione, crea un nuovo CodeBuild progetto o modificane uno esistente. **Da **Ambiente**, scegli **Capacità riservata** in **Modello di provisioning**, quindi scegli la flotta specificata in Fleet name.**

## Come posso configurare un'Amazon Machine Image (AMI) personalizzata per un parco macchine a capacità riservata?
<a name="fleets.custom-ami"></a>

**Per configurare un'Amazon Machine Image (AMI) personalizzata per un parco macchine a capacità riservata**

1. Accedi Console di gestione AWS e apri la AWS CodeBuild console su [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. **Nel pannello di navigazione, scegli **Compute fleets**, quindi scegli Create Fleet.**

1. Nel campo di testo **Compute fleet name**, inserisci un nome per la tua flotta.

1. Scegli **un'immagine personalizzata** per la tua flotta e assicurati che la tua Amazon Machine Image (AMI) soddisfi i seguenti prerequisiti:
   + Se il tipo di ambiente è`MAC_ARM`, assicurati che l'**architettura** AMI sia a 64 bit`Mac-Arm`.
   + Se il tipo di ambiente è`LINUX_EC2`, assicurati che l'**architettura** AMI sia a 64 bit`x86`.
   + Se il tipo di ambiente è`ARM_EC2`, assicurati che l'**architettura** AMI sia a 64 bit`Arm`.
   + Se il tipo di ambiente è`WINDOWS_EC2`, assicurati che l'**architettura** AMI sia a 64 bit`x86`.
   + L'AMI consente il CodeBuild servizio **Organization ARN**. Per un elenco delle organizzazioni ARNs, vedere[Amazon Machine Images (AMI)](fleets.reserved-capacity-fleets.md#ami).
   + Se l'AMI è crittografato con una AWS KMS chiave, la AWS KMS chiave deve consentire anche l'**ID dell'organizzazione** del CodeBuild servizio. Per un elenco delle organizzazioni IDs, vedere[Amazon Machine Images (AMI)](fleets.reserved-capacity-fleets.md#ami). Per ulteriori informazioni sulle AWS KMS chiavi, consulta [Consentire alle organizzazioni e OUs di utilizzare una chiave KMS nella Guida](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/share-amis-with-organizations-and-OUs.html#allow-org-ou-to-use-key) per l'utente di *Amazon EC2*. Per autorizzare CodeBuild l'organizzazione a utilizzare una chiave KMS, aggiungi la seguente dichiarazione alla politica chiave:

     ```
     {
         "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"
             }
         }
     }
     ```
   + Nel campo **Fleet service role**, concedi le seguenti autorizzazioni Amazon EC2:

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Effect": "Allow",
                 "Action": [
                    "ec2:DescribeImages",
                    "ec2:DescribeSnapshots"
                 ],
                 "Resource": "*"
             }
         ]
     }
     ```

------

## Limitazioni delle flotte a capacità riservata
<a name="fleets.limitations"></a>

Esistono alcuni casi d'uso che le flotte a capacità riservata non sono supportate e, se hanno un impatto su di te, utilizza invece flotte su richiesta:
+ Le flotte a capacità riservata non supportano le metriche di utilizzo delle build.
+ Le flotte macOS a capacità riservata non supportano le sessioni di debug.

Per ulteriori informazioni su limiti e quote, consulta. [Flotte di calcolo](limits.md#fleet-limits)