

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.

# Synchronisieren von Stacks mit Quellcode, der in einem Git-Repository gespeichert ist, mit Git sync
<a name="git-sync"></a>

Mit Git Sync kannst du deine CloudFormation Stacks mit Quellcodeverwaltung verwalten. Sie tun dies, indem Sie CloudFormation die Überwachung eines Git-Repositorys konfigurieren. Das Repository wird auf Änderungen an zwei Dateien überwacht:
+ Eine CloudFormation Vorlagendatei, die einen Stack definiert
+ Eine Stack-Bereitstellungsdatei, die Parameter zur Konfiguration des Stacks enthält

Mit Git Sync kannst du Pull-Requests und Versionsverfolgung verwenden, um deine CloudFormation Stacks von einem zentralen Ort aus zu konfigurieren, bereitzustellen und zu aktualisieren. Wenn du Änderungen an der Vorlage oder der Deployment-Datei festschreibst, CloudFormation wird der Stack automatisch aktualisiert. Wenn Sie Pull-Requests verwenden, CloudFormation können Sie einen Kommentar zu der Pull-Anfrage hinterlassen, in dem erklärt wird, welche Änderungen an Ihrem Stack vorgenommen werden, bevor Sie ihn tatsächlich aktualisieren. Sie müssen dieses Feature jedoch erst aktivieren. 

Git Sync bietet eine Konsolenschnittstelle, mit der du eine Verbindung zu einem Repository herstellen, eine Stack-Deployment-Datei generieren, eine CloudFormation Vorlage aktualisieren und eine Pull-Anfrage an dein Repository senden kannst. Git Sync bietet auch ein Status-Dashboard, mit dem Sie aktive Git-Sync-Stack-Bereitstellungen überwachen, bearbeiten und Fehler darin beheben können. Auf Git Sync wird über die [CloudFormation Konsole](https://console.aws.amazon.com/cloudformation/) zugegriffen, wenn Sie [einen Stack erstellen](cfn-console-create-stack.md). Sie können auf Git Sync auch über zugreifen CodeConnections. Weitere Informationen finden Sie unter [Arbeiten mit Synchronisierungskonfigurationen für verknüpfte Repositories](https://docs.aws.amazon.com/dtconsole/latest/userguide/configurations.html) im *Developer-Tools-Console-Benutzerhandbuch*.

Git Sync unterstützt [GitHub Enterprise [GitHub](https://github.com/)](https://github.com/enterprise)- [GitLab](https://about.gitlab.com/), [Bitbucket](https://bitbucket.org) - und [GitLab selbstverwaltete](https://docs.gitlab.com/subscriptions/self_managed/) Repositorys.

**Anmerkung**  
Git Sync ist in den Regionen USA Ost (Nord-Virginia), USA Ost (Ohio), USA West (Nordkalifornien), USA West (Oregon), Kanada (Zentral), Asien-Pazifik (Mumbai), Asien-Pazifik (Tokio), Asien-Pazifik (Seoul), Asien-Pazifik (Singapur), Asien-Pazifik (Sydney), Europa (Irland), Europa (London), Europa (Paris), Europa (Stockholm), Europa (Frankfurt), Europa (Mailand) und Südamerika (São Paulo) verfügbar.

Informationen zur Verwendung von Git-Synchronisierung bei einer Strategie mit mehreren Konten finden Sie im folgenden Blog-Beitrag [Verwenden Sie CloudFormation Git-Synchronisierung zur Konfiguration von Ressourcen in Kundenkonten](https://aws.amazon.com/blogs/devops/use-aws-cloudformation-git-sync-to-configure-resources-in-customer-accounts/). 

**Topics**
+ [So funktioniert die Git-Synchronisierung](git-sync-concepts-terms.md)
+ [Voraussetzungen](git-sync-prereq.md)
+ [Erstellen Sie einen Stapel aus dem Repository-Quellcode](git-sync-create-stack-from-repository-source-code.md)
+ [Kommentare für Pull-Anfragen aktivieren](gitsync-enable-comments-on-pull-requests.md)
+ [Status-Dashboard](git-sync-status.md)

# So funktioniert Git Sync mit CloudFormation
<a name="git-sync-concepts-terms"></a>

Dieses Thema beschreibt die Funktionsweise von Git sync und stellt die wichtigsten Konzepte vor, die für die Arbeit mit Git sync erforderlich sind.

**Topics**
+ [So funktioniert die Git-Synchronisierung](#git-sync-concepts-terms-how)
+ [Kommentare zu Pull-Anforderungen](#git-sync-comments-on-pull-requests)
+ [Stack-Bereitstellungsdatei](#git-sync-concepts-terms-depoyment-file)
+ [CloudFormation Vorlagendatei](#git-sync-concepts-terms-template-file)
+ [Vorlagendefinitions-Repository](#git-sync-concepts-terms-template-definition-repository)

## So funktioniert die Git-Synchronisierung
<a name="git-sync-concepts-terms-how"></a>

Um Git Sync zu verwenden, müssen Sie zunächst einen Git-Anbieter CloudFormation mit der Nutzung des [CodeConnections](https://docs.aws.amazon.com/codeconnections/latest/APIReference/Welcome.html)Dienstes verbinden. In den Verfahren in diesem Handbuch wird die Verbindung über die CodeConnections Konsole hergestellt. Alternativ können Sie die Verbindung auch mit dem AWS CLI erstellen. Sie können einen der folgenden Git-Anbieter verwenden:
+ [GitHub](https://github.com/)
+ [GitHub Unternehmen](https://github.com/enterprise/)
+ [GitLab](https://about.gitlab.com/)
+ [Bitbucket](https://bitbucket.org)
+ [GitLabselbst verwaltet](https://docs.gitlab.com/subscriptions/self_managed/)

Als Nächstes erstellen Sie eine CloudFormation Vorlage, die Ihren Stack definiert, und fügen ihn Ihrem Repository hinzu. Diese Vorlagendatei wird überwacht. CloudFormation aktualisiert den Stack automatisch, wenn Änderungen an ihm festgeschrieben werden.

In der CloudFormation Konsole erstellst du einen neuen Stack und wählst **Sync from Git, um anzugeben**, dass CloudFormation du Git Sync verwenden möchtest. Sie geben das Repository und den Branch an, den Sie überwachen CloudFormation möchten, und geben die CloudFormation Vorlage in Ihrem Repository an, die den Stack definiert.

Während der Konfiguration können Sie entweder Ihre eigene Stack-Bereitstellungsdatei aus Ihrem Repository bereitstellen oder Git Sync eine für Sie generieren lassen. Die Stack-Bereitstellungsdatei enthält Parameter und Werte, die die Ressourcen in Ihrem Stack konfigurieren. Diese Stack-Bereitstellungsdatei wird überwacht. CloudFormation aktualisiert den Stack automatisch, wenn Änderungen daran vorgenommen werden.

Git Sync erstellt eine Pull-Anfrage in deinem Repository, um deinen Stack mit der CloudFormation Vorlagendatei und der Stack-Deployment-Datei zu synchronisieren. Wenn Git Sync die Stack-Bereitstellungsdatei für Sie generiert, wird sie von Git Sync an Ihr Repository gesendet.

Anschließend fügst du die Pull-Anfrage mit deinem Repository zusammen, sodass CloudFormation der Stack bereitgestellt, mit deinen Bereitstellungsparametern konfiguriert wird und dein Repository auf Änderungen überwacht wird.

Ab diesem Zeitpunkt werden die Änderungen automatisch erkannt, wann immer Sie Änderungen an Ihrer Vorlagendatei oder Stack-Bereitstellungsdatei vornehmen und diese in Ihr Repository übernehmen. CloudFormation Wenn Ihr Team Pull Requests verwendet, können Ihre Teammitglieder die Änderungen überprüfen und genehmigen, bevor sie bereitgestellt werden. Sobald die Pull-Anfrage akzeptiert wurde, CloudFormation werden Ihre Änderungen bereitgestellt.

Du kannst den Status deiner Git-Sync-Konfiguration für den Stack überwachen und dir in der CloudFormation Konsole eine Historie der auf den Stack angewendeten Commits ansehen. Die Konsole bietet auch Tools zur Neukonfiguration der Git-Synchronisierung und zur Behebung von Problemen. 

## Kommentare zu Pull-Anforderungen
<a name="git-sync-comments-on-pull-requests"></a>

Du kannst festlegen, dass eine Zusammenfassung der Codeänderungen in Pull-Requests über den CodeConnections Service CloudFormation erstellt wird, indem du in der Konsole die Option **Kommentar bei Pull-Requests aktivieren aktivierst**. Die Bereitstellung einer Zusammenfassung der Änderungen in Pull Requests bedeutet, dass die Teammitglieder die Auswirkungen der vorgeschlagenen Änderungen leicht überprüfen und verstehen können, bevor sie den Pull Request zusammenführen. Weitere Informationen finden Sie unter [Ermöglicht CloudFormation das Posten einer Zusammenfassung der Stack-Änderungen in Pull-Requests](gitsync-enable-comments-on-pull-requests.md).

## Stack-Bereitstellungsdatei
<a name="git-sync-concepts-terms-depoyment-file"></a>

Eine Stack-Bereitstellungsdatei ist eine Datei im JSON-Format ( JavaScript Object Notation) oder YAML-Standardformat, die Parameter und Werte enthält, die Ihren CloudFormation Stack verwalten. Sie wird auf Änderungen überwacht. Wenn Änderungen an der Datei in das Repository übernommen werden, wird der zugehörige Stack automatisch aktualisiert.

Die Stack-Bereitstellungsdatei enthält ein Schlüssel-Wert-Paar und zwei Wörterbücher:
+ `template-file-path`

  Dies ist der vollständige Repository-Pfad für die CloudFormation Vorlagendatei. Die Vorlagendatei deklariert die Ressourcen für den CloudFormation Stack, der dieser Bereitstellungsdatei zugeordnet ist.
+ `parameters`

  Das Parameterwörterbuch enthält Schlüssel-Wert-Paare, die die Ressourcen im Stack konfigurieren. Eine Stack-Bereitstellungsdatei kann bis zu 50 Parameter haben.
+ `tags`

  Das Tags-Wörterbuch enthält optionale Schlüssel-Wert-Paare, mit denen Sie Ressourcen im Stack identifizieren und kategorisieren können. Eine Stack-Bereitstellungsdatei kann bis zu 50 Tags haben.

Sie können Ihre eigene Stack-Bereitstellungsdatei bereitstellen oder Git Sync eine für Sie erstellen lassen und automatisch eine Pull-Anforderung an Ihr Repository senden. Sie können die Parameter und Tags verwalten, indem Sie die Stack-Bereitstellungsdatei bearbeiten und die Änderungen an das Repository übergeben.

Im Folgenden finden Sie ein Beispiel einer Git-Sync-Stack-Bereitstellungsdatei:

```
template-file-path: fargate-srvc/my-stack-template.yaml

parameters: 
    image: public.ecr.aws/lts/nginx:latest
    task_size: x-small
    max_capacity: 5
    port: 8080
    env: production
tags:
    cost-center: '123456'
    org: 'AWS'
```

## CloudFormation Vorlagendatei
<a name="git-sync-concepts-terms-template-file"></a>

Eine Vorlagendatei enthält eine Deklaration der AWS Ressourcen, aus denen ein CloudFormation Stapel besteht. Mit Git Sync wird die Vorlagendatei in Ihrem Git-Repository gespeichert und von der Stack-Bereitstellungsdatei referenziert. Sie können den Stack verwalten, indem Sie die Vorlagendatei bearbeiten und Änderungen an das Repository übertragen.

Weitere Informationen finden Sie unter [Mit CloudFormation Vorlagen arbeiten](template-guide.md).

## Vorlagendefinitions-Repository
<a name="git-sync-concepts-terms-template-definition-repository"></a>

Das Template-Definition-Repository ist das Git-Repository, mit dem CloudFormation über Git Sync verknüpft ist. Das Repository wird auf Änderungen an der CloudFormation Vorlagen- und Stack-Bereitstellungsdatei überwacht. Wenn Sie Änderungen an der Datei vornehmen, wird der zugehörige Stack automatisch aktualisiert.

**Wichtig**  
Wenn Sie das Vorlagendefinition-Repository in der Git-Sync-Konsole konfigurieren, wählen Sie das richtige *Repository* und die richtige *Verzweigung* aus der Git-Verbindung aus. Git Sync überwacht nur das konfigurierte Repository und den Branch auf Änderungen an der CloudFormation Vorlage und der Stack-Deployment-Datei.

# Voraussetzungen für die Synchronisierung von Stacks mit einem Git-Repository mithilfe von Git sync
<a name="git-sync-prereq"></a>

Bevor Sie einen CloudFormation Stack mit Ihrem Git-Repository synchronisieren, stellen Sie sicher, dass die folgenden Anforderungen erfüllt sind.

**Topics**
+ [Git-Repository](#git-sync-prereq-repo)
+ [CloudFormation Vorlage](#git-sync-prereq-template)
+ [Git Sync Dienst Rolle](#git-sync-prereq-iam)
+ [IAM-Berechtigungen für Konsolenbenutzer](#git-sync-prereq-user-permissions)

## Git-Repository
<a name="git-sync-prereq-repo"></a>

Sie müssen ein Git-Repository haben, das auf einer der folgenden Plattformen gehostet wird.
+ [GitHub](https://github.com/)
+ [GitHub Unternehmen](https://github.com/enterprise)
+ [GitLab](https://about.gitlab.com/)
+ [Bitbucket](https://bitbucket.org)
+ [GitLabselbst verwaltet](https://docs.gitlab.com/subscriptions/self_managed/)

Das Repository kann öffentlich oder privat sein. Sie müssen dieses Git-Repository über die CloudFormation [Connections-Konsole](https://console.aws.amazon.com/codesuite/settings/connections) mit diesem verbinden.

## CloudFormation Vorlage
<a name="git-sync-prereq-template"></a>

Ihr Git-Repository muss eine [CloudFormation Vorlagendatei](git-sync-concepts-terms.md#git-sync-concepts-terms-template-file) enthalten, die in den Branch eingecheckt ist, den Sie mit Git Sync verbinden möchten. Diese Vorlage wird von der Stack Deployment-Datei [referenziert](git-sync-concepts-terms.md#git-sync-concepts-terms-depoyment-file).

## Git Sync Dienst Rolle
<a name="git-sync-prereq-iam"></a>

Die Git-Synchronisierung erfordert eine IAM-Rolle. Sie können eine IAM-Rolle für Ihren Stack erstellen lassen, wenn Sie die Git-Synchronisierung konfigurieren, oder Sie können eine vorhandene Rolle verwenden.

**Anmerkung**  
Eine automatisch generierte IAM-Rolle wendet Berechtigungen nur auf den Stack an, für den die Rolle generiert wurde. Um eine automatisch generierte IAM-Rolle wiederzuverwenden, müssen Sie die Rolle für den neuen Stack bearbeiten.

### Erforderliche Berechtigungen für die Rolle des Git-Sync-Dienstes
<a name="git-sync-prereq-permissions"></a>

Die IAM-Rolle, die Sie für Git sync bereitstellen, erfordert die folgenden Berechtigungen.
+ `cloudformation:CreateChangeSet`
+ `cloudformation:DeleteChangeSet`
+ `cloudformation:DescribeChangeSet`
+ `cloudformation:DescribeStackEvents`
+ `cloudformation:DescribeStacks`
+ `cloudformation:ExecuteChangeSet`
+ `cloudformation:ListChangeSets`
+ `cloudformation:ValidateTemplate`
+ `events:PutRule`
+ `events:PutTargets`

**Anmerkung**  
Die oben genannten erforderlichen Berechtigungen werden automatisch zu den von Git Sync generierten IAM-Rollen hinzugefügt.

Die folgende Beispiel-IAM-Rolle enthält die erforderlichen Berechtigungen für Git Sync.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SyncToCloudFormation",
            "Effect": "Allow",
            "Action": [
                "cloudformation:CreateChangeSet",
                "cloudformation:DeleteChangeSet",
                "cloudformation:DescribeChangeSet",
                "cloudformation:DescribeStackEvents",
                "cloudformation:DescribeStacks",
                "cloudformation:ExecuteChangeSet",
                "cloudformation:GetTemplate",
                "cloudformation:ListChangeSets",
                "cloudformation:ListStacks",
                "cloudformation:ValidateTemplate"
            ],
            "Resource": "*"
        },
        {
            "Sid": "PolicyForManagedRules",
            "Effect": "Allow",
            "Action": [
                "events:PutRule",
                "events:PutTargets"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                "events:ManagedBy": ["cloudformation.sync.codeconnections.amazonaws.com"]
                }
            }
        },
        {
            "Sid": "PolicyForDescribingRule",
            "Effect": "Allow",
            "Action": "events:DescribeRule",
            "Resource": "*"
        }
    ]
}
```

------

#### Vertrauensrichtlinie
<a name="git-sync-prereq-trust-policy"></a>

Sie müssen die folgende Vertrauensrichtlinie angeben, wenn Sie die Rolle erstellen, um die Vertrauensbeziehung zu definieren.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CfnGitSyncTrustPolicy",
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudformation.sync.codeconnections.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

Wir empfehlen Ihnen, die Zustandsschlüssel `aws:SourceArn` und `aws:SourceAccount` zu verwenden, um sich vor dem Problem der verwechselten Stellvertreter zu schützen. Das Quellkonto ist Ihre Konto-ID und der Quell-ARN ist der ARN der Verbindung im [CodeConnections](https://docs.aws.amazon.com/codeconnections/latest/APIReference/Welcome.html)Dienst, mit der Sie eine Verbindung CloudFormation zu Ihrem Git-Repository herstellen können.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CfnGitSyncTrustPolicy",
      "Effect": "Allow",
      "Principal": {
        "Service": "cloudformation.sync.codeconnections.amazonaws.com"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:codeconnections:us-east-1:123456789012:connection/EXAMPLE64-8aad-4d5d-8878-dfcab0bc441f"
        }
      }
    }
  ]
}
```

------

Weitere Informationen zum Confused-Deputy-Problem finden Sie [Serviceübergreifende Confused-Deputy-Prävention](cross-service-confused-deputy-prevention.md).

## IAM-Berechtigungen für Konsolenbenutzer
<a name="git-sync-prereq-user-permissions"></a>

Um Git Sync erfolgreich über die CloudFormation Konsole einzurichten, müssen Endbenutzern auch Berechtigungen über IAM erteilt werden.

Die folgenden `codeconnections`-Berechtigungen sind erforderlich, um die Verbindung zu Ihrem Git-Repository zu erstellen und zu verwalten.
+ `codeconnections:CreateRepositoryLink`
+ `codeconnections:CreateSyncConfiguration`
+ `codeconnections:DeleteRepositoryLink`
+ `codeconnections:DeleteSyncConfiguration`
+ `codeconnections:GetRepositoryLink`
+ `codeconnections:GetSyncConfiguration`
+ `codeconnections:ListRepositoryLinks`
+ `codeconnections:ListSyncConfigurations`
+ `codeconnections:ListTagsForResource`
+ `codeconnections:TagResource`
+ `codeconnections:UntagResource`
+ `codeconnections:UpdateRepositoryLink`
+ `codeconnections:UpdateSyncBlocker`
+ `codeconnections:UpdateSyncConfiguration`
+ `codeconnections:UseConnection`

Konsolenbenutzer müssen außerdem über die folgenden `cloudformation`-Berechtigungen verfügen, um Stacks während des Einrichtungsprozesses der Git-Synchronisierung anzeigen und verwalten zu können.
+ `cloudformation:CreateChangeSet`
+ `cloudformation:DeleteChangeSet`
+ `cloudformation:DescribeChangeSet`
+ `cloudformation:DescribeStackEvents`
+ `cloudformation:DescribeStacks`
+ `cloudformation:ExecuteChangeSet`
+ `cloudformation:GetTemplate`
+ `cloudformation:ListChangeSets`
+ `cloudformation:ListStacks`
+ `cloudformation:ValidateTemplate`

**Anmerkung**  
Auch wenn die Änderungssatzberechtigungen (`cloudformation:CreateChangeSet`,,`cloudformation:DeleteChangeSet`,`cloudformation:DescribeChangeSet` `cloudformation:ExecuteChangeSet`) für die reine Konsolennutzung nicht unbedingt erforderlich sind, werden sie empfohlen, um die vollständige Stack-Inspektion und-Verwaltungsfunktionen zu ermöglichen.

Das folgende Beispiel einer IAM-Richtlinie enthält die Benutzerberechtigungen, die für die Einrichtung der Git-Synchronisierung über die Konsole erforderlich sind.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CodeConnectionsPermissions",
            "Effect": "Allow",
            "Action": [
                "codeconnections:CreateRepositoryLink",
                "codeconnections:CreateSyncConfiguration",
                "codeconnections:DeleteRepositoryLink",
                "codeconnections:DeleteSyncConfiguration",
                "codeconnections:GetRepositoryLink",
                "codeconnections:GetSyncConfiguration",
                "codeconnections:ListRepositoryLinks",
                "codeconnections:ListSyncConfigurations",
                "codeconnections:ListTagsForResource",
                "codeconnections:TagResource",
                "codeconnections:UntagResource",
                "codeconnections:UpdateRepositoryLink",
                "codeconnections:UpdateSyncBlocker",
                "codeconnections:UpdateSyncConfiguration",
                "codeconnections:UseConnection",
                "codeconnections:CreateForcedTargetSync",
                "codeconnections:CreatePullRequestForResource"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CloudFormationConsolePermissions",
            "Effect": "Allow",
            "Action": [
                "cloudformation:CreateChangeSet",
                "cloudformation:DeleteChangeSet",
                "cloudformation:DescribeChangeSet",
                "cloudformation:DescribeStackEvents",
                "cloudformation:DescribeStacks",
                "cloudformation:ExecuteChangeSet",
                "cloudformation:GetTemplate",
                "cloudformation:ListChangeSets",
                "cloudformation:ListStacks",
                "cloudformation:ValidateTemplate"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**Anmerkung**  
Wenn Sie eine IAM-Richtlinie erstellen, die die Berechtigungen `codeconnections:CreateForcedTargetSync` und `codeconnections:CreatePullRequestForResource`enthält, wird möglicherweise eine Warnung in der IAM-Konsole angezeigt, die besagt, dass diese Aktionen nicht existieren. Diese Warnung kann ignoriert werden, und die Richtlinie wird trotzdem erfolgreich erstellt. Diese Berechtigungen sind für bestimmte Git-Synchronisierungsvorgänge erforderlich, obwohl sie von der IAM-Konsole nicht erkannt werden.

# Erstellen Sie einen Stack aus dem Repository-Quellcode mit Git-Synchronisierung
<a name="git-sync-create-stack-from-repository-source-code"></a>

In diesem Thema wird erklärt, wie Sie mit Git Sync einen CloudFormation Stack erstellen, der mit einem Git-Repository synchronisiert wird.

**Wichtig**  
Bevor Sie fortfahren, müssen Sie alle im vorherigen Abschnitt genannten [Voraussetzungen](git-sync-prereq.md) erfüllen. 

## Erstellen Sie einen Stapel aus dem Repository-Quellcode
<a name="create-stack-from-repository-source-code"></a>

1. Melden Sie sich bei [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) an AWS-Managementkonsole und öffnen Sie die CloudFormation Konsole.

1. Wählen Sie in der Navigationsleiste oben auf dem Bildschirm die aus, in der der Stack erstellt werden AWS-Region soll.

1. Wählen Sie auf der Seite **Stapel** die Option **Stapel erstellen**, und wählen Sie dann **Mit neuen Ressourcen (Standard)**.

1. Gehen Sie auf der Seite **Create stack** (Stack erstellen) wie folgt vor:

   1. Für **Voraussetzung- Vorlage vorbereiten**lassen Sie **Eine vorhandene Vorlage auswählen** ausgewählt.

   1. Für **Vorlage angeben**wählen Sie **Von Git synchronisieren**und dann **Weiter**.

1. Geben Sie auf der Seite **Stack-Details angeben** unter **Stack-Name**einen Namen für Ihren Stack ein. Stack-Namen können Buchstaben (A–Z und a–z), Ziffern (0–9) und Bindestriche (-) enthalten.

1. Für **Stack-Bereitstellungsdatei**, **Erstellung der Bereitstellungsdatei**:
   + Wenn Sie *noch keine* Stack Deployment-Datei erstellt und zu Ihrem Repository hinzugefügt haben, wählen Sie **Erstellen Sie die Datei mit den folgenden Parametern und legen Sie sie in meinem Repository ab.**
   + Wenn Sie eine Stack Deployment-Datei in Ihrem Repository haben, wählen Sie **Ich stelle meine eigene Datei in meinem Repository bereit.**

1. **Wählen Sie für **Repository mit Vorlagendefinitionen** die Option Ein verknüpftes Git-Repository** auswählen, um ein Git-Repository auszuwählen, mit dem bereits verknüpft ist CloudFormation, oder **Ein Git-Repository** verknüpfen, um ein neues zu verknüpfen. Wenn Sie **Link a Git repository**wählen, gehen Sie wie folgt vor:

   1. Wählen Sie für **Repository-Anbieter**eine der folgenden Optionen:
      + **GitHub**
      + **GitHub Enterprise Server**
      + **GitLab**
      + **Bitbucket**
      + **GitLab selbst verwaltet**

   1. Wählen Sie für **Verbindung**eine Verbindung aus der Liste. Wenn in der Liste **Verbindung** keine Optionen erscheinen, wählen Sie **Neue Verbindung hinzufügen** um zur [Verbindungskonsole](https://console.aws.amazon.com/codesuite/settings/connections) zu gelangen und eine Verbindung zu Ihrem Repository zu erstellen.

1. Wählen Sie in der **Repository-Liste** das Git-Repository aus, das Ihre Stack-Vorlagendatei enthält.

1. Wähle in der Liste **Verzweigung** die Verzweigung aus, die Git Sync überwachen soll.
**Anmerkung**  
Git Sync überwacht nur den ausgewählten Branch auf Änderungen an den CloudFormation Vorlagen- und Stack-Bereitstellungsdateien. Alle Änderungen, die Sie auf Ihren Stack anwenden möchten, müssen für diese Verzweigung übernommen werden.

1. Geben Sie für den **Pfad der Bereitstellungsdatei** den vollständigen Pfad einschließlich des Namens der Stack-Bereitstellungsdatei aus dem Stammverzeichnis Ihrer Repository-Verzweigung an.

   Wenn die Datei für dich generiert CloudFormation wird, wird die Datei hier in deinem Repository festgeschrieben. Wenn Sie die Datei bereitstellen, ist dies der Speicherort der Datei in Ihrem Repository.

1. Fügen Sie eine **IAM-Rolle** hinzu. Die IAM-Rolle beinhaltet Berechtigungen, die für CloudFormation die Synchronisierung des Stacks aus Ihrem Git-Repository erforderlich sind. Sie können **Neue IAM-Rolle** wählen, um eine neue Rolle zu erstellen, oder **Vorhandene IAM-Rolle** wählen, um eine vorhandene Rolle aus Ihrem AWS-Konto auszuwählen. Wenn Sie sich dafür entscheiden, eine neue Rolle zu generieren, sind die erforderlichen Berechtigungen in der Rolle enthalten.

1. Aktivieren oder deaktivieren Sie Kommentare auf Pull-Anfragen:
   + Damit in Pull-Requests für Stack-Updates Informationen nach der Änderung festgelegt werden, musst CloudFormation du den Schalter **Kommentar bei Pull-Request aktivieren** aktiviert lassen.
   + Wenn du diesen Schalter ausschaltest, CloudFormation werden die Unterschiede zwischen der aktuellen Stack-Konfiguration und den vorgeschlagenen Änderungen an Pull-Requests nicht beschrieben, wenn die Repo-Dateien aktualisiert werden.

1. Geben Sie für den **Pfad der Vorlagendatei** den vollständigen Pfad aus dem Stammverzeichnis Ihres Repositorys für die Stack-Vorlagendatei an.

1. (Optional) Um die Stack-Parameter festzulegen, wählen Sie **Parameter hinzufügen**, geben einen Schlüssel und einen Wert für jeden Parameter an und wählen dann **Weiter**. Weitere Informationen finden Sie unter [Stack-Bereitstellungsdatei](git-sync-concepts-terms.md#git-sync-concepts-terms-depoyment-file).

   Um zum Beispiel einen **port=8080**-Parameter in Ihrer Stack Deployment-Datei anzugeben, gehen Sie wie folgt vor:

   1. Wählen Sie **Parameter hinzufügen** aus.

   1. Geben Sie für **Key (Schlüssel)** **port** ein.

   1. Geben Sie für **Wert** **8080** ein.

1. (Optional) Um Stapel-Tags festzulegen, wählen Sie **Neues Tag hinzufügen**, geben einen Tag-Schlüssel und einen Wert für jedes Tag an und wählen dann **Weiter**. Weitere Informationen finden Sie unter [Stack-Bereitstellungsdatei](git-sync-concepts-terms.md#git-sync-concepts-terms-depoyment-file).

1. Wählen Sie **Weiter**, um mit der **Konfiguration der Stack-Optionen** fortzufahren. Informationen zum Konfigurieren von Stack-Optionen finden Sie unter [Stapeloptionen konfigurieren](cfn-console-create-stack.md#configure-stack-options).

   Wenn Sie Ihre Stack-Konfiguration abgeschlossen haben, wählen Sie **Weiter** um fortzufahren.

1. Überprüfen Sie Ihre Stack-Einstellungen und bestätigen Sie Folgendes:
   + Die Stack-Vorlage ist korrekt konfiguriert und auf **Von Git synchronisieren** gesetzt.
   + Die Bereitstellungsdatei ist korrekt konfiguriert.
   + Das Repository mit der Vorlagendefinition ist korrekt konfiguriert, insbesondere, das richtige **Repository** und der richtige **Verzweigungsname** wurden ausgewählt.
   + Die Vorschau der Bereitstellungsdatei ist korrekt und enthält die erwarteten Parameter und Werte.

1. Wählen Sie **Absenden**, um den Stack zu erstellen.

   Nachdem Sie **Einreichen**gewählt haben, wird automatisch eine Pull-Anfrage in Ihrem Git-Repository erstellt. Sie müssen diese Pull-Anfrage in Ihr Git-Repository einbinden, um Ihren Stack zu erstellen. CloudFormation Überwacht dein Git-Repository nach der Erstellung des Stacks auf Änderungen.

## Aktualisieren Sie Ihren Stack aus Ihrem Git-Repository
<a name="update-stack-from-repository-source-code"></a>

Um den Stack zu aktualisieren, nehmen Sie Änderungen direkt an Ihrer Vorlagendatei oder der Stack-Bereitstellungsdatei in Ihrem Git-Repository vor. Nachdem Sie Ihre Änderungen in den überwachten Branch übernommen haben, CloudFormation wird der Stack automatisch aktualisiert. Wenn Sie Pull-Requests verwenden, wird automatisch ein Pull-Request in Ihrem Git-Repository erstellt, bevor der Stack aktualisiert wird. Sie müssen diese Pull-Anfrage in Ihr Git-Repository einbinden, um Ihren Stack zu aktualisieren.

In der CloudFormation Konsole kannst du den Stack auswählen und den Tab **Git Sync** wählen, um Informationen zum Status des Stacks und zu Synchronisierungsereignissen anzuzeigen. Weitere Informationen finden Sie unter [Dashboard für den Git-Synchronisierungsstatus](git-sync-status.md).

# Ermöglicht CloudFormation das Posten einer Zusammenfassung der Stack-Änderungen in Pull-Requests
<a name="gitsync-enable-comments-on-pull-requests"></a>

In diesem Thema erfahren Sie, wie Sie das Posten einer Zusammenfassung der Stack-Änderungen in Pull-Requests in Ihrem Git-Repository aktivieren CloudFormation .

Indem Sie die Funktion „Kommentare CloudFormation zu Pull-Anfragen“ aktivieren, können Sie einen Kommentar posten, der die Unterschiede zwischen der aktuellen Stack-Konfiguration und den vorgeschlagenen Änderungen beschreibt, wenn die Repo-Dateien aktualisiert werden. Dieser Kommentar enthält eine Zusammenfassung der hinzugefügten, geänderten oder gelöschten Ressourcen, so dass Sie eine gründliche Codeüberprüfung durchführen können, bevor Sie die Pull-Anfrage zusammenführen.

**So aktivieren Sie Kommentare zu Pull-Anfragen für einen neuen Stack (Konsole)**  
Wenn Sie den Stack erstellen, vergewissern Sie sich auf der Seite **Details zum Stack angeben** unter **Template definition repository**, dass der Schalter **Enable comment on pull request** aktiviert ist. Dies ist die Standardeinstellung für neue Stapel. 

**So aktivieren Sie Kommentare zu Pull-Anfragen für einen bestehenden Stack (Konsole)**

1. Melden Sie sich bei [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) an AWS-Managementkonsole und öffnen Sie die CloudFormation Konsole.

1. Wählen Sie in der Navigationsleiste oben auf dem Bildschirm die aus, in der AWS-Region Sie Ihren Stack erstellt haben.

1. Wählen Sie auf der Seite **Stapel** den laufenden Stapel, den Sie aktualisieren möchten.

1. Wählen Sie die Registerkarte **Git sync** und dann **Bearbeiten**.

1. Schalten Sie auf der Seite **Git-Sync-Einstellungen bearbeiten** unter **Schablonendefinition Repository**den Schalter **Kommentar zu Pull Request aktivieren** ein.

1. Wählen Sie **Update configuration (Konfiguration aktualisieren)**.

# Dashboard für den Git-Synchronisierungsstatus
<a name="git-sync-status"></a>

Um den Status einer AWS CloudFormation Git-Sync-Bereitstellung anzuzeigen, wählen Sie den Stack in der CloudFormation Konsole aus und wählen Sie den Tab **Git Sync**.

Der Git-Sync-Registerkarte ist in zwei Bereiche unterteilt: **Git-Sync-Status** und **Letzte Synchronisierungsereignisse**.

## Git-Sync-Status
<a name="git-sync-status-info"></a>

Im oberen Bereich finden Sie die folgenden Informationen zur Git-Sync-Konfiguration für den Stack.

****Repository****  
 Ein Link zum Repository, das mit Git Sync verbunden ist

****Repository-Anbieter****  
Der Name des Repository-Anbieters.

****Verzweigung****  
Der Name der Verzweigung, die Git Sync überwacht

****Pfad der Bereitstellungsdatei****  
Der vollständige Pfad zur Stack-Bereitstellungsdatei für diesen Stack

****Synchronisierungsstatus des Repository****  
Der Status des letzten Synchronisierungsvorgangs

****Statusmeldung zur Repository-Synchronisierung****  
Die Statusmeldung des letzten Synchronisierungsvorgangs

****Git-Sync-Status****  
Der Status der Git-Synchronisierung für diesen Stack

****Bereitstellungsstatus****  
Der Status des Bereitstellungsvorgangs

Verwenden Sie in der oberen rechten Ecke des Bereics die folgenden Schaltflächen, um Git Sync zu ändern oder zu aktualisieren:
+ **Bearbeiten** – Bearbeiten Sie die Git-Sync-Konfiguration.
+ **Letztes Commit wiederholen** – Aktualisieren Sie den Stack entsprechend dem letzten Commit im Repository.
+ **Verbindung trennen** – Trennen Sie Git Sync vom Stack.
+ **Aktualisieren** – Aktualisieren Sie das Status-Menü von Git Sync.

## Letzte Synchronisierungsereignisse
<a name="git-sync-status-sync-events"></a>

Im Bereich **Letzte Synchronisierungsereignisse** wird eine Tabelle mit Commits angezeigt, die auf den Stack angewendet wurden.

Sie können die Tabelle mithilfe der Pfeile in der Kopfzeile jeder Spalte sortieren. Die Tabelle kann wie folgt in aufsteigender oder absteigender Reihenfolge sortiert werden:
+ **Date (Datum)**
+ **Commit-ID**
+ **Veranstaltung**
+ **Date (Datum)**
+ **Ereignistyp**

## Unterstützte Stack-Status
<a name="git-sync-status-stack-state"></a>

Git Sync kann nur für einen Stack konfiguriert werden, wenn sich der Stack in einem der folgenden unterstützten Status befindet:
+ `CREATE_COMPLETE`
+ `UPDATE_COMPLETE`
+ `UPDATE_ROLLBACK_COMPLETE`
+ `IMPORT_COMPLETE`
+ `IMPORT_ROLLBACK_COMPLETE`

Die folgende Tabelle enthält eine vollständige Liste der Stack-Statuscodes mit Beschreibungen:


| Stapelstatus und optionaler detaillierter Status | Description | 
| --- | --- | 
|  `CREATE_COMPLETE`  |  Erfolgreiche Erstellung eines oder mehrerer Stacks.  | 
|  `CREATE_IN_PROGRESS`  |  Laufende Erstellung eines oder mehrerer Stacks.  | 
|  `CREATE_FAILED`  |  Fehlgeschlagene Erstellung eines oder mehrerer Stacks. Untersuchen Sie die Stack-Ereignisse auf zugehörige Fehlermeldungen. Mögliche Gründe für eine fehlgeschlagene Erstellung sind unzureichende Berechtigungen für die Arbeit mit allen Ressourcen im Stack, von einem AWS Dienst abgelehnte Parameterwerte oder ein Timeout bei der Ressourcenerstellung.  | 
|  `DELETE_COMPLETE`  |  Erfolgreiche Löschung eines oder mehrerer Stacks. Gelöschte Stacks bleiben 90 Tage lang erhalten und anzeigbar.  | 
|  `DELETE_FAILED`  |  Fehlgeschlagene Löschung eines oder mehrerer Stacks. Da der Löschvorgang fehlgeschlagen ist, werden möglicherweise einige Ressourcen noch ausgeführt. Sie können jedoch nicht mit dem Stack arbeiten oder ihn aktualisieren. Löschen Sie den Stack erneut oder untersuchen Sie die Stack-Ereignisse auf zugehörige Fehlermeldungen.  | 
|  `DELETE_IN_PROGRESS`  |  Laufende Entfernung eines oder mehrerer Stacks.  | 
| `REVIEW_IN_PROGRESS` | Laufende Erstellung eines oder mehrerer Stacks mit einer erwarteten StackId, aber ohne Vorlagen oder Ressourcen. Ein Stack mit diesem Statuscode wird auf die [maximal mögliche Anzahl von Stacks](cloudformation-limits.md) angerechnet.  | 
|  `ROLLBACK_COMPLETE`  |  Erfolgreiche Entfernung eines oder mehrerer Stacks nach einer fehlgeschlagenen Stack-Erstellung oder nach einer explizit abgebrochenen Stack-Erstellung. Der Stack wird in einen früheren funktionsfähigen Zustand zurückgesetzt. Alle Ressourcen, die während des Create Stack-Vorgangs erstellt wurden, werden gelöscht. Dieser Status existiert nur, nachdem das Erstellen eines Stacks fehlgeschlagen ist. Es bedeutet, dass alle Vorgänge aus dem teilweise erstellten Stack entsprechend bereinigt wurden. In diesem Status kann nur einen Löschbefehl ausgeführt werden.  | 
|  `ROLLBACK_FAILED`  |  Fehlgeschlagene Entfernung eines oder mehrerer Stacks nach einer fehlgeschlagenen Stack-Erstellung oder nach einer explizit abgebrochenen Stack-Erstellung. Löschen Sie den Stack oder untersuchen Sie die Stack-Ereignisse auf zugehörige Fehlermeldungen.  | 
|  `ROLLBACK_IN_PROGRESS`  |  Laufende Entfernung eines oder mehrerer Stacks nach einer fehlgeschlagenen Stack-Erstellung oder nach einer explizit abgebrochenen Stack-Erstellung.  | 
|  `UPDATE_COMPLETE`  | Erfolgreiche Aktualisierung eines oder mehrerer Stacks. | 
|  `UPDATE_COMPLETE_CLEANUP_IN_PROGRESS`  |  Laufende Entfernung alter Ressourcen für einen oder mehrere Stacks nach einem erfolgreichen Stack-Update. Bei Stack-Updates, bei denen Ressourcen ersetzt werden müssen, CloudFormation erstellt zuerst die neuen Ressourcen und löscht dann die alten Ressourcen, um Unterbrechungen im Stack zu vermeiden. In diesem Zustand wurde der Stack aktualisiert und ist nutzbar, löscht aber CloudFormation immer noch die alten Ressourcen.  | 
|  `UPDATE_FAILED`  | Nicht erfolgreiche Aktualisierung eines oder mehrerer Stacks. Untersuchen Sie die Stack-Ereignisse auf zugehörige Fehlermeldungen. | 
|  `UPDATE_IN_PROGRESS`  |  Laufende Aktualisierung eines oder mehrerer Stacks.  | 
|  `UPDATE_ROLLBACK_COMPLETE`  |  Erfolgreiches Zurücksetzen eines oder mehrerer Stacks in einen früheren funktionsfähigen Zustand nach einer fehlgeschlagenen Stack-Aktualisierung.  | 
|  `UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS`  |  Laufende Entfernung neuer Ressourcen für einen oder mehrere Stacks nach einem fehlgeschlagenen Stack-Update. In diesem Zustand wurde der Stack in seinen vorherigen Betriebszustand zurückgesetzt und ist nutzbar, löscht aber CloudFormation immer noch alle neuen Ressourcen, die er während der Stack-Aktualisierung erstellt hat.  | 
|  `UPDATE_ROLLBACK_FAILED`  |  Fehlgeschlagenes Zurücksetzen eines oder mehrerer Stacks in einen früheren funktionsfähigen Zustand nach einer fehlgeschlagenen Stack-Aktualisierung. In diesem Status können Sie den Stack löschen oder das [Rollback fortsetzen](using-cfn-updating-stacks-continueupdaterollback.md). Möglicherweise müssen Sie Fehler beseitigen, um den Stack wieder in einen arbeitsfähigen Zustand zu versetzen. Oder Sie können Kontakt aufnehmen, Support um den Stack wieder in einen verwendbaren Zustand zu versetzen.  | 
|  `UPDATE_ROLLBACK_IN_PROGRESS`  |  Laufendes Zurücksetzen eines oder mehrerer Stacks in den früheren funktionsfähigen Zustand nach einer fehlgeschlagenen Stack-Aktualisierung.  | 
|  `IMPORT_IN_PROGRESS`  |  Der Importvorgang wird derzeit ausgeführt.  | 
|  `IMPORT_COMPLETE`  |  Der Importvorgang wurde für alle Ressourcen im Stack erfolgreich abgeschlossen, die `resource import` unterstützen.  | 
|  `IMPORT_ROLLBACK_IN_PROGRESS`  |  Der Import wird zur vorherigen Vorlagenkonfiguration zurückgesetzt.  | 
|  `IMPORT_ROLLBACK_FAILED`  |  Der Import-Rollback-Vorgang ist für mindestens eine Ressource im Stack fehlgeschlagen. Die Ergebnisse werden für die CloudFormation erfolgreich importierten Ressourcen verfügbar sein.  | 
|  `IMPORT_ROLLBACK_COMPLETE`  |  Der Import wurde erfolgreich auf die vorherige Vorlagenkonfiguration zurückgesetzt.  | 