Optimieren Sie serverlose Bereitstellungen mit mehreren Konten mithilfe der AWS CDK Workflows und Aktionen GitHub - AWS Prescriptive Guidance

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.

Optimieren Sie serverlose Bereitstellungen mit mehreren Konten mithilfe der AWS CDK Workflows und Aktionen GitHub

Sarat Chandra Pothula und VAMSI KRISHNA SUNKAVALLI, Amazon Web Services

Übersicht

Organizations, die eine serverlose Infrastruktur in mehreren AWS-Konten Umgebungen einsetzen, stehen häufig vor Herausforderungen wie Codeduplizierung, manuellen Prozessen und inkonsistenten Praktiken. Die Lösung dieses Musters zeigt, wie die wiederverwendbaren Workflows AWS Cloud Development Kit (AWS CDK) In Go und GitHub Actions verwendet werden können, um die serverlose Infrastrukturverwaltung für mehrere Konten zu optimieren. Diese Lösung zeigt, wie Sie Cloud-Ressourcen als Code definieren, standardisierte Prozesse für die kontinuierliche integration/continuous Bereitstellung (CI/CD) implementieren und modulare, wiederverwendbare Komponenten erstellen können.

Mithilfe dieser Tools können Unternehmen kontenübergreifende Ressourcen effizient verwalten, konsistente Bereitstellungspipelines implementieren und komplexe serverlose Architekturen vereinfachen. Der Ansatz verbessert auch die Sicherheit und die Einhaltung der Vorschriften, indem standardisierte Verfahren für die Verwendung durchgesetzt werden AWS-Konten, was letztendlich die Produktivität verbessert und Fehler bei der Entwicklung und Bereitstellung serverloser Anwendungen reduziert.

Voraussetzungen und Einschränkungen

Voraussetzungen

Einschränkungen

  • Sprachkompatibilität — Go ist eine beliebte Sprache für serverlose Anwendungen. Neben Go AWS CDK unterstützt der jedoch auch andere Programmiersprachen, darunter C#, Java, Python und TypeScript. Wenn Ihr Unternehmen bereits über Codebasen oder Kenntnisse in anderen Sprachen verfügt, müssen Sie Go möglicherweise anpassen oder lernen, um die im Muster beschriebene Lösung vollständig nutzen zu können.

  • Lernkurve — Die Einführung von Workflows AWS CDK, Go-Workflows (sofern sie für das Unternehmen neu sind) und GitHub wiederverwendbaren Workflows kann für Entwickler und DevOps Teams eine gewisse Lernkurve mit sich bringen. Möglicherweise sind Schulungen und Unterlagen erforderlich, um eine reibungslose Einführung und effektive Nutzung dieser Technologien zu gewährleisten.

Architektur

Das folgende Diagramm zeigt den Workflow und die Architekturkomponenten für dieses Muster.

Architektur der AWS CDK- und GitHub Actions-Workflows für die serverlose Infrastrukturverwaltung mit mehreren Konten.

Diese Lösung führt die folgenden Schritte aus:

  1. Der Entwickler klont das Repository, erstellt einen neuen Branch und nimmt Änderungen am Anwendungscode in seiner lokalen Umgebung vor.

  2. Der Entwickler überträgt diese Änderungen und überträgt den neuen Branch in das Repository. GitHub

  3. Der Entwickler erstellt eine Pull-Anfrage im GitHub Repository und schlägt vor, sein Feature oder seinen neuen Feature-Branch mit dem Haupt-Branch zusammenzuführen.

  4. Dieser Pull-Request löst den Workflow für Continuous Integration (CI) GitHub -Aktionen aus. Die CI- und die Continuous Deployment (CD) -Workflows in diesem Muster verwenden wiederverwendbare Workflows, bei denen es sich um vordefinierte, modulare Vorlagen handelt, die gemeinsam genutzt und in verschiedenen Projekten oder Repositorys ausgeführt werden können. Wiederverwendbare Workflows fördern die Standardisierung und Effizienz der CI/CD Prozesse.

  5. Der CI-Workflow richtet die erforderliche Umgebung ein, generiert ein Docker-Tag für das Image und erstellt das Docker-Image mithilfe des Anwendungscodes.

  6. Der CI-Workflow authentifiziert sich AWS mithilfe der zentralen AWS-Konto GitHub OIDC-Rolle. Für CI-Workflows verwendet die zentrale AWS-Konto GitHub OIDC-Rolle AWS Security Token Service (AWS STS), um temporäre Anmeldeinformationen abzurufen. Diese Anmeldeinformationen ermöglichen es der Rolle, Docker-Images zu erstellen und in das Amazon ECR-Repository der Zentrale zu übertragen. AWS-Konto

  7. Der CI-Workflow überträgt das erstellte Docker-Image an Amazon ECR.

  8. Der CI-Workflow speichert das Image-Tag im Systems Manager Manager-Parameterspeicher.

  9. Nachdem der CI-Workflow erfolgreich abgeschlossen wurde, wird das Docker-Image-Tag ausgegeben.

  10. Beim Auslösen des CD-Workflows gibt der Entwickler das Image-Tag des Docker-Images, das er bereitstellen möchte, manuell ein. Dieses Image-Tag entspricht dem Tag, das während des CI-Workflows generiert und an Amazon ECR übertragen wurde.

  11. Der Entwickler löst den CD-Workflow manuell aus, wobei der Workflow für wiederverwendbare CDs verwendet wird.

  12. Der CD-Workflow authentifiziert sich AWS mithilfe der zentralen AWS-Konto GitHub OIDC-Rolle. Für den CD-Workflow AWS STS wird zunächst die zentrale AWS-Konto GitHub OIDC-Rolle übernommen. Anschließend übernimmt diese Rolle die CDK-Bootstrap-Rollen für die Bereitstellung von Zielkonten.

  13. Der CD-Workflow verwendet die, um Vorlagen AWS CDK zu synthetisieren. AWS CloudFormation

  14. Der CD-Workflow stellt die Anwendung mithilfe AWS-Konto von CDK Deploy auf dem Ziel bereit, wobei das manuell angegebene Image-Tag für die Lambda-Funktion verwendet wird.

Tools

AWS-Services

  • AWS Cloud Development Kit (AWS CDK)ist ein Softwareentwicklungs-Framework, das Sie bei der Definition und Bereitstellung von AWS Cloud Infrastruktur im Code unterstützt.

  • AWS CloudFormationhilft Ihnen dabei, AWS Ressourcen einzurichten, sie schnell und konsistent bereitzustellen und sie während ihres gesamten Lebenszyklus über AWS-Konten und zu verwalten AWS-Regionen. CloudFormation ist ein integraler Bestandteil des AWS CDK Bereitstellungsprozesses. Das CDK synthetisiert CloudFormation Vorlagen und verwendet sie dann CloudFormation , um die Ressourcen in der Umgebung zu erstellen oder zu aktualisieren. AWS

  • Amazon Elastic Container Registry (Amazon ECR) ist ein verwalteter Container-Image-Registry-Service, der sicher, skalierbar und zuverlässig ist.

  • AWS Identity and Access Management (IAM) hilft Ihnen dabei, den Zugriff auf Ihre AWS Ressourcen sicher zu verwalten, indem kontrolliert wird, wer authentifiziert und autorisiert ist, diese zu verwenden.

  • AWS Lambda ist ein Datenverarbeitungsservice, mit dem Sie Code ausführen können, ohne dass Sie Server bereitstellen oder verwalten müssen. Es führt Ihren Code nur bei Bedarf aus und skaliert automatisch, sodass Sie nur für die tatsächlich genutzte Rechenzeit zahlen.

  • AWS Systems Manager Parameter Store bietet sicheren, hierarchischen Speicher für die Verwaltung von Konfigurationsdaten und Geheimnissen.

Andere Tools

  • Docker ist eine Reihe von Platform-as-a-Service (PaaS) -Produkten, die Virtualisierung auf Betriebssystemebene nutzen, um Software in Containern bereitzustellen.

  • GitHub Actions ist eine CI/CD-Plattform (Continuous Integration and Continuous Delivery), die eng in Repositorys integriert ist. GitHub Sie können GitHub Actions verwenden, um Ihre Build-, Test- und Bereitstellungspipeline zu automatisieren.

  • Go ist eine Open-Source-Programmiersprache, die Google unterstützt.

Code-Repository

Der Code für dieses Muster ist im GitHub aws-cdk-golang-serverlesscicd-github-actions-Repository verfügbar.

Bewährte Methoden

  • Modularer Aufbau — Organisieren Sie Ihren AWS CDK Code in modulare und wiederverwendbare Konstrukte oder Stapel und fördern so die Wiederverwendung und Wartbarkeit von Code über mehrere Konten und Projekte hinweg.

  • Trennung von Problemen — Trennen Sie den Infrastrukturcode vom Anwendungscode, sodass jede Komponente unabhängig bereitgestellt und verwaltet werden kann.

  • Versionierung und Unveränderlichkeit — Behandle deine Infrastruktur als Code (IaC) und verwende Git für die Versionskontrolle. Machen Sie sich unveränderliche Infrastrukturprinzipien zunutze, indem Sie neue Ressourcen erstellen, anstatt bestehende zu modifizieren.

  • Testen und Validieren — Implementieren Sie umfassende Teststrategien, einschließlich Komponententests, Integrationstests und end-to-end Tests, um die Richtigkeit und Zuverlässigkeit Ihres AWS CDK Codes und Ihrer Implementierungen zu gewährleisten.

  • Sicherheit und Compliance — Halten Sie sich an bewährte AWS Sicherheitsmethoden wie den Zugriff mit geringsten Rechten, sichere Kommunikation und Datenverschlüsselung. Implementieren Sie Compliance-Prüfungen und Auditmechanismen, um die Einhaltung der Unternehmensrichtlinien und behördlichen Anforderungen sicherzustellen. Implementieren Sie bewährte Sicherheitsmethoden für Container-Images, z. B. das Scannen nach Sicherheitslücken, die Durchsetzung der Image-Signierung und die Einhaltung der Compliance-Anforderungen für Ihr Unternehmen.

  • Überwachung und Protokollierung — Richten Sie Überwachungs- und Protokollierungsmechanismen ein, um den Zustand und die Leistung Ihrer serverlosen Anwendungen und Infrastruktur zu verfolgen. Verwenden Sie AWS-Services es wie Amazon CloudWatch und AWS X-Ray für Überwachungs- und Prüfungszwecke. AWS CloudTrail

  • Automatisierung und CI/CD — Verwenden Sie GitHub wiederverwendbare Workflows und andere CI/CD Tools, um die Erstellungs-, Test- und Bereitstellungsprozesse zu automatisieren, wodurch konsistente und wiederholbare Bereitstellungen über mehrere Konten hinweg unterstützt werden können.

  • Umgebungsmanagement — Pflegen Sie separate Umgebungen (z. B. Entwicklung, Staging und Produktion). Implementieren Sie Strategien zur Förderung von Änderungen zwischen Umgebungen und stellen Sie sicher, dass vor der Bereitstellung in der Produktion ordnungsgemäße Tests und Validierungen durchgeführt werden.

  • Dokumentation und Zusammenarbeit — Dokumentieren Sie Ihren Infrastrukturcode, Ihre Bereitstellungsprozesse und Best Practices, um den Wissensaustausch und die Zusammenarbeit innerhalb Ihres Teams zu erleichtern.

  • Kostenoptimierung — Implementieren Sie Strategien zur Kostenüberwachung und -optimierung, z. B. die richtige Dimensionierung von Ressourcen, die Nutzung der auto-scaling und die Nutzung von AWS Kostenoptimierungsdiensten wie AWS Budgets und. AWS Cost Explorer

  • Notfallwiederherstellung und Backup — Planen Sie Notfallwiederherstellungsszenarien, indem Sie Sicherungs- und Wiederherstellungsmechanismen für Ihre serverlosen Anwendungen und Infrastrukturressourcen implementieren.

  • Kontinuierliche Verbesserung — Überprüfen und aktualisieren Sie Ihre Verfahren, Tools und Prozesse regelmäßig, um sie an die neuesten Best Practices, Sicherheitsempfehlungen und technologischen Fortschritte im serverlosen Ökosystem anzupassen.

  • Verbessern Sie die Sicherheitslage — Verwenden Sie diese Option, AWS PrivateLinkum die Sicherheitslage Ihrer Virtual Private Cloud (VPC) zu verbessern, indem Sie VPC-Schnittstellen-Endpunkte für Amazon ECR und Parameter Store AWS Lambda konfigurieren. AWS Systems Manager

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen Sie ein Amazon ECR-Repository in der Zentrale AWS-Konto.

Um Container-Images für mehrere freizugeben AWS-Konten, müssen Sie den kontoübergreifenden Zugriff für Amazon ECR konfigurieren. Erstellen Sie zunächst ein Amazon ECR-Repository in der Zentrale AWS-Konto.

Führen Sie den folgenden Befehl aus, um ein Amazon ECR-Repository zu erstellen:

aws ecr create-repository --repository-name sample-repo

Gewähren Sie in einer späteren Aufgabe den anderen Benutzern, die das Container-Image verwenden müssen AWS-Konten , Pull-Zugriff.

AWS DevOps

Fügen Sie kontoübergreifende Berechtigungen zum Amazon ECR-Repository hinzu.

Um kontoübergreifende Berechtigungen zum Amazon ECR-Repository in der Zentrale hinzuzufügen AWS-Konto, führen Sie den folgenden Code aus:

{ "Version": "2008-10-17", "Statement": [ { "Sid": "LambdaECRImageRetrievalPolicy", "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", ], "Condition": { "StringLike": { "aws:sourceArn": "arn:aws:lambda:<Target_Region>:<Target_Account_ID>:function:*" } } }, { "Sid": "new statement", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<Target_Account_ID>:root" }, "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", ], } ] }
AWS DevOps

Konfigurieren Sie eine Rolle für die GitHub OIDC-Rolle in der Zentrale. AWS-Konto

  1. Konfigurieren Sie GitHub das OIDC so, dass es sich AWS um eine föderierte Identität handelt. Dazu gehört auch das Hinzufügen des GitHub OIDC-Anbieters und die Konfiguration der Rollen AWS - und Vertrauensrichtlinie in IAM. Folgen Sie dazu den Anweisungen unter Konfiguration von OpenID Connect in Amazon Web Services in der GitHub Dokumentation.

  2. Nachdem die Rolle erstellt wurde, fügen Sie der Rolle die erforderlichen Berechtigungen hinzu. Fügen Sie beispielsweise Berechtigungen für Amazon ECR und AWS Systems Manager Parameter Store hinzu. Weitere Informationen finden Sie in der IAM-Dokumentation unter Konfiguration einer Rolle für den GitHub OIDC-Identitätsanbieter.

AWS DevOps

Bootstrapping der AWS Umgebung im Ziel AWS-Konten.

Richten Sie eine CDK-Umgebung in einer bestimmten AWS-Konto Umgebung ein AWS-Region , die kontoübergreifende Bereitstellungen von einem zentralen Konto aus ermöglicht und bei der Ausführungsrolle die Prinzipien der geringsten Rechte anwendet. CloudFormation

Führen Sie den folgenden Befehl aus, um eine AWS Umgebung zu booten:

cdk bootstrap aws://<Target_Account_ID>/<Target_Region> --trust <Central_Account_ID> --cloudformation-execution-policies arn:aws:iam::aws:policy/<Least_Privilege_Policy>
AWS DevOps

Gewähren Sie der zentralen AWS-Konto OIDC-Rolle Zugriff auf die AWS-Konto Bootstrap-Zielrollen.

Der CDK-Bootstrap erstellt die folgenden IAM-Rollen, die so konzipiert sind, dass sie von der zentralen Stelle in verschiedenen Phasen des AWS-Konto CDK-Bereitstellungsprozesses übernommen werden:

  • Rolle beim Veröffentlichen von Dateien

  • Rolle beim Veröffentlichen von Bildern

  • Rolle „Nachschlagen“

  • Rolle bei der Bereitstellung

Jede Rolle verfügt über spezifische Berechtigungen, die auf ihren Zweck zugeschnitten sind und dem Prinzip der geringsten Rechte folgen. Das „Target_Account_IDund“ Target_Region in jedem Rollennamen weist darauf hin, dass diese Rollen in verschiedenen AWS-Konten Regionen einzigartig sind. Dieser Ansatz unterstützt eine klare Identifizierung und Verwaltung in Konfigurationen mit mehreren Konten und mehreren Regionen.

Target Account CDK Bootstrap Roles arn:aws:iam::<Target_Account_ID>:role/cdk-deploy-role-<Target_Account_ID>-<Target_Region> arn:aws:iam::<Target_Account_ID>:role/cdk-file-publishing-role-<Target_Account_ID>-<Target_Region> arn:aws:iam::<Target_Account_ID>:role/cdk-image-publishing-role-<Target_Account_ID>-<Target_Region> arn:aws:iam::<Target_Account_ID>:role/cdk-lookup-role-<Target_Account_ID>-<Target_Region>
  • Aktualisieren Sie die Berechtigungsrichtlinie für die OIDC-Rolle im zentralen Konto, damit sie Rollen im Zielkonto übernehmen kann. Diese Konfiguration ermöglicht die Bereitstellung von CDK-Stacks auf verschiedenen Ebenen. AWS-Konten Indem Sie der OIDC-Rolle des zentralen Kontos erlauben, die erforderlichen Berechtigungen des Zielkontos zu übernehmen, schaffen Sie eine sichere Brücke für kontenübergreifende CDK-Bereitstellungen. Dieser Ansatz gewährleistet eine angemessene Zugriffskontrolle und ermöglicht gleichzeitig ein nahtloses Infrastrukturmanagement für mehrere Konten.

Verwenden Sie den folgenden Code, um die Berechtigungsrichtlinie für die OIDC-Rolle in der Zentrale AWS-Konto zu aktualisieren:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": [ "arn:aws:iam::<Target_Account_ID>:role/cdk-deploy-role-<Target_Account_ID>-<Target_Region>", "arn:aws:iam::<Target_Account_ID>:role/cdk-file-publishing-role-<Target_Account_ID>-<Target_Region>", "arn:aws:iam::<Target_Account_ID>:role/cdk-image-publishing-role-<Target_Account_ID>-<Target_Region>", "arn:aws:iam::<Target_Account_ID>:role/cdk-lookup-role-<Target_Account_ID>-<Target_Region>" ] } ] }
AWS DevOps
AufgabeBeschreibungErforderliche Fähigkeiten

Klonen Sie das Projekt-Repository.

Führen Sie den folgenden Befehl aus, um das GitHub Repository dieses Musters zu klonen:

git clone https://github.com/aws-samples/aws-cdk-golang-serverless-cicd-github-actions.git
AWS DevOps

Gehen Sie zum Dockerfile-Pfad.

Führen Sie den folgenden Befehl aus, um zum Dockerfile-Pfad zu navigieren:

cd lambda
AWS DevOps

Authentifizieren Sie Docker mit Amazon ECR.

Amazon ECR benötigt sicheren Zugriff auf Ihre privaten Container-Repositorys. Wenn Sie sich auf diese Weise anmelden, ermöglichen Sie Docker auf Ihrem lokalen Computer oder Ihrer CI/CD Umgebung, sicher mit Amazon ECR zu interagieren.

Führen Sie den folgenden Befehl aus, um Docker mit Amazon ECR zu authentifizieren:

aws ecr get-login-password --region <AWS_REGION> | docker login --username AWS --password-stdin <AWS_ACCOUNT_ID>.dkr.ecr.<AWS_REGION>.amazonaws.com

Überarbeiten Sie die Platzhalter AWS_REGION und fügen Sie Ihre Informationen hinzu. AWS_Account_ID

AWS DevOps

Erstellen Sie das Docker-Image.

Führen Sie den folgenden Befehl aus, um das Docker-Image zu erstellen:

docker build --platform linux/arm64 -t sample-app .
AWS DevOps

Markieren und übertragen Sie das Docker-Image.

Führen Sie die folgenden Befehle aus, um das Docker-Image zu taggen und in das Amazon ECR-Repository zu übertragen:

docker tag sample-app:latest <AWS_ACCOUNT_ID>.dkr.ecr.<AWS_REGION>.amazonaws.com/<ECR_REPOSITORY>:<DOCKER_TAG>
docker push <AWS_ACCOUNT_ID>.dkr.ecr.<AWS_REGION>.amazonaws.com/<ECR_REPOSITORY>:<DOCKER_TAG>

Überarbeiten Sie die PlatzhalterAWS_Account_ID, AWS_REGIONECR_REPOSITORY, und DOCKER_TAG mit Ihren Informationen.

AWS DevOps
AufgabeBeschreibungErforderliche Fähigkeiten

Synthetisieren Sie den CDK-Stack mit umgebungsspezifischen Variablen.

Führen Sie den folgenden Befehl aus, um die CloudFormation Vorlage für Ihre Infrastruktur zu generieren, wie sie in Ihrem CDK-Code definiert ist:

ENV=<environment> IMAGETAG=<image_tag> ECR_ARN=<ecr_repo_arn> cdk synth

Überarbeiten Sie die folgenden Platzhalter mit Ihren Informationen:

  • environment— Ersetzt durch einen bestimmten Umgebungsnamen wie devstaging, oder. prod

  • image_tag— Ersetzt durch ein bestimmtes Tag für ein Docker-Image wie v1.0.0 oderlatest.

  • ecr_repo_arn— Durch den Amazon-Ressourcennamen (ARN) eines Amazon ECR-Repositorys ersetzen.

AWS DevOps

Stellen Sie den CDK-Stack bereit.

Führen Sie den folgenden Befehl aus AWS-Konto, um den CDK-Stack auf Ihrem bereitzustellen. Das --require-approval never Flag bedeutet, dass das CDK alle Änderungen automatisch genehmigt und ausführt. Dazu gehören auch Änderungen, die das CDK normalerweise als manuell überprüfbar kennzeichnen würde (z. B. Änderungen der IAM-Richtlinien oder das Entfernen von Ressourcen). Stellen Sie sicher, dass Ihr CDK-Code und Ihre CI/CD Pipeline gut getestet und sicher sind, bevor Sie das --require-approval never Flag in Produktionsumgebungen verwenden.

ENV=<environment> IMAGETAG=<image_tag> ECR_ARN=<ecr_repo_arn> cdk deploy --require-approval never
AWS DevOps
AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen Sie einen Feature-Branch und fügen Sie Ihre Änderungen hinzu.

Verwenden Sie das geklonte Repository, das Sie zuvor erstellt haben, erstellen Sie einen Feature-Branch und fügen Sie dann Ihre Änderungen zum Anwendungscode hinzu. Verwenden Sie die folgenden Befehle:

git checkout -b <feature_branch> git add . git commit -m "add your changes" git push origin <feature_branch>

Im Folgenden finden Sie Beispiele für Änderungen:

  • Änderungen an der Lambda-Funktionslogik

  • Hinzufügen neuer Features oder Funktionen zum Lambda-Code

  • Behebung von Fehlern oder Optimierung des vorhandenen Codes innerhalb der Lambda-Funktion

GitHub Aktionen verwenden die wiederverwendbaren Workflows und lösen die CI/CD Pipelines aus.

AWS DevOps

Führen Sie Ihre Änderungen zusammen.

Erstelle einen Pull-Request und füge deine Änderungen mit dem Hauptteil zusammen.

AWS DevOps

Fehlerbehebung

ProblemLösung

AccessDeniedFehler beim Bereitstellen von Ressourcen auf AWS-Konten, zum BeispielAccessDenied: User not authorized to perform: "sts:AssumeRole".

Gehen Sie wie folgt vor, um die kontoübergreifenden Berechtigungen zu überprüfen, um dieses Problem zu beheben:

  • Stellen Sie sicher, dass die erforderlichen IAM-Rollen und -Richtlinien für kontoübergreifende Bereitstellungen vorhanden sind.

  • Überprüfen Sie, ob die assume Rollenberechtigungen korrekt konfiguriert sind.

Kompatibilitätsprobleme aufgrund von Versionskonflikten, z. B. undefined: awscdkStack Fehler mit einer veralteten CDK-Version.

Gehen Sie wie folgt vor, um zu überprüfen, ob Sie die erforderlichen Versionen von AWS CDK and Go verwenden, um dieses Problem zu lösen:

  • Stellen Sie sicher, dass Sie kompatible Versionen von The AWS CDK and Go verwenden.

  • Suchen Sie nach bekannten Problemen oder wichtigen Änderungen in den letzten Versionen.

CI/CD-Pipeline-Fehler, z. B. Error: No such file or directory aufgrund einer falschen YAML-Konfiguration oder Permission denied aufgrund geschützter Zweige.

Um Probleme mit der GitHub Aktionskonfiguration zu lösen, stellen Sie sicher, dass die wiederverwendbaren Workflows ordnungsgemäß referenziert und konfiguriert sind.

Zugehörige Ressourcen

AWS-Ressourcen

Sonstige Ressourcen