Run si basa su flotte a capacità riservata - AWS CodeBuild

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

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 o Windows Server 2022.

CodeBuild offre anche flotte a capacità riservata che contengono istanze gestite 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 per tutto il tempo in cui vengono 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/.

Crea un parco veicoli a capacità riservata

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

Per creare un parco veicoli con capacità riservata
  1. Accedi AWS Management Console e apri la AWS CodeBuild console su https://console.aws.amazon.com/codesuite/codebuild/home.

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

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

  4. Dal menu a discesa Sistema operativo, scegli il sistema operativo.

  5. Dal menu a discesa Architettura, scegli l'architettura.

  6. Dal menu a discesa Tipo di ambiente, scegli il tipo di ambiente.

  7. Per v CPUs, scegli il numero di v CPUs da includere nella tua flotta.

  8. Per Memoria, scegli la quantità di memoria da includere nella tua flotta.

  9. Per Disco, scegli la quantità di spazio su disco da includere nella tua flotta.

  10. Per fornire prestazioni di I/O a latenza inferiore, seleziona Use NVMe SSD instance store.

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

  12. Nel campo Comportamento Overflow, scegli il comportamento quando la domanda supera la capacità della flotta. Per ulteriori informazioni su queste opzioni, consulta Proprietà del parco veicoli a capacità riservata.

  13. (Facoltativo) 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.

    • 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.

  14. Scegli Create Compute Fleet.

  15. 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 il parco veicoli specificato in Fleet name.

Best practice

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

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?

Se scegli ATTRIBUTE_BASED_COMPUTE come quelli del tuo parco veicolicomputeType, puoi specificare gli attributi in un nuovo campo chiamato. computeConfiguration Questi attributi includono vCPUs, memoria, spazio su disco emachineType. Questo machineType è GENERAL oNVME. 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.

Quali regioni supportano flotte a capacità riservata?

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

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?

Per configurare una flotta macOS a capacità riservata
  1. Accedi AWS Management Console e apri la AWS CodeBuild console su https://console.aws.amazon.com/codesuite/codebuild/home.

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

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

  4. Dal menu a discesa Sistema operativo, scegli macOS.

  5. 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

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

  7. (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? verifica che la tua Amazon Machine Image (AMI) abbia i prerequisiti richiesti.

  8. (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.

  9. 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.

  10. 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?

Per configurare un'Amazon Machine Image (AMI) personalizzata per un parco macchine a capacità riservata
  1. Accedi AWS Management Console e apri la AWS CodeBuild console su https://console.aws.amazon.com/codesuite/codebuild/home.

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

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

  4. 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 bitMac-Arm.

    • Se il tipo di ambiente èLINUX_EC2, assicurati che l'architettura AMI sia a 64 bitx86.

    • Se il tipo di ambiente èARM_EC2, assicurati che l'architettura AMI sia a 64 bitArm.

    • Se il tipo di ambiente èWINDOWS_EC2, assicurati che l'architettura AMI sia a 64 bitx86.

    • L'AMI consente il CodeBuild servizio Organization ARN. Per un elenco delle organizzazioni ARNs, vedereAmazon Machine Images (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, vedereAmazon Machine Images (AMI). Per ulteriori informazioni sulle AWS KMS chiavi, consulta Consenti alle organizzazioni e OUs di utilizzare una chiave KMS nella Amazon EC2 User Guide. 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 EC2 autorizzazioni Amazon:

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

Limitazioni delle flotte a capacità riservata

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