Utilizzo AWS CodeBuild con Amazon Virtual Private Cloud - 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à.

Utilizzo AWS CodeBuild con Amazon Virtual Private Cloud

In genere, AWS CodeBuild non è possibile accedere alle risorse in un VPC. Per abilitare l'accesso, è necessario fornire ulteriori informazioni di configurazione specifiche per VPC CodeBuild nella configurazione del progetto. Queste includono l'ID del VPC, gli ID della sottorete VPC e gli ID del gruppo di sicurezza del VPC. Le compilazioni attivate da VPC possono accedere alle risorse all'interno del tuo VPC. Per ulteriori informazioni sulla configurazione di un VPC in Amazon VPC, consulta la Amazon VPC User Guide.

Casi d'uso

La connettività VPC AWS CodeBuild delle build consente di:

  • Esegui i test di integrazione della tua build rispetto ai dati in un database Amazon RDS isolato su una sottorete privata.

  • Interroga i dati in un ElastiCache cluster Amazon direttamente dai test.

  • Interagisci con servizi Web interni ospitati su Amazon EC2, Amazon ECS o servizi che utilizzano Elastic Load Balancing interno.

  • Recuperare dipendenze da repository di artefatti interni e autogestiti, come PyPI per Python, Maven per Java e npm per Node.js.

  • Accedi agli oggetti in un bucket S3 configurato per consentire l'accesso solo tramite un endpoint Amazon VPC.

  • Eseguire una query dei servizi Web esterni che richiedono indirizzi IP fissi attraverso l'indirizzo IP elastico del gateway NAT o dell'istanza NAT associata alla sottorete.

Le build possono accedere a tutte le risorse ospitate sul tuo VPC.

Consentire l'accesso ad Amazon VPC nei tuoi progetti CodeBuild

Includi queste impostazioni nella configurazione del VPC:

  • Per VPC ID, scegli l'ID VPC che utilizza. CodeBuild

  • Per le sottoreti, scegli una sottorete privata con traduzione NAT che includa o disponga di percorsi verso le risorse utilizzate da. CodeBuild

  • Per i gruppi di sicurezza, scegli i gruppi di sicurezza da CodeBuild utilizzare per consentire l'accesso alle risorse nei VPC.

Per utilizzare la console per creare un progetto di compilazione, consulta Creare un progetto di compilazione (console). Quando crei o modifichi il tuo CodeBuild progetto, in VPC, scegli l'ID VPC, le sottoreti e i gruppi di sicurezza.

Per utilizzare il per creare un AWS CLI progetto di compilazione, vedi. Creazione di un progetto di compilazione (AWS CLI) Se utilizzi AWS CLI with CodeBuild, il ruolo di servizio utilizzato da CodeBuild per interagire con i servizi per conto dell'utente IAM deve avere una policy allegata. Per informazioni, consulta Consenti CodeBuild l'accesso ai AWS servizi necessari per creare un'interfaccia di rete VPC.

L'oggetto VPCConfig dovrebbe includere il VPCId e le sottoreti. securityGroupIds

  • VPCID: richiesto. L'ID VPC che CodeBuild utilizza. Esegui questo comando per ottenere un elenco di tutti gli ID Amazon VPC nella tua regione:

    aws ec2 describe-vpcs
  • sottorete: richiesto. Gli ID di sottorete che includono le risorse utilizzate da. CodeBuild Esegui questo comando per ottenere questi ID:

    aws ec2 describe-subnets --filters "Name=vpc-id,Values=<vpc-id>" --region us-east-1
    Nota

    Sostituisci us-east-1 con la tua regione.

  • securityGroupIds: Obbligatorio. Gli ID dei gruppi di sicurezza utilizzati da CodeBuild per consentire l'accesso alle risorse nei VPC. Esegui questo comando per ottenere questi ID:

    aws ec2 describe-security-groups --filters "Name=vpc-id,Values=<vpc-id>" --region us-east-1
    Nota

    Sostituisci us-east-1 con la tua regione.

Best practice per VPC

Usa questa lista di controllo quando configuri un VPC con cui lavorare. CodeBuild

  • Configura il tuo VPC con sottoreti pubbliche e private e un gateway NAT. Il gateway NAT deve risiedere in una sottorete pubblica. Per ulteriori informazioni, consulta VPC con sottoreti pubbliche e private (NAT) in Guida per l'utente di Amazon VPC.

    Importante

    È necessario un gateway NAT o un'istanza NAT da utilizzare CodeBuild con il VPC in modo che CodeBuild possa raggiungere gli endpoint pubblici (ad esempio, per eseguire i comandi CLI durante l'esecuzione delle build). Non è possibile utilizzare il gateway Internet anziché un gateway NAT o un'istanza NAT perché CodeBuild non supporta l'assegnazione di indirizzi IP elastici alle interfacce di rete che crea e l'assegnazione automatica di un indirizzo IP pubblico non è supportata da Amazon EC2 per le interfacce di rete create al di fuori del lancio delle istanze Amazon EC2.

  • Includere più zone di disponibilità al VPC.

  • Assicurati che ai tuoi gruppi di sicurezza non sia consentito il traffico in entrata (in ingresso) verso le tue build. CodeBuild non ha requisiti specifici per il traffico in uscita, ma devi consentire l'accesso a tutte le risorse Internet necessarie per la tua build, ad GitHub esempio Amazon S3.

    Per ulteriori informazioni, consulta Regole del gruppo di sicurezza nella Guida per l'utente di Amazon VPC.

  • Impostare sottoreti separate per le build.

  • Quando configuri i tuoi CodeBuild progetti per accedere al tuo VPC, scegli solo sottoreti private.

Per ulteriori informazioni sulla configurazione di un VPC in Amazon VPC, consulta la Amazon VPC User Guide.

Per ulteriori informazioni sull'utilizzo AWS CloudFormation per configurare un VPC per utilizzare la funzionalità CodeBuild VPC, consulta la. Modello VPC AWS CloudFormation

Risoluzione dei problemi relativi alla configurazione del VPC

Utilizza le informazioni presenti nel messaggio di errore per identificare, diagnosticare e risolvere i problemi.

Di seguito sono riportate alcune linee guida per aiutarti nella risoluzione di un errore CodeBuild VPC comune:. Build does not have internet connectivity. Please check subnet network configuration

  1. Assicurarsi che il gateway Internet sia collegato al VPC.

  2. Assicurarsi che la tabella di routing della sottorete pubblica punti all'Internet Gateway.

  3. Assicurarsi che le liste di controllo degli accessi di rete consentano il traffico sul flusso.

  4. Assicurarsi che i gruppi di sicurezza consentano il traffico sul flusso.

  5. Risolvere i problemi del gateway NAT.

  6. Assicurarsi che la tabella di routing delle sottoreti private punti al gateway NAT.

  7. Assicurati che il ruolo di servizio utilizzato da CodeBuild per interagire con i servizi per conto dell'utente IAM disponga delle autorizzazioni previste da questa policy. Per ulteriori informazioni, consulta Crea un ruolo CodeBuild di servizio.

    Se CodeBuild mancano le autorizzazioni, potresti ricevere un errore che dice,. Unexpected EC2 error: UnauthorizedOperation Questo errore può verificarsi se CodeBuild non si dispone delle autorizzazioni Amazon EC2 necessarie per lavorare con un VPC.

Limitazioni dei VPC

  • La connettività VPC di non CodeBuild è supportata in Windows.

  • La connettività VPC di non CodeBuild è supportata per i VPC condivisi.