Verwendung AWS CodeBuild mit 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.

Verwendung AWS CodeBuild mit Amazon Virtual Private Cloud

In der Regel AWS CodeBuild kann nicht auf Ressourcen in einer VPC zugegriffen werden. Um den Zugriff zu aktivieren, müssen Sie in Ihrer CodeBuild Projektkonfiguration zusätzliche VPC-spezifische Konfigurationsinformationen angeben. 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 im Amazon VPC-Benutzerhandbuch.

Anwendungsfälle

Die VPC-Konnektivität von AWS CodeBuild Builds ermöglicht:

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

  • Fragen Sie Daten in einem ElastiCache Amazon-Cluster direkt aus Tests ab.

  • Interagieren Sie mit internen Webservices, die auf Amazon EC2, Amazon ECS gehostet werden, oder mit Services, die internes Elastic Load Balancing verwenden.

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

  • Greifen Sie auf Objekte in einem S3-Bucket zu, 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.

Erlauben Sie Amazon VPC-Zugriff in Ihren Projekten CodeBuild

Nehmen Sie diese Einstellungen in Ihre VPC-Konfiguration auf:

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

  • Wählen Sie für Subnetze ein privates Subnetz mit NAT-Übersetzung aus, das Routen zu den von verwendeten Ressourcen enthält oder Routen zu diesen enthält. CodeBuild

  • Wählen Sie unter Sicherheitsgruppen die Sicherheitsgruppen aus, die CodeBuild den Zugriff auf Ressourcen in den VPCs ermöglichen.

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 in VPC erstellen oder ändern, wählen Sie Ihre VPC-ID, Subnetze und Sicherheitsgruppen aus.

Informationen zur Verwendung von AWS CLI zum Erstellen eines Build-Projekts finden Sie unter. Erstellen eines Build-Projekts (AWS CLI) Wenn Sie with verwenden CodeBuild, muss der AWS CLI Servicerolle, die für CodeBuild die Interaktion mit Diensten im Namen des IAM-Benutzers verwendet wird, eine Richtlinie angehängt sein. Weitere Informationen finden Sie unter Erlauben Sie den CodeBuild Zugriff auf AWS Dienste, die zum Erstellen einer VPC-Netzwerkschnittstelle erforderlich sind.

Das VPCConfig-Objekt sollte Ihre vpcId und Subnetze securityGroupIdsenthalten.

  • vpcId: Erforderlich. Die VPC-ID, die CodeBuild verwendet wird. Führen Sie diesen Befehl aus, um eine Liste aller Amazon VPC-IDs in Ihrer Region abzurufen:

    aws ec2 describe-vpcs
  • subnets: Erforderlich. Die Subnetz-IDs, die Ressourcen enthalten, die von verwendet werden. CodeBuild 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 Sicherheitsgruppen-IDs, die von verwendet werden CodeBuild , 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 einrichten, mit der Sie arbeiten möchten. CodeBuild

  • 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 zur Verwendung CodeBuild mit Ihrer VPC, sodass öffentliche Endpunkte erreicht werden CodeBuild können (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 die Zuweisung von Elastic IP-Adressen zu den von ihm erstellten Netzwerkschnittstellen CodeBuild nicht unterstützt wird und Amazon EC2 die automatische Zuweisung einer öffentlichen IP-Adresse für Netzwerkschnittstellen, die außerhalb von Amazon EC2 EC2-Instance-Starts erstellt wurden, nicht unterstützt.

  • Binden Sie mehrere Availability Zones in Ihre VPC ein.

  • Stellen Sie sicher, dass für Ihre Sicherheitsgruppen kein eingehender (eingehender) Datenverkehr zu Ihren Builds zugelassen ist. CodeBuild hat keine spezifischen Anforderungen für ausgehenden Datenverkehr, aber Sie müssen den Zugriff auf alle Internetressourcen zulassen, die für Ihren Build erforderlich sind, z. GitHub B. Amazon S3.

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

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

  • Wenn Sie Ihre CodeBuild Projekte für den Zugriff auf Ihre VPC einrichten, wählen Sie nur private Subnetze.

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

Weitere Informationen AWS CloudFormation zur Konfiguration einer VPC für die Verwendung der CodeBuild VPC-Funktion 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 Richtlinien, die Sie bei der Behebung eines häufigen CodeBuild VPC-Fehlers unterstützen sollen: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 die Servicerolle, die CodeBuild für die Interaktion mit Diensten im Namen des IAM-Benutzers verwendet wird, über die in dieser Richtlinie festgelegten Berechtigungen verfügt. Weitere Informationen finden Sie unter Erstellen Sie eine CodeBuild Servicerolle.

    Wenn CodeBuild Berechtigungen fehlen, erhalten Sie möglicherweise die folgende Fehlermeldung:. Unexpected EC2 error: UnauthorizedOperation Dieser Fehler kann auftreten, wenn Sie CodeBuild nicht über die Amazon EC2 EC2-Berechtigungen verfügen, die für die Arbeit mit einer VPC erforderlich sind.

Einschränkungen von VPCs

  • VPC-Konnektivität von CodeBuild wird für gemeinsam genutzte VPCs nicht unterstützt.

  • VPC-Konnektivität von CodeBuild wird für Windows Server 2019 und Windows Server 2022 nicht unterstützt. Verwenden Sie Amazon Linux oder Ubuntu, um eine VPC mit einer On-Demand-Flotte zu verknüpfen.

  • VPC-Konnektivität von CodeBuild wird für Flotten mit reservierter Kapazität unter Windows nicht unterstützt. Verwenden Sie Amazon Linux, um eine VPC einer Flotte mit reservierter Kapazität zuzuordnen.