Verwenden vonAWS CodeBuildmit Amazon Virtual Private Cloud - AWS CodeBuild

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden vonAWS CodeBuildmit Amazon Virtual Private Cloud

In der Regel kann AWS CodeBuild nicht auf Ressourcen in einer VPC zugreifen. Um den Zugriff zu ermöglichen, müssen Sie zusätzliche VPC-spezifische Konfigurationsinformationen in Ihrer CodeBuild-Projektkonfiguration bereitstellen. Dazu gehören die VPC-ID, die VPC-Subnetz-IDs und die VPC-Sicherheitsgruppen-IDs. VPC-fähige Builds können dann auf Ressourcen in Ihrer VPC zugreifen. Weitere Informationen zur Einrichtung einer VPC in Amazon VPC finden Sie in derAmazon VPC User Guideaus.

Anmerkung

VPC-Konnektivität von CodeBuild wird in Windows nicht unterstützt.

Anmerkung

Wenn Sie eine VPC konfigurieren,Lokales Cachingwird nicht unterstützt. Ab dem 28.02.22 dauert Ihr VPC-Build länger, da für jeden Build eine neue Amazon EC2 EC2-Instance verwendet wird.

Anwendungsfälle

Eine VPC-Konnektivität von AWS CodeBuild-Builds ermöglicht es,

  • Integrationstests von Ihrem Build aus mit Daten in einer Amazon RDS-Datenbank auszuführen, das in einem privaten Subnetz isoliert ist,

  • Daten in einem Amazon abfragenElastiCache-Cluster direkt aus Tests heraus.

  • mit internen Webservices, die auf Amazon EC2, Amazon ECS oder Services gehostet werden, die einen internen Elastic Load Balancing verwenden, zu interagieren,

  • Abhängigkeiten von selbst gehosteten, internen Artefakt-Repositorys, wie PyPI für Python, Maven für Java und npm für Node.js abzurufen,

  • auf Objekte in einem S3-Bucket zuzugreifen, der so konfiguriert ist, dass der Zugriff nur über einen Amazon VPC-Endpunkt möglich ist,

  • externe Webservices, die feste IP-Adressen benötigen, über die elastische IP-Adresse des NAT-Gateways oder der NAT-Instance abzufragen, die mit Ihrem Subnetz verknüpft ist.

Ihre Builds können auf jede Ressource zugreifen, die in Ihrer VPC gehostet wird.

Zulassen von Amazon VPC-Zugriff in IhremCodeBuildProjekte

Nehmen Sie diese Einstellungen in Ihre VPC-Konfiguration auf:

  • Wählen Sie für VPC ID, die VPC-ID aus, die CodeBuild verwendet.

  • Wählen Sie für Subnets (Subnetze) ein privates Subnetz mit NAT-Übersetzung aus, das Routen zu den in CodeBuild verwendeten Ressourcen enthält bzw. hat.

  • Wählen Sie für Security Groups (Sicherheitsgruppen) die Sicherheitsgruppen aus, die CodeBuild verwendet, um den Zugriff auf Ressourcen in den VPCs zu erlauben.

Informationen über das Verwenden der Konsole zum Erstellen eines Build-Projekts finden Sie unter Erstellen Sie ein Build-Projekt (Konsole). Wenn Sie Ihr CodeBuild-Projekt erstellen oder ändern, wählen Sie in VPC Ihre VPC-ID, Subnetze und Sicherheitsgruppen aus.

Informationen über das Verwenden der AWS CLI zum Erstellen eines Build-Projekts finden Sie unter Erstellen eines Build-Projekts (AWS CLI). Wenn Sie die AWS CLI mit CodeBuild verwenden, muss der Servicerolle, die von CodeBuild verwendet wird, um mit Services im Namen des IAM-Benutzers zu interagieren, eine Richtlinie angefügt sein. Weitere Informationen finden Sie unter Sobald Sie die Details auf dieser Seite überprüft haben, klicken Sie auf CodeBuild Zugriff aufAWSzur Erstellung einer VPC-Netzwerkschnittstelle erforderliche -Services.

DieVpcConfigObjekt sollte deinvpcId,securityGroupIds, undSubnetzeaus.

  • vpcId: Erforderlich. Die von CodeBuild verwendete VPC-ID. Führen Sie diesen Befehl aus, um eine Liste aller Amazon VPC-IDs in Ihrer Region zu erhalten:

    aws ec2 describe-vpcs
  • Subnetze: Erforderlich. Die Subnetz-IDs, die Ressourcen enthalten, die von CodeBuild verwendet werden. Führen Sie folgenden Befehl aus, um diese IDs zu erhalten:

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

    Ersetzen Sie us-east-1 durch Ihre Region.

  • securityGroupIds: Erforderlich. Die IDs der Sicherheitsgruppe, die von CodeBuild verwendet werden, um den Zugriff auf Ressourcen in den VPCs zu ermöglichen. Führen Sie diesen Befehl aus, um diese IDs zu erhalten:

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

    Ersetzen Sie us-east-1 durch Ihre Region.

Bewährte Methoden für VPCs

Verwenden Sie diese Checkliste, wenn Sie eine VPC für die Arbeit mit CodeBuild einrichten.

  • Richten Sie Ihre VPC mit öffentlichen und privaten Subnetzen und einem NAT-Gateway ein. Das NAT-Gateway muss sich in einem öffentlichen Subnetz befinden. Weitere Informationen finden Sie unter VPC mit öffentlichen und privaten Subnetzen (NAT) im Amazon VPC Benutzerhandbuch.

    Wichtig

    Sie benötigen ein NAT-Gateway oder eine NAT-Instance, um verwenden zu könnenCodeBuildmit deiner VPC damitCodeBuildkann öffentliche Endpunkte erreichen (z. B. um CLI-Befehle auszuführen, wenn Builds ausgeführt werden). Sie können das Internet-Gateway nicht anstelle eines NAT-Gateways oder einer NAT-Instance verwenden, daCodeBuildSie unterstützen die Zuweisung von Elastic IP-Adressen zu den von ihm erstellten Netzwerkschnittstellen nicht, und die automatische Zuweisung einer öffentlichen IP-Adresse von Amazon EC2 für alle Netzwerkschnittstellen, die außerhalb von Amazon EC2 EC2-Instance-Starts erstellt wurden, nicht unterstützt wird.

  • Binden Sie mehrere Availability Zones in Ihre VPC ein.

  • Vergewissern Sie sich, dass Ihre Sicherheitsgruppen keinen eingehenden Datenverkehr zu Ihren Builds zulassen. CodeBuildhat keine spezifischen Anforderungen für ausgehenden Datenverkehr, aber Sie müssen den Zugriff auf alle für Ihren Build erforderlichen Internetressourcen zulassen, z.GitHuboder Amazon S3.

    Weitere Informationen finden Sie unter Sicherheitsgruppenregeln im Amazon VPC-Benutzerhandbuch.

  • Richten Sie für Ihre Builds separate Subnetze ein.

  • Wählen Sie bei der Einrichtung Ihrer CodeBuild-Projekte für den Zugriff auf Ihre VPC nur private Subnetze.

Weitere Informationen zur Einrichtung einer VPC in Amazon VPC finden Sie in derAmazon VPC User Guideaus.

Weitere Informationen zur Nutzung von AWS CloudFormation, um eine VPC für die Verwendung der CodeBuild-VPC-Funktion zu konfigurieren, finden Sie unter AWS CloudFormation VPC-Vorlage.

Fehlerbehebung für Ihre VPC-Einrichtung

Verwenden Sie die in der Fehlermeldung angegebenen Informationen, um Probleme zu identifizieren, zu diagnostizieren und zu beheben.

Im Folgenden finden Sie einige Leitlinien, die Ihnen bei der Behebung eines häufig auftretenden CodeBuild-VPC-Fehlers helfen: Build does not have internet connectivity. Please check subnet network configuration.

  1. Stellen Sie sicher, dass Ihr Internet-Gateway an die VPC angeschlossen ist..

  2. Stellen Sie sicher, dass die Routing-Tabelle für Ihr öffentliches Subnetz auf das Internet-Gateway verweist..

  3. Stellen Sie sicher, dass Ihre Netzwerk-ACLs den Datenverkehr zulassen.

  4. Stellen Sie sicher, dass Ihre Sicherheitsgruppen den Datenverkehr zulassen.

  5. Fehlerbehebung für Ihr NAT-Gateway.

  6. Vergewissern Sie sich, dass die Routing-Tabelle für private Subnetze auf das NAT-Gateway verweist..

  7. Stellen Sie sicher, dass der Servicerolle, die von CodeBuild verwendet wird, um mit Services im Namen des IAM-Benutzers zu interagieren, über Berechtigungen in dieser Richtlinie verfügt. Weitere Informationen finden Sie unter Erstellen Sie eine CodeBuild-Servicerolle .

    Für den Fall, dass in CodeBuild Berechtigungen fehlen, erhalten Sie möglicherweise folgende Fehlermeldung: Unexpected EC2 error: UnauthorizedOperation. Dieser Fehler kann auftreten, wennCodeBuildSie verfügen nicht über die Amazon EC2 EC2-Berechtigungen, die zum Arbeiten mit einer VPC erforderlich sind.