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 unter.Amazon VPC Benutzerhandbuch.

Anmerkung

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

Anwendungsfälle

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

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

  • Daten in einem Amazon ElastiCache Cluster direkt aus Tests heraus abzufragen,

  • Mit internen Webservices, die auf Amazon EC2, Amazon ECS gehostet werden, oder mit Services, 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 des Amazon VPC Zugriffs in Ihren CodeBuild Projekten

Nehmen Sie diese Einstellungen in Ihre VPC-Konfiguration auf:

  • FürVPC IDWählen Sie die VPC ID aus, die CodeBuild verwendet.

  • FürSubnetzeWählen Sie ein privates Subnetz mit NAT-Übersetzung aus, das Routen zu den in CodeBuild verwendeten Ressourcen enthält bzw. hat.

  • FürSicherheitsgruppenwählen Sie 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, können Sie inVPCWählen Sie 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 dieAWS CLImit CodeBuild zu 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 Zulassen CodeBuild-Zugriff aufAWSzum Erstellen einer VPC-Netzwerkschnittstelle erforderliche Dienste.

Das vpcConfig-Objekt sollte Ihre vpcId, securityGroupIds und subnets enthalten.

  • 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 Zusammenarbeit 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 CodeBuild mit Ihrer VPC verwenden zu können, damit CodeBuild öffentliche Endpunkte erreichen kann (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, da CodeBuild die Zuweisung von Elastic IP-Adressen zu den von ihm erstellten Netzwerkschnittstellen nicht unterstützt, und die automatische Zuweisung einer öffentlichen IP-Adresse von Amazon EC2 für alle Netzwerkschnittstellen, die außerhalb von Amazon EC2 erstellt wurden, nicht unterstützt wird. -Instance gestartet wird.

  • Binden Sie mehrere Availability Zones in Ihre VPC ein.

  • Vergewissern Sie sich, dass Ihre Sicherheitsgruppen keinen eingehenden Datenverkehr zu Ihren Builds zulassen. CodeBuild hat keine spezifischen Anforderungen für ausgehenden Datenverkehr, Sie müssen jedoch den Zugriff auf alle Internetressourcen zulassen, die für Ihren Build erforderlich sind, wie GitHub oder 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 aus.

Weitere Informationen zur Einrichtung einer VPC in Amazon VPC finden Sie unter.Amazon VPC Benutzerhandbuch.

Weitere Informationen zur Verwendung vonAWS 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 zur Unterstützung bei der Behebung eines häufig auftretenden -häufig auftretenden -CodeBuild VPC Fehlers einige Richtlinien: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 indiese Richtlinie. Weitere Informationen finden Sie unter Erstellen einer 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, wenn CodeBuild nicht über die erforderlichen Amazon EC2 Berechtigungen für die Zusammenarbeit mit einer VPC verfügt.