View a markdown version of this page

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:

  • On-demand flotte

  • flotte con capacità riservata

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

Nota

On-demand le flotte non supportano macOS.

CodeBuild offre anche flotte di capacità riservata che contengono istanze basate su Amazon EC2 gestite da. CodeBuild Con i parchi di capacità riservati, configuri un set di istanze dedicate per il tuo ambiente di compilazione. Queste macchine rimangono inattive, pronte per elaborare immediatamente le build o i test e riducono la durata di compilazione. Grazie a flotte con capacità riservata, le macchine sono sempre in funzione e continueranno a sostenere costi fintanto che saranno disponibili.

Importante

Indipendentemente dalla durata di funzionamento di un'istanza, le flotte di capacità riservata comportano un costo iniziale per istanza, al termine del quale potrebbero essere associati costi aggiuntivi. Per ulteriori informazioni, consulta https://aws.amazon.com/codebuild/pricing/.

Crea un parco di capacità riservato

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

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

  2. Nel pannello di navigazione, scegli Compute fleet, 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. (Facoltativo) Seleziona Usa la modalità di esecuzione dell'istanza: opzionale per l'esecuzione diretta su un'istanza Amazon EC2 anziché su un contenitore Docker. Quindi scegli una versione principale e una versione secondaria.

  7. (Facoltativo) Nella configurazione aggiuntiva, procedi come segue:

    • Seleziona Configura VPC: opzionale per connettere la tua flotta a un VPC per accedere alle 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 utilizzare per configurare la configurazione del VPC. CodeBuild

      • Dal menu a discesa Gruppi di sicurezza, seleziona i gruppi di sicurezza da utilizzare per lavorare con il tuo VPC. CodeBuild

      • Nel campo Fleet Service Role, scegli un ruolo di servizio esistente.

        Nota

        Assicurati che il tuo ruolo nel parco veicoli 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 per le istanze a capacità riservata.

      • Per impostazione predefinita, scegli di consentire o negare il traffico in uscita verso tutte le destinazioni.

      • Per le regole proxy, scegli Aggiungi regola proxy per specificare i domini o gli IP di destinazione a cui consentire o negare il controllo dell'accesso alla rete.

    • Seleziona Configura AMI personalizzata: opzionale per utilizzare un'Amazon Machine Image (AMI) personalizzata.

  8. 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 del parco istanze.

      • (Facoltativo) Nella configurazione aggiuntiva, procedi come segue:

        • Seleziona Configura scalabilità: opzionale per scalare automaticamente la tua flotta in base a questa configurazione. Dal menu a discesa Modalità di scalabilità, 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 di calcolo, seleziona il tipo di istanze incluse in questo parco istanze.

      • Nel campo di testo Dimensione aggiuntiva del volume EBS - opzionale, inserisci il volume aggiuntivo rispetto ai 64 GB di spazio su disco forniti.

      • Nel campo di testo Capacità, inserisci il numero minimo di istanze del parco istanze.

      • (Facoltativo) Nella configurazione aggiuntiva, procedi come segue:

        • Seleziona Configura scalabilità: opzionale per scalare automaticamente la tua flotta in base a questa configurazione. Dal menu a discesa Modalità di scalabilità, opzionale, scegli il comportamento quando la domanda supera la capacità della flotta.

  9. Scegli Crea una flotta di elaborazione.

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

Best practice

Quando si utilizzano flotte a capacità riservata, si consiglia di seguire queste best practice.

  • Si consiglia di utilizzare la modalità cache di origine per migliorare le prestazioni di compilazione memorizzando nella cache il codice sorgente.

  • Consigliamo di utilizzare la cache dei livelli Docker per migliorare le prestazioni di compilazione memorizzando nella cache i livelli Docker esistenti.

Posso condividere un parco di capacità riservato 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 della flotta, inclusi i file sorgente, i livelli Docker e le directory memorizzate nella cache specificati in buildspec, possono essere accessibili ad altri progetti all'interno dello stesso account. Questa funzionalità è stata progettata e consente ai progetti all'interno dello stesso account di condividere flotte di istanze.

Come funziona l'elaborazione basata sugli attributi?

Se scegli ATTRIBUTE_BASED_COMPUTE come quelli della tua flottacomputeType, puoi specificare gli attributi in un nuovo campo chiamato. computeConfiguration Questi attributi includono vCPU, memoria, spazio su disco e. machineType Questo machineType è uno o. GENERAL 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 memoria, le vCPU e lo spazio su disco delle istanze scelte saranno tutti maggiori o uguali ai requisiti di input. Puoi controllare i risolti computeConfiguration nel parco macchine creato o aggiornato.

Se inserisci una risposta computeConfiguration che non è possibile soddisfare CodeBuild, riceverai un'eccezione di convalida. Tieni inoltre presente che il comportamento di overflow del parco veicoli su richiesta verrà sostituito con il comportamento di coda se non è disponibile per l'on-demand. computeConfiguration

Posso specificare manualmente un'istanza Amazon EC2 per la mia flotta?

Sì, puoi inserire direttamente l'istanza Amazon EC2 desiderata nella console selezionando Istanza personalizzata o configurando il parametro API,. InstanceType Questo campo viene utilizzato nelle seguenti API: CreateFleet, UpdateFleet, CreateProject e. UpdateProject StartBuild Per ulteriori informazioni, consulta Compute instance type.

Quali regioni supportano le flotte a capacità riservata?

Le flotte Amazon Linux e Windows 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 (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 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 (Sydney) ed Europa (Francoforte). Le flotte macOS Large a capacità riservata sono supportate nei seguenti paesi Regioni AWS: Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Stati Uniti occidentali (Oregon) e Asia Pacifico (Sydney).

Come posso configurare un parco macOS a capacità riservata?

Per configurare un parco macOS a capacità riservata
  1. Accedi Console di gestione AWS e apri la AWS CodeBuild console all'indirizzo https://console.aws.amazon.com/codesuite/codebuild/home.

  2. Nel pannello di navigazione, scegli Compute fleet, 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 Compute, scegli uno dei seguenti tipi di computer: Apple M2, 24 GB di memoria, 8 vCPU o Apple M2, 32 GB di memoria, 12 vCPU.

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

  7. (Facoltativo) Per utilizzare un'immagine personalizzata per la tua flotta, Come posso configurare una Amazon Machine Image (AMI) personalizzata per un parco veicoli a capacità riservata? verifica che 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 utilizzare per configurare la configurazione del VPC. CodeBuild

    • Dal menu a discesa Gruppi di sicurezza, seleziona i gruppi di sicurezza da utilizzare per lavorare con il tuo VPC. CodeBuild

    • Nel campo Ruolo del servizio Fleet, scegli un ruolo di servizio esistente.

      Nota

      Assicurati che il tuo ruolo nel parco veicoli 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 il lancio dell'istanza della flotta. Una volta avviatan/n, la capacità sarà: n dov'è la capacità fornita.

  10. Dopo il lancio del parco computer, crea un nuovo CodeBuild progetto o modificane uno esistente. In Ambiente, scegli Capacità riservata nel modello di provisioning, quindi scegli la flotta specificata in Fleet name.

Come posso configurare una Amazon Machine Image (AMI) personalizzata per un parco veicoli a capacità riservata?

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

  2. Nel pannello di navigazione, scegli Compute fleet, 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 Amazon Machine Image (AMI) abbia i seguenti prerequisiti:

    • Se il tuo tipo di ambiente èMAC_ARM, assicurati che la tua architettura AMI sia a 64 bitMac-Arm.

    • Se il tuo tipo di ambiente èLINUX_EC2, assicurati che la tua architettura AMI sia a 64 bitx86.

    • Se il tuo tipo di ambiente èARM_EC2, assicurati che la tua architettura AMI sia a 64 bitArm.

    • Se il tuo tipo di ambiente èWINDOWS_EC2, assicurati che la tua architettura AMI sia a 64 bitx86.

    • L'AMI consente il CodeBuild servizio Organization ARN. Per un elenco degli ARN dell'organizzazione, vedere. Amazon Machine Images (AMI)

    • Se l'AMI è crittografata con una AWS KMS chiave, la AWS KMS chiave deve consentire anche l'ID dell'organizzazione del CodeBuild servizio. Per un elenco degli ID dell'organizzazione, consultaAmazon Machine Images (AMI). Per ulteriori informazioni sulle AWS KMS chiavi, consulta Consentire alle organizzazioni e alle unità organizzative 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 policy 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 del ruolo del servizio Fleet, concedi le seguenti autorizzazioni Amazon EC2:

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

Limitazioni delle flotte di capacità riservata

Ci sono alcuni casi d'uso che le flotte a capacità riservata non sono supportate e, se hanno un impatto su di te, utilizza invece le flotte su richiesta:

  • Le flotte di capacità riservata non supportano le metriche di utilizzo delle build.

  • Le flotte macOS con capacità riservata non supportano la sessione di debug.

Per ulteriori informazioni su limiti e quote, consulta. Flotte di calcolo