Hinzufügen einer Ressource zu einem Projekt - AWS CodeStar

Am 31. Juli 2024 stellt Amazon Web Services (AWS) die Unterstützung für das Erstellen und Anzeigen von AWS CodeStar Projekten ein. Nach dem 31. Juli 2024 können Sie nicht mehr auf die AWS CodeStar Konsole zugreifen oder neue Projekte erstellen. Die von erstellten AWS Ressourcen AWS CodeStar, einschließlich Ihrer Quell-Repositorys, Pipelines und Builds, sind von dieser Änderung jedoch nicht betroffen und funktionieren weiterhin. AWS CodeStar Verbindungen und AWS CodeStar Benachrichtigungen sind von dieser Einstellung nicht betroffen.

 

Wenn Sie die Arbeit verfolgen, Code entwickeln und Ihre Anwendungen erstellen, testen und bereitstellen möchten, CodeCatalyst bietet Amazon einen optimierten Einstiegsprozess und zusätzliche Funktionen für die Verwaltung Ihrer Softwareprojekte. Erfahren Sie mehr über Funktionen und Preise von Amazon CodeCatalyst.

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.

Hinzufügen einer Ressource zu einem Projekt

Jede AWS CodeStar Vorlage für alle Projekte enthält eine AWS CloudFormation Datei, die die AWS Laufzeitabhängigkeiten Ihrer Anwendung modelliert, z. B. Datenbanktabellen und Lambda-Funktionen. Sie ist in Ihrem Quell-Repository in der Datei /template.yml gespeichert.

Anmerkung

Sie können diese Schritte für die folgenden Projekte verwenden, die mit den folgenden Änderungen der Projektunterstützung erstellt wurden:

  • Alle Lambda-Projekte.

  • Für Amazon EC2- oder Elastic Beanstalk Beanstalk-Projekte, die nach dem 3. August 2018 erstellt wurden, wurde eine /template.yml Datei im Projekt-Repository AWS CodeStar bereitgestellt.

Sie können diese Datei ändern, indem Sie AWS CloudFormation-Ressourcen zum Abschnitt Resources hinzufügen. Durch das Ändern der Datei template.yml können AWS CodeStar und AWS CloudFormation die neue Ressource zu Ihrem Projekt hinzufügen. Bei einigen Ressourcen müssen Sie der Richtlinie weitere Berechtigungen für die Worker-Rolle Ihres Projekts hinzufügen. CloudFormation Informationen zu Vorlagenelementen und Formatierungen finden Sie unter Referenz zu AWS Ressourcentypen.

Nachdem Sie festgelegt haben, welche Ressourcen Sie zu Ihrem Projekt hinzufügen müssen, sind dies die übergeordneten Schritte, die Sie ausführen müssen, um eine Vorlage anzupassen. Eine Liste der AWS CloudFormation Ressourcen und ihrer erforderlichen Eigenschaften finden Sie unter Referenz zu AWS Ressourcentypen.

Gehen Sie wie in diesem Abschnitt beschrieben vor, um Ihre AWS CodeStar Projektvorlage so zu ändern, dass eine Ressource hinzugefügt wird, und erweitern Sie anschließend die Berechtigungen der CloudFormation Worker-Rolle des Projekts in IAM. In diesem Beispiel wird die AWS::SQS::QueueRessource der template.yml Datei hinzugefügt. Die Änderung startet eine automatische AntwortAWS CloudFormation, die Ihrem Projekt eine Amazon Simple Queue Service-Warteschlange hinzufügt.

Schritt 1: Bearbeiten Sie die CloudFormation Worker-Rolle in IAM

Sie müssen als Administrator angemeldet sein, um die Schritte 1 und 5 ausführen zu können.

Anmerkung

Sie können diesen Schritt überspringen, wenn Ihr Projekt mit einer Berechtigungsgrenze bereitgestellt wurde.

Für Projekte, die nach dem 6. Dezember 2018 PDT erstellt wurden, wurde Ihr Projekt mit einer AWS CodeStar Richtlinie zur Begrenzung der Zugriffsrechte ausgestattet.

  1. Melden Sie sich unter https://console.aws.amazon.com/codestar/ bei der an AWS Management Console und öffnen Sie die AWS CodeStar Konsole.

  2. Erstellen Sie ein Projekt oder wählen Sie ein bestehendes Projekt mit einer template.yml file-Datei und öffnen Sie dann die Seite Project resources (Projektressourcen).

  3. Suchen Sie in der Ressourcenliste unter Projektressourcen nach der IAM-Rolle, die für die AWS CloudFormation Rolle CodeStarWorker/erstellt wurde. Der Rollenname folgt dem folgenden Format role/CodeStarWorker-Project_name-CloudFormation.

  4. Die Rolle öffnet sich in der IAM-Konsole. Erweitern Sie auf der Registerkarte Permissions (Berechtigungen) im Bereich Inline Policies (Eingebundene Richtlinien) die Zeile für Ihre Servicerollen-Richtlinie und wählen Sie die Option Edit Policy (Richtlinie bearbeiten) aus.

  5. Wählen Sie die Registerkarte JSON, um die Richtlinie zu bearbeiten.

    Anmerkung

    Die Richtlinie, die der Auftragnehmer-Rolle zugeordnet ist, ist CodeStarWorkerCloudFormationRolePolicy.

  6. Fügen Sie im Feld JSON die folgende Richtlinienanweisung in das Element Statement ein.

    { "Action": [ "sqs:CreateQueue", "sqs:DeleteQueue", "sqs:GetQueueAttributes", "sqs:SetQueueAttributes", "sqs:ListQueues", "sqs:GetQueueUrl" ], "Resource": [ "*" ], "Effect": "Allow" }
  7. Wählen Sie Review policy (Richtlinie überprüfen), um zu überprüfen, dass die Richtlinie fehlerfrei ist, und wählen Sie dann Save changes (Änderungen speichern).

Schritt 2: Bearbeiten der Datei template.yml

  1. Öffnen Sie die AWS CodeStar Konsole unter https://console.aws.amazon.com/codestar/.

  2. Wählen Sie Ihr serverloses Projekt und öffnen Sie dann die Seite Code. Notieren Sie sich in der obersten Ebene Ihres Repository den Speicherort von template.yml.

  3. Verwenden Sie eine IDE, die Konsole oder die Befehlszeile in Ihrem lokalen Repository, um die Datei template.yml in Ihrem Repository zu bearbeiten. Fügen Sie die Ressource in den Abschnitt Resources ein. In diesem Beispiel wird sie beim Kopieren des folgenden Textes in den Abschnitt Resources hinzugefügt.

    Resources: TestQueue: Type: AWS::SQS::Queue

    Dieses Beispiel zeigt eine modifizierte Vorlage:

Schritt 3: Commit und Push Ihrer Vorlagenänderung

  • Übertragen und verschieben Sie die Änderungen in der Datei template.yml, die Sie in Schritt 2 gespeichert haben.

    Anmerkung

    Dadurch wird Ihre Pipeline gestartet. Wenn Sie die Änderungen übertragen, bevor Sie die IAM-Berechtigungen aktualisieren, startet Ihre Pipeline und das AWS CloudFormation-Stack-Update stößt auf Fehler, wodurch das Stack-Update zurückgesetzt wird. In diesem Fall korrigieren Sie die Berechtigungen und starten Sie die Pipeline neu.

Schritt 4: Überwachen Sie das AWS CloudFormation Stack-Update

  1. Wenn die Pipeline für Ihr Projekt mit der Bereitstellungsstufe beginnt, wird das Update des AWS CloudFormation-Stacks gestartet. Sie können die Phase der AWS CloudFormation in Ihrer Pipeline auf Ihrem AWS CodeStar Dashboard auswählen, um das Stack-Update zu sehen.

    Fehlerbehebung

    Das Stack-Update schlägt fehl, wenn die erforderlichen Ressourcenberechtigungen fehlen. Zeigen Sie den Fehlerstatus in der AWS CodeStar Dashboard-Ansicht der Pipeline für Ihr Projekt an.

    Wählen Sie den CloudFormationLink in der Bereitstellungsphase Ihrer Pipeline, um den Fehler in der AWS CloudFormation Konsole zu beheben. Wählen Sie in der Konsole in der Liste Events (Ereignisse),Ihr Projekt aus, um die Details der Stapelerstellung anzuzeigen. Es wird eine Nachricht mit den Fehlerdetails angezeigt. In diesem Beispiel fehlt die sqs:CreateQueue-Berechtigung.

    Fügen Sie fehlende Berechtigungen hinzu, indem Sie die Richtlinie bearbeiten, die an die AWS CloudFormation Auftragnehmer-Rolle Ihres Projekts angefügt ist. Siehe Schritt 1: Bearbeiten Sie die CloudFormation Worker-Rolle in IAM.

  2. Nach einem erfolgreichen Durchlauf Ihrer Pipeline werden die Ressourcen in Ihrem AWS CloudFormation-Stack angelegt. Zeigen Sie in der Liste Resources (Ressourcen) in AWS CloudFormation die Ressource an, die für Ihr Projekt erstellt wurde. In diesem Beispiel ist die TestQueue Warteschlange im Abschnitt Ressourcen aufgeführt.

    Die Warteschlangen-URL ist in AWS CloudFormation verfügbar. Die Warteschlangen-URL weist das folgende Format auf:

    https://{REGION_ENDPOINT}/queue.|api-domain|/{YOUR_ACCOUNT_NUMBER}/{YOUR_QUEUE_NAME}

    Weitere Informationen finden Sie unter Senden einer Amazon SQS-Nachricht, Empfangen einer Nachricht in einer Amazon SQS-Warteschlange, und Löschen einer Nachricht in einer Amazon SQS-Warteschlange.

Schritt 5: Hinzufügen von Ressourcenberechtigungen mit einer Inline-Richtlinie

Gewähren Sie Teammitgliedern Zugriff auf Ihre neue Ressource, indem Sie der Rolle des Benutzers die entsprechende Inline-Richtlinie hinzufügen. Nicht alle Ressourcen erfordern, dass Sie Berechtigungen hinzufügen. Um die folgenden Schritte ausführen zu können, müssen Sie sich bei der Konsole entweder als Root-Benutzer, als Administratorbenutzer im Konto oder als IAM-Benutzer oder Verbundbenutzer mit der AdministratorAccess verwalteten Richtlinie oder einer gleichwertigen Richtlinie angemeldet haben.

So verwenden Sie den JSON-Richtlinieneditor zum Erstellen einer Richtlinie
  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich auf der linken Seite Policies (Richtlinien).

    Wenn Sie zum ersten Mal Policies (Richtlinien) auswählen, erscheint die Seite Welcome to Managed Policies (Willkommen bei verwalteten Richtlinien). Wählen Sie Get Started.

  3. Wählen Sie oben auf der Seite Create policy (Richtlinie erstellen) aus.

  4. Wählen Sie im Bereich Policy editor (Richtlinien-Editor) die Option JSON aus.

  5. Geben Sie folgendes JSON-Richtliniendokument ein:

    { "Action": [ "sqs:CreateQueue", "sqs:DeleteQueue", "sqs:GetQueueAttributes", "sqs:SetQueueAttributes", "sqs:ListQueues", "sqs:GetQueueUrl" ], "Resource": [ "*" ], "Effect": "Allow" }
  6. Wählen Sie Weiter aus.

    Anmerkung

    Sie können jederzeit zwischen den Editoroptionen Visual und JSON wechseln. Wenn Sie jedoch Änderungen vornehmen oder im Visual-Editor Next (Weiter) wählen, strukturiert IAM Ihre Richtlinie möglicherweise um, um sie für den visuellen Editor zu optimieren. Weitere Informationen finden Sie unter Richtlinienrestrukturierung im IAM-Benutzerhandbuch.

  7. Geben Sie auf der Seite Prüfen und erstellen unter Richtlinienname einen Namen und unter Beschreibung (optional) eine Beschreibung für die Richtlinie ein, die Sie erstellen. Überprüfen Sie Permissions defined in this policy (In dieser Richtlinie definierte Berechtigungen), um die Berechtigungen einzusehen, die von Ihrer Richtlinie gewährt werden.

  8. Wählen Sie Create policy (Richtlinie erstellen) aus, um Ihre neue Richtlinie zu speichern.