

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.

# Bereitstellung von Feature-Flags und Konfigurationsdaten in AWS AppConfig
<a name="deploying-feature-flags"></a>

Nachdem Sie die [erforderlichen Artefakte](https://docs.aws.amazon.com/appconfig/latest/userguide/creating-feature-flags-and-configuration-data.html) für die Arbeit mit Feature-Flags und Freiform-Konfigurationsdaten erstellt haben, können Sie eine neue Bereitstellung erstellen. Wenn Sie eine neue Bereitstellung erstellen, geben Sie die folgenden Informationen an:
+ Eine Anwendungs-ID
+ Eine Konfigurationsprofil-ID
+ Eine Konfigurationsversion
+ Eine Umgebungs-ID, in der Sie die Konfigurationsdaten bereitstellen möchten
+ Eine Bereitstellungsstrategie-ID, die definiert, wie schnell die Änderungen wirksam werden sollen
+ Eine AWS Key Management Service (AWS KMS) Schlüssel-ID zum Verschlüsseln der Daten mit einem vom Kunden verwalteten Schlüssel.

 AWS AppConfig Führt beim Aufrufen der [StartDeployment](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_StartDeployment.html)API-Aktion die folgenden Aufgaben aus:

1. Ruft die Konfigurationsdaten mithilfe des Standort-URI im Konfigurationsprofil aus dem zugrunde liegenden Datenspeicher ab.

1. Überprüft mithilfe der Validatoren, die Sie bei der Erstellung Ihres Konfigurationsprofils angegeben haben, dass die Konfigurationsdaten syntaktisch und semantisch korrekt sind.

1. Speichert eine Kopie der Daten im Cache, sodass sie von Ihrer Anwendung abgerufen werden können. Diese zwischengespeicherte Kopie wird als *bereitgestellte* Daten bezeichnet.

Sie können Situationen vermeiden, in denen die Bereitstellung von Konfigurationsdaten zu Fehlern in Ihrer Anwendung führt, indem Sie eine Kombination aus AWS AppConfig Bereitstellungsstrategien und automatischen Rollbacks auf der Grundlage von CloudWatch Amazon-Alarmen verwenden. Eine Bereitstellungsstrategie ermöglicht es Ihnen, Änderungen an allen Zielen oder bestimmten Segmenten langsam innerhalb von Minuten oder Stunden zu veröffentlichen — entweder sitzungsbasiert oder entlang Ihrer eigenen Zieldimension, indem Sie entitätsbasierte Bereitstellungen nutzen. Wenn nach der Konfiguration CloudWatch ein oder mehrere Alarme während einer Bereitstellung in den Alarmstatus wechseln, werden Ihre Konfigurationsdaten AWS AppConfig automatisch auf die vorherige Version zurückgesetzt. Weitere Informationen zu Bereitstellungsstrategien finden Sie unter[Mit Bereitstellungsstrategien arbeiten](appconfig-creating-deployment-strategy.md). Weitere Informationen zu automatischen Rollbacks finden Sie unter[Bereitstellungen im Hinblick auf automatisches Rollback überwachen](monitoring-deployments.md).

**Anmerkung**  
AWS AppConfig Agent (Version 2.0.136060 oder höher) unterstützt die Bereitstellung von Feature-Flag- oder Freiform-Konfigurationsdaten für bestimmte Segmente oder einzelne Benutzer während eines schrittweisen Rollouts. Entitätsbasierte schrittweise Bereitstellungen stellen sicher, dass ein Benutzer oder Segment, sobald er eine Konfigurationsversion erhält, dieselbe Version auch während des Bereitstellungszeitraums erhält, unabhängig davon, welche Rechenressource seine Anfragen bearbeitet. Weitere Informationen finden Sie unter [Verwendung des AWS AppConfig Agenten für schrittweise Bereitstellungen auf Benutzer- oder Entitätsbasis](appconfig-agent-how-to-use.md#appconfig-entity-based-gradual-deployments).

**Topics**
+ [Mit Bereitstellungsstrategien arbeiten](appconfig-creating-deployment-strategy.md)
+ [Bereitstellen einer Konfiguration](appconfig-deploying.md)
+ [Bereitstellen von AWS AppConfig Konfigurationen mit CodePipeline](appconfig-integration-codepipeline.md)
+ [Konfiguration rückgängig machen](appconfig-deploying-reverting.md)

# Mit Bereitstellungsstrategien arbeiten
<a name="appconfig-creating-deployment-strategy"></a>

Eine Bereitstellungsstrategie ermöglicht es Ihnen, Änderungen an allen Zielen oder bestimmten Segmenten langsam innerhalb von Minuten oder Stunden zu veröffentlichen — entweder sitzungsbasiert oder entlang Ihrer eigenen Zieldimension, indem Sie entitätsbasierte Bereitstellungen nutzen.

**Anmerkung**  
AWS AppConfig Agent (Version 2.0.136060 oder höher) unterstützt die Bereitstellung von Feature-Flags oder Freiform-Konfigurationsdaten für bestimmte Segmente oder einzelne Benutzer während einer schrittweisen Einführung. Entitätsbasierte schrittweise Bereitstellungen stellen sicher, dass ein Benutzer oder Segment, sobald er eine Konfigurationsversion erhält, dieselbe Version auch während des Bereitstellungszeitraums erhält, unabhängig davon, welche Rechenressource seine Anfragen bearbeitet. Weitere Informationen finden Sie unter [Verwendung des AWS AppConfig Agenten für schrittweise Bereitstellungen auf Benutzer- oder Entitätsbasis](appconfig-agent-how-to-use.md#appconfig-entity-based-gradual-deployments).

Eine AWS AppConfig Bereitstellungsstrategie definiert die folgenden wichtigen Aspekte einer Konfigurationsbereitstellung.


****  

| Einstellung | Description | 
| --- | --- | 
| Verstrichene Zeit | Fortschritt bei der Bereitstellung | 
| --- | --- | 
|  Bereitstellungstyp  | Der Bereitstellungstyp definiert, wie die Konfiguration bereitgestellt oder *eingeführt wird*. AWS AppConfig unterstützt **lineare** und **exponentielle Bereitstellungstypen**. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/appconfig/latest/userguide/appconfig-creating-deployment-strategy.html)  | 
|  Schrittprozentsatz (Wachstumsfaktor)  |  Diese Einstellung gibt den Prozentsatz der Aufrufer an, für den die Bereitstellung bei den einzelnen Schritten ausgeführt werden soll.  Im SDK und in der [AWS AppConfig -API-Referenz](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_CreateDeploymentStrategy.html) wird `step percentage` als `growth factor` bezeichnet.   | 
|  Deployment time (Bereitstellungszeit)  |  Diese Einstellung gibt einen Zeitraum an, in dem die AWS AppConfig Bereitstellung auf Hosts erfolgt. Dies ist kein Timeoutwert. Es ist ein Zeitfenster, in dem die Bereitstellung in Intervallen verarbeitet wird. | 
|  Bake time (Bake-Zeit)  |  Diese Einstellung legt fest, wie lange CloudWatch Amazon-Alarme nach der Bereitstellung der Konfiguration auf 100% ihrer Ziele AWS AppConfig überwacht werden, bevor die Bereitstellung als abgeschlossen betrachtet wird. Wird während dieser Zeit ein Alarm ausgelöst, setzt AWS AppConfig die Bereitstellung zurück. Sie müssen die Berechtigungen für das AWS AppConfig Rollback auf der Grundlage von CloudWatch Alarmen konfigurieren. Weitere Informationen finden Sie unter [Konfigurieren Sie die Berechtigungen für das automatische Rollback](setting-up-appconfig.md#getting-started-with-appconfig-cloudwatch-alarms-permissions).  | 
|  0 Stunde  |  0%  | 
|  2 Stunden  |  20 %  | 
|  4 Stunden  |  40%  | 
|  6 Stunden  |  60%  | 
|  8 Stunden  |  80%  | 
|  10 Stunden  |  100 %  | 

Sie können eine vordefinierte Strategie auswählen, die im Lieferumfang enthalten ist, AWS AppConfig oder Ihre eigene Strategie erstellen. 

**Anmerkung**  
AWS AppConfig Agent (Version 2.0.136060 oder höher) unterstützt die Bereitstellung von Feature-Flags oder Freiform-Konfigurationsdaten für bestimmte Segmente oder einzelne Benutzer während einer schrittweisen Einführung. Entitätsbasierte schrittweise Bereitstellungen stellen sicher, dass ein Benutzer oder Segment, sobald er eine Konfigurationsversion erhält, dieselbe Version auch während des Bereitstellungszeitraums erhält, unabhängig davon, welche Rechenressource seine Anfragen bearbeitet. Weitere Informationen finden Sie unter [Verwendung des AWS AppConfig Agenten für schrittweise Bereitstellungen auf Benutzer- oder Entitätsbasis](appconfig-agent-how-to-use.md#appconfig-entity-based-gradual-deployments).

**Topics**
+ [Verwendung vordefinierter Bereitstellungsstrategien](appconfig-creating-deployment-strategy-predefined.md)
+ [Erstellen einer Bereitstellungsstrategie](appconfig-creating-deployment-strategy-create.md)

# Verwendung vordefinierter Bereitstellungsstrategien
<a name="appconfig-creating-deployment-strategy-predefined"></a>

AWS AppConfig umfasst vordefinierte Bereitstellungsstrategien, mit denen Sie eine Konfiguration schnell bereitstellen können. Anstatt eigene Strategien zu erstellen, können Sie beim Bereitstellen einer Konfiguration eine der folgenden Strategien auswählen.


****  

| Bereitstellungsstrategie | Description | 
| --- | --- | 
|  AppConfig. Linear 20 6 Minuten PercentEvery  | **AWS empfohlen**: Bei dieser Strategie wird die Konfiguration alle sechs Minuten auf 20% aller Ziele bereitgestellt, was einer 30-minütigen Bereitstellung entspricht. Das System überwacht 30 Minuten lang, CloudWatch ob Amazon-Alarme vorliegen. Wenn in dieser Zeit keine Alarme empfangen werden, ist die Bereitstellung abgeschlossen. Wenn während dieser Zeit ein Alarm ausgelöst wird, AWS AppConfig wird die Bereitstellung rückgängig gemacht.Wir empfehlen, diese Strategie für Produktionsbereitstellungen zu verwenden, da sie den AWS bewährten Methoden entspricht und aufgrund ihrer langen Dauer und Backzeit zusätzliche Aufmerksamkeit auf die Sicherheit bei der Bereitstellung legt.  | 
|  AppConfig. Kanarische 10 Prozent 20 Minuten  | **AWS empfohlen:** Diese Strategie verarbeitet die Bereitstellung exponentiell mit einem Wachstumsfaktor von 10 % über 20 Minuten. Das System überwacht 10 Minuten lang, ob CloudWatch Alarme vorliegen. Wenn in dieser Zeit keine Alarme empfangen werden, ist die Bereitstellung abgeschlossen. Wenn während dieser Zeit ein Alarm ausgelöst wird, AWS AppConfig wird die Bereitstellung rückgängig gemacht.Wir empfehlen, diese Strategie für Produktionsbereitstellungen zu verwenden, da sie den AWS bewährten Methoden für Konfigurationsbereitstellungen entspricht.  | 
|  AppConfig.AllAtOnce  | **Schnell**: Diese Strategie stellt die Konfiguration sofort für alle Ziele bereit. Das System überwacht 10 Minuten lang, ob CloudWatch Alarme vorliegen. Wenn in dieser Zeit keine Alarme empfangen werden, ist die Bereitstellung abgeschlossen. Wird während dieser Zeit ein Alarm ausgelöst, setzt AWS AppConfig die Bereitstellung zurück.   | 
|  AppConfig. Linear 50 30 Sekunden PercentEvery  | **Testen/Vorführung**: Diese Strategie stellt die Konfiguration auf der Hälfte aller Ziele alle 30 Sekunden für eine Bereitstellung von einer Minute bereit. Das System überwacht 1 Minute lang, CloudWatch ob Amazon-Alarme vorliegen. Wenn in dieser Zeit keine Alarme empfangen werden, ist die Bereitstellung abgeschlossen. Wenn während dieser Zeit ein Alarm ausgelöst wird, AWS AppConfig wird die Bereitstellung rückgängig gemacht.Wir empfehlen, diese Strategie aufgrund der kurzen Dauer und Bake-Zeit nur für Test- oder Demonstrationszwecke zu verwenden.  | 

# Erstellen einer Bereitstellungsstrategie
<a name="appconfig-creating-deployment-strategy-create"></a>

Wenn Sie keine der vordefinierten Bereitstellungsstrategien verwenden möchten, können Sie Ihre eigenen erstellen. Sie können maximal 20 Bereitstellungsstrategien erstellen. Beim Bereitstellen einer Konfiguration können Sie die für die Anwendung und Umgebung am besten geeignete Bereitstellungsstrategie auswählen.

## Erstellen einer AWS AppConfig Bereitstellungsstrategie (Konsole)
<a name="appconfig-creating-deployment-strategy-create-console"></a>

Gehen Sie wie folgt vor, um mithilfe der AWS Systems Manager Konsole eine AWS AppConfig Bereitstellungsstrategie zu erstellen.

**So erstellen Sie eine Bereitstellungsstrategie**

1. Öffnen Sie die AWS Systems Manager Konsole unter [https://console.aws.amazon.com/systems-manager/appconfig/](https://console.aws.amazon.com/systems-manager/appconfig/).

1. Wählen Sie im Navigationsbereich **Deployment Strategies** und anschließend **Create Deployment** Strategy aus.

1. Geben Sie unter **Name** einen Namen für die Bereitstellungsstrategie ein.

1. Geben Sie unter **Description (Beschreibung)** Informationen zur Bereitstellungsstrategie ein.

1. Wählen Sie unter **Deployment type (Bereitstellungstyp)** einen Typ aus.

1. Wählen Sie unter **Step percentage (Schrittprozentsatz)** den Prozentsatz der Aufrufer aus, für den die Bereitstellung bei den einzelnen Schritten der Bereitstellung ausgeführt werden soll. 

1. Geben Sie unter **Deployment time (Bereitstellungszeit)** die Gesamtdauer der Bereitstellung in Minuten oder Stunden ein. 

1. Geben Sie unter **Backzeit** die Gesamtzeit in Minuten oder Stunden ein, die für die Überwachung von CloudWatch Amazon-Alarmen benötigt wird, bevor Sie mit dem nächsten Schritt einer Bereitstellung fortfahren oder die Bereitstellung als abgeschlossen betrachten. 

1. Geben Sie im Abschnitt **Tags** einen Schlüssel und einen optionalen Wert ein. Sie können maximal 50 Tags für eine Ressource angeben. 

1. Wählen Sie **Create deployment strategy (Bereitstellungsstrategie erstellen)** aus.

**Wichtig**  
Wenn Sie ein Konfigurationsprofil für erstellt haben AWS CodePipeline, müssen Sie eine Pipeline erstellen CodePipeline , in der Sie AWS AppConfig als *Bereitstellungsanbieter angeben*. Sie müssen keine Leistung erbringen[Bereitstellen einer Konfiguration](appconfig-deploying.md). Sie müssen jedoch einen Client so konfigurieren, dass er Updates für die Anwendungskonfiguration erhält, wie unter beschrieben[Konfigurationsdaten werden ohne AWS AppConfig Agent abgerufen](about-data-plane.md). Informationen zum Erstellen einer Pipeline, die AWS AppConfig als Bereitstellungsanbieter angegeben wird, finden Sie unter [Tutorial: Erstellen einer Pipeline, die AWS AppConfig als Bereitstellungsanbieter verwendet](https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-AppConfig.html) wird im *AWS CodePipeline Benutzerhandbuch*. 

Fahren Sie mit [Bereitstellen einer Konfiguration](appconfig-deploying.md) fort.

## Erstellen einer AWS AppConfig Bereitstellungsstrategie (Befehlszeile)
<a name="appconfig-creating-deployment-strategy-create-commandline"></a>

Das folgende Verfahren beschreibt, wie Sie die AWS CLI (unter Linux oder Windows) verwenden oder AWS -Tools für PowerShell eine AWS AppConfig Bereitstellungsstrategie erstellen.

**So erstellen Sie Schritt für Schritt eine Bereitstellungsstrategie**

1. Öffnen Sie das AWS CLI.

1. Führen Sie den folgenden Befehl aus, um eine Bereitstellungsstrategie zu erstellen. 

------
#### [ Linux ]

   ```
   aws appconfig create-deployment-strategy \
     --name A_name_for_the_deployment_strategy \
     --description A_description_of_the_deployment_strategy \
     --deployment-duration-in-minutes Total_amount_of_time_for_a_deployment_to_last \
     --final-bake-time-in-minutes Amount_of_time_AWS AppConfig_monitors_for_alarms_before_considering_the_deployment_to_be_complete \
     --growth-factor The_percentage_of_targets_to_receive_a_deployed_configuration_during_each_interval \
     --growth-type The_linear_or_exponential_algorithm_used_to_define_how_percentage_grows_over_time \
     --replicate-to To_save_the_deployment_strategy_to_a_Systems_Manager_(SSM)_document \
     --tags User_defined_key_value_pair_metadata_of_the_deployment_strategy
   ```

------
#### [ Windows ]

   ```
   aws appconfig create-deployment-strategy ^
     --name A_name_for_the_deployment_strategy ^
     --description A_description_of_the_deployment_strategy ^
     --deployment-duration-in-minutes Total_amount_of_time_for_a_deployment_to_last ^
     --final-bake-time-in-minutes Amount_of_time_AWS AppConfig_monitors_for_alarms_before_considering_the_deployment_to_be_complete ^
     --growth-factor The_percentage_of_targets_to_receive_a_deployed_configuration_during_each_interval ^
     --growth-type The_linear_or_exponential_algorithm_used_to_define_how_percentage_grows_over_time ^
     --name A_name_for_the_deployment_strategy ^
     --replicate-to To_save_the_deployment_strategy_to_a_Systems_Manager_(SSM)_document ^
     --tags User_defined_key_value_pair_metadata_of_the_deployment_strategy
   ```

------
#### [ PowerShell ]

   ```
   New-APPCDeploymentStrategy ` 
     --Name A_name_for_the_deployment_strategy ` 
     --Description A_description_of_the_deployment_strategy `
     --DeploymentDurationInMinutes Total_amount_of_time_for_a_deployment_to_last `
     --FinalBakeTimeInMinutes Amount_of_time_AWS AppConfig_monitors_for_alarms_before_considering_the_deployment_to_be_complete `
     --GrowthFactor The_percentage_of_targets_to_receive_a_deployed_configuration_during_each_interval `
     --GrowthType The_linear_or_exponential_algorithm_used_to_define_how_percentage_grows_over_time `
     --ReplicateTo To_save_the_deployment_strategy_to_a_Systems_Manager_(SSM)_document `
     --Tag Hashtable_type_User_defined_key_value_pair_metadata_of_the_deployment_strategy
   ```

------

   Das System gibt unter anderem folgende Informationen zurück

------
#### [ Linux ]

   ```
   {
      "Id": "Id of the deployment strategy",
      "Name": "Name of the deployment strategy",
      "Description": "Description of the deployment strategy",
      "DeploymentDurationInMinutes": "Total amount of time the deployment lasted",
      "GrowthType": "The linear or exponential algorithm used to define how percentage grew over time",
      "GrowthFactor": "The percentage of targets that received a deployed configuration during each interval",  
      "FinalBakeTimeInMinutes": "The amount of time AWS AppConfig monitored for alarms before considering the deployment to be complete",
      "ReplicateTo": "The Systems Manager (SSM) document where the deployment strategy is saved"
   }
   ```

------
#### [ Windows ]

   ```
   {
      "Id": "Id of the deployment strategy",
      "Name": "Name of the deployment strategy",
      "Description": "Description of the deployment strategy",
      "DeploymentDurationInMinutes": "Total amount of time the deployment lasted",
      "GrowthType": "The linear or exponential algorithm used to define how percentage grew over time",
      "GrowthFactor": "The percentage of targets that received a deployed configuration during each interval",  
      "FinalBakeTimeInMinutes": "The amount of time AWS AppConfig monitored for alarms before considering the deployment to be complete",
      "ReplicateTo": "The Systems Manager (SSM) document where the deployment strategy is saved"
   }
   ```

------
#### [ PowerShell ]

   ```
   ContentLength               : Runtime of the command
   DeploymentDurationInMinutes : Total amount of time the deployment lasted
   Description                 : Description of the deployment strategy
   FinalBakeTimeInMinutes      : The amount of time AWS AppConfig monitored for alarms before considering the deployment to be complete
   GrowthFactor                : The percentage of targets that received a deployed configuration during each interval
   GrowthType                  : The linear or exponential algorithm used to define how percentage grew over time
   HttpStatusCode              : HTTP Status of the runtime
   Id                          : The deployment strategy ID
   Name                        : Name of the deployment strategy
   ReplicateTo                 : The Systems Manager (SSM) document where the deployment strategy is saved
   ResponseMetadata            : Runtime Metadata
   ```

------

# Bereitstellen einer Konfiguration
<a name="appconfig-deploying"></a>

Nachdem Sie die [erforderlichen Artefakte](https://docs.aws.amazon.com/appconfig/latest/userguide/creating-feature-flags-and-configuration-data.html) für die Arbeit mit Feature-Flags und Freiform-Konfigurationsdaten erstellt haben, können Sie mithilfe des SDK AWS-Managementkonsole, des oder des AWS CLI SDK eine neue Bereitstellung erstellen. Beim Starten einer Bereitstellung in wird der AWS AppConfig [StartDeployment](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_StartDeployment.html)API-Vorgang aufgerufen. Dieser Aufruf umfasst die Angabe IDs der AWS AppConfig Anwendung, der Umgebung, des Konfigurationsprofils und (optional) der Version der Konfigurationsdaten, die bereitgestellt werden sollen. Der Aufruf enthält auch die ID der zu verwendenden Bereitstellungsstrategie, die bestimmt, wie die Konfigurationsdaten bereitgestellt werden.

Wenn Sie Geheimnisse einsetzen AWS Secrets Manager, die in Objekten von Amazon Simple Storage Service (Amazon S3) gespeichert sind, die mit einem vom Kunden verwalteten Schlüssel verschlüsselt sind, oder sichere Zeichenkettenparameter, die im AWS Systems Manager Parameter Store gespeichert sind und mit einem vom Kunden verwalteten Schlüssel verschlüsselt sind, müssen Sie einen Wert für den `KmsKeyIdentifier` Parameter angeben. Wenn Ihre Konfiguration nicht verschlüsselt oder mit einem verschlüsselt ist Von AWS verwalteter Schlüssel, ist die Angabe eines Werts für den `KmsKeyIdentifier` Parameter nicht erforderlich.

**Anmerkung**  
Bei dem Wert, den Sie angeben, `KmsKeyIdentifier` muss es sich um einen vom Kunden verwalteten Schlüssel handeln. Dabei muss es sich nicht um denselben Schlüssel handeln, den Sie zum Verschlüsseln Ihrer Konfiguration verwendet haben.  
Wenn Sie eine Bereitstellung mit einem starten`KmsKeyIdentifier`, muss die Ihrem AWS Identity and Access Management (IAM-) Principal zugeordnete Berechtigungsrichtlinie den `kms:GenerateDataKey` Vorgang zulassen.

AWS AppConfig überwacht die Verteilung an alle Hosts und meldet den Status. Wenn eine Verteilung fehlschlägt, wird AWS AppConfig die Konfiguration zurückgesetzt.

**Anmerkung**  
Sie können jeweils nur eine Konfiguration in einer Umgebung bereitstellen. Sie können jedoch jeweils eine Konfiguration gleichzeitig in verschiedenen Umgebungen bereitstellen.

## Stellen Sie eine Konfiguration bereit (Konsole)
<a name="appconfig-deploying-console"></a>

Gehen Sie wie folgt vor, um eine AWS AppConfig Konfiguration mithilfe der AWS Systems Manager Konsole bereitzustellen.

**So stellen Sie eine Konfiguration über die Konsole bereit**

1. Öffnen Sie die AWS Systems Manager Konsole unter [https://console.aws.amazon.com/systems-manager/appconfig/](https://console.aws.amazon.com/systems-manager/appconfig/).

1. Wählen Sie im Navigationsbereich **Anwendungen** und dann eine Anwendung aus, in der Sie sie erstellt haben. [Erstellen Sie einen Namespace für Ihre Anwendung in AWS AppConfig](appconfig-creating-namespace.md)

1. Füllen Sie auf der Registerkarte **Umgebungen** das Optionsfeld für eine Umgebung aus, und wählen Sie dann **Details anzeigen** aus.

1. Klicken Sie auf **Start deployment (Bereitstellung starten)**.

1. Wählen Sie unter **Configuration (Konfiguration)** eine Konfiguration in der Liste aus.

1. Verwenden Sie je nach Quelle Ihrer Konfiguration die Versionsliste, um die Version auszuwählen, die Sie bereitstellen möchten. 

1. Wählen Sie unter **Deployment strategy (Bereitstellungsstrategie)** eine Strategie in der Liste aus.

1. (Optional) Geben Sie unter **Bereitstellungsbeschreibung** eine Beschreibung ein. 

1. Wählen Sie für **zusätzliche Verschlüsselungsoptionen** einen AWS Key Management Service Schlüssel aus der Liste aus.

1. (Optional) Wählen Sie im Abschnitt **Tags** die Option **Neues Tag hinzufügen** aus und geben Sie einen Schlüssel und einen optionalen Wert ein. Sie können maximal 50 Tags für eine Ressource angeben. 

1. Klicken Sie auf **Start deployment (Bereitstellung starten)**.

## Stellen Sie eine Konfiguration bereit (Befehlszeile)
<a name="appconfig-deploying-commandline"></a>

Das folgende Verfahren beschreibt, wie Sie die AWS CLI (unter Linux oder Windows) verwenden oder AWS -Tools für PowerShell eine AWS AppConfig Konfiguration bereitstellen.

**So stellen Sie eine Konfiguration Schritt für Schritt bereit**

1. Öffnen Sie das AWS CLI.

1. Führen Sie den folgenden Befehl aus, um eine Konfiguration bereitzustellen. 

------
#### [ Linux ]

   ```
   aws appconfig start-deployment \
     --application-id The_application_ID \
     --environment-id The_environment_ID \
     --deployment-strategy-id The_deployment_strategy_ID \
     --configuration-profile-id The_configuration_profile_ID \
     --configuration-version The_configuration_version_to_deploy \
     --description A_description_of_the_deployment \
     --tags User_defined_key_value_pair_metadata_of_the_deployment
   ```

------
#### [ Windows ]

   ```
   aws appconfig start-deployment ^
     --application-id The_application_ID ^
     --environment-id The_environment_ID ^
     --deployment-strategy-id The_deployment_strategy_ID ^
     --configuration-profile-id The_configuration_profile_ID ^
     --configuration-version The_configuration_version_to_deploy ^
     --description A_description_of_the_deployment ^
     --tags User_defined_key_value_pair_metadata_of_the_deployment
   ```

------
#### [ PowerShell ]

   ```
   Start-APPCDeployment `
     -ApplicationId The_application_ID `
     -ConfigurationProfileId The_configuration_profile_ID `
     -ConfigurationVersion The_configuration_version_to_deploy `
     -DeploymentStrategyId The_deployment_strategy_ID `
     -Description A_description_of_the_deployment `
     -EnvironmentId The_environment_ID `
     -Tag Hashtable_type_user_defined_key_value_pair_metadata_of_the_deployment
   ```

------

   Das System gibt unter anderem folgende Informationen zurück

------
#### [ Linux ]

   ```
   {   
      "ApplicationId": "The ID of the application that was deployed",
      "EnvironmentId" : "The ID of the environment",
      "DeploymentStrategyId": "The ID of the deployment strategy that was deployed",
      "ConfigurationProfileId": "The ID of the configuration profile that was deployed",
      "DeploymentNumber": The sequence number of the deployment,
      "ConfigurationName": "The name of the configuration",
      "ConfigurationLocationUri": "Information about the source location of the configuration",
      "ConfigurationVersion": "The configuration version that was deployed",
      "Description": "The description of the deployment",
      "DeploymentDurationInMinutes": Total amount of time the deployment lasted,
      "GrowthType": "The linear or exponential algorithm used to define how percentage grew over time",
      "GrowthFactor": The percentage of targets to receive a deployed configuration during each interval,
      "FinalBakeTimeInMinutes": Time AWS AppConfig monitored for alarms before considering the deployment to be complete,
      "State": "The state of the deployment",  
   
      "EventLog": [ 
         { 
            "Description": "A description of the deployment event",
            "EventType": "The type of deployment event",
            "OccurredAt": The date and time the event occurred,
            "TriggeredBy": "The entity that triggered the deployment event"
         }
      ],
   
      "PercentageComplete": The percentage of targets for which the deployment is available,
      "StartedAt": The time the deployment started,
      "CompletedAt": The time the deployment completed   
   }
   ```

------
#### [ Windows ]

   ```
   {
      "ApplicationId": "The ID of the application that was deployed",
      "EnvironmentId" : "The ID of the environment",
      "DeploymentStrategyId": "The ID of the deployment strategy that was deployed",
      "ConfigurationProfileId": "The ID of the configuration profile that was deployed",
      "DeploymentNumber": The sequence number of the deployment,
      "ConfigurationName": "The name of the configuration",
      "ConfigurationLocationUri": "Information about the source location of the configuration",
      "ConfigurationVersion": "The configuration version that was deployed",
      "Description": "The description of the deployment",
      "DeploymentDurationInMinutes": Total amount of time the deployment lasted,
      "GrowthType": "The linear or exponential algorithm used to define how percentage grew over time",
      "GrowthFactor": The percentage of targets to receive a deployed configuration during each interval,
      "FinalBakeTimeInMinutes": Time AWS AppConfig monitored for alarms before considering the deployment to be complete,
      "State": "The state of the deployment",  
   
      "EventLog": [ 
         { 
            "Description": "A description of the deployment event",
            "EventType": "The type of deployment event",
            "OccurredAt": The date and time the event occurred,
            "TriggeredBy": "The entity that triggered the deployment event"
         }
      ],
   
      "PercentageComplete": The percentage of targets for which the deployment is available,
      "StartedAt": The time the deployment started,
      "CompletedAt": The time the deployment completed 
   }
   ```

------
#### [ PowerShell ]

   ```
   ApplicationId               : The ID of the application that was deployed
   CompletedAt                 : The time the deployment completed
   ConfigurationLocationUri    : Information about the source location of the configuration
   ConfigurationName           : The name of the configuration
   ConfigurationProfileId      : The ID of the configuration profile that was deployed
   ConfigurationVersion        : The configuration version that was deployed
   ContentLength               : Runtime of the deployment 
   DeploymentDurationInMinutes : Total amount of time the deployment lasted
   DeploymentNumber            : The sequence number of the deployment
   DeploymentStrategyId        : The ID of the deployment strategy that was deployed
   Description                 : The description of the deployment
   EnvironmentId               : The ID of the environment that was deployed
   EventLog                    : {Description : A description of the deployment event, EventType : The type of deployment event, OccurredAt : The date and time the event occurred,
            TriggeredBy : The entity that triggered the deployment event}
   FinalBakeTimeInMinutes      : Time AWS AppConfig monitored for alarms before considering the deployment to be complete
   GrowthFactor                : The percentage of targets to receive a deployed configuration during each interval
   GrowthType                  : The linear or exponential algorithm used to define how percentage grew over time
   HttpStatusCode              : HTTP Status of the runtime
   PercentageComplete          : The percentage of targets for which the deployment is available
   ResponseMetadata            : Runtime Metadata
   StartedAt                   : The time the deployment started
   State                       : The state of the deployment
   ```

------

# Bereitstellen von AWS AppConfig Konfigurationen mit CodePipeline
<a name="appconfig-integration-codepipeline"></a>

AWS AppConfig ist eine integrierte Bereitstellungsaktion für AWS CodePipeline (CodePipeline). CodePipeline ist ein vollständig verwalteter Continuous Delivery Service, der Sie bei der Automatisierung Ihrer Release-Pipelines für schnelle und zuverlässige Anwendungs- und Infrastrukturupdates unterstützt. CodePipeline automatisiert die Erstellungs-, Test- und Bereitstellungsphasen Ihres Release-Prozesses bei jeder Codeänderung auf der Grundlage des von Ihnen definierten Release-Modells. Weitere Informationen finden Sie unter [Was ist AWS CodePipeline?](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html)

Die Integration von AWS AppConfig mit CodePipeline bietet die folgenden Vorteile:
+ Kunden, die früher CodePipeline die Orchestrierung verwaltet haben, verfügen nun über eine einfache Möglichkeit, Konfigurationsänderungen an ihren Anwendungen vorzunehmen, ohne ihre gesamte Codebasis bereitstellen zu müssen.
+ Kunden, die das System AWS AppConfig zur Verwaltung von Konfigurationsbereitstellungen verwenden möchten, aber nur eingeschränkt zur Verfügung stehen, weil ihr aktueller Code oder Konfigurationsspeicher AWS AppConfig nicht unterstützt wird, stehen jetzt zusätzliche Optionen zur Verfügung. CodePipeline unterstützt AWS CodeCommit GitHub, und BitBucket (um nur einige zu nennen).

**Anmerkung**  
AWS AppConfig Die Integration mit CodePipeline wird nur dort unterstützt AWS-Regionen , wo sie [verfügbar CodePipeline ](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) ist.

## Wie funktioniert die Integration
<a name="appconfig-integration-codepipeline-how"></a>

Sie beginnen mit der Einrichtung und Konfiguration CodePipeline. Dazu gehört das Hinzufügen Ihrer Konfiguration zu einem CodePipeline Codespeicher mit Unterstützung. Als Nächstes richten Sie Ihre AWS AppConfig Umgebung ein, indem Sie die folgenden Aufgaben ausführen:
+ [Erstellen Sie einen Namespace und ein Konfigurationsprofil](https://docs.aws.amazon.com/appconfig/latest/userguide/creating-feature-flags-and-configuration-data.html)
+ [Wählen Sie eine vordefinierte Bereitstellungsstrategie oder erstellen Sie Ihre eigene](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-deployment-strategy.html)

Nachdem Sie diese Aufgaben abgeschlossen haben, erstellen Sie eine Pipeline CodePipeline , in der Sie AWS AppConfig als *Bereitstellungsanbieter angeben*. Anschließend können Sie eine Änderung an Ihrer Konfiguration vornehmen und diese in Ihren CodePipeline Codespeicher hochladen. Durch das Hochladen der neuen Konfiguration wird automatisch eine neue Bereitstellung in CodePipeline gestartet. Nach Abschluss der Bereitstellung können Sie Ihre Änderungen überprüfen. Informationen zum Erstellen einer Pipeline, die AWS AppConfig als Bereitstellungsanbieter angibt, finden Sie im *AWS CodePipeline Benutzerhandbuch* unter [Tutorial: Erstellen einer Pipeline, die AWS AppConfig als Bereitstellungsanbieter verwendet](https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-AppConfig.html) wird. 

# Konfiguration rückgängig machen
<a name="appconfig-deploying-reverting"></a>

Während einer Bereitstellung können Sie Situationen vermeiden, in denen fehlerhafte oder falsche Konfigurationsdaten zu Fehlern in Ihrer Anwendung führen, indem Sie automatische Rollbacks verwenden (wenn während einer Bereitstellung ein Alarm ausgelöst wird) oder indem Sie die Konfigurationsdaten auf die vorherige Version zurücksetzen (wenn eine Bereitstellung erfolgreich abgeschlossen wurde).

Für automatische Rollbacks können Sie eine Kombination aus AWS AppConfig [Bereitstellungsstrategien](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-deployment-strategy.html) und CloudWatch Amazon-Alarmen verwenden. Wenn nach der Konfiguration ein oder mehrere CloudWatch Alarme während einer Bereitstellung in den `ALARM` Status wechseln, AWS AppConfig werden Ihre Konfigurationsdaten automatisch auf die vorherige Version zurückgesetzt, wodurch Anwendungsausfälle oder -fehler vermieden werden. Um zu beginnen, sehen Sie sich [Konfigurieren Sie die Berechtigungen für das automatische Rollback](setting-up-appconfig.md#getting-started-with-appconfig-cloudwatch-alarms-permissions) an.

**Anmerkung**  
Sie können eine Konfiguration auch rückgängig machen, indem Sie den [StopDeployment](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_StopDeployment.html)API-Vorgang aufrufen, während eine Bereitstellung noch läuft.

Unterstützt bei erfolgreich abgeschlossenen Bereitstellungen AWS AppConfig auch das Zurücksetzen von Konfigurationsdaten auf eine frühere Version, indem der `AllowRevert` Parameter zusammen mit dem [StopDeployment](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_StopDeployment.html)API-Vorgang verwendet wird. Bei einigen Kunden garantiert das Zurücksetzen auf eine vorherige Konfiguration nach einer erfolgreichen Bereitstellung, dass die Daten dieselben sind wie vor der Bereitstellung. Beim Zurücksetzen werden auch Alarmanzeigen ignoriert, wodurch verhindert werden kann, dass ein Rollforward während eines Anwendungsnotfalls fortgesetzt wird.

**Wichtig**  
Wenn Sie `StopDeployment` mit aktiviertem `AllowRevert` Parameter aufrufen, AWS AppConfig wird die Bereitstellung nur dann rückgängig gemacht, wenn die Bereitstellung innerhalb der letzten 72 Stunden erfolgreich war. Nach 72 Stunden kann die Bereitstellung nicht mehr rückgängig gemacht werden. Sie müssen eine neue Bereitstellung erstellen.

Im Folgenden finden Sie eine Aufschlüsselung der `StopDeployment` Funktionen anhand verschiedener Situationen.

1. Wenn bei einer Bereitstellung, die gerade ausgeführt wird, aufgerufen `ROLLED_BACK` wird, `StopDeployment` lautet der resultierende Bereitstellungsstatus.

1. Wenn `StopDeployment` (with`AllowRevert`) bei einem Einsatz in Bearbeitung aufgerufen wird, lautet der resultierende Bereitstellungsstatus. `ROLLED_BACK`

1. Wenn `StopDeployment` bei einer abgeschlossenen Bereitstellung aufgerufen wird, `BadRequestException` wird a ausgelöst.

1. Wenn `StopDeployment` (with`AllowRevert`) bei einer abgeschlossenen Bereitstellung aufgerufen wird, lautet der resultierende Bereitstellungsstatus`REVERTED`.

1. Wenn `StopDeployment` (with`AllowRevert`) bei einer abgeschlossenen Bereitstellung nach 72 Stunden aufgerufen wird, `BadRequestException` wird a ausgelöst.

Sie können das verwenden AWS CLI , um die [StopDeployment](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/appconfig/stop-deployment.html)Operation mit dem `AllowRevert` Parameter aufzurufen. Hier ist ein AWS CLI Beispielbefehl, der den `AllowRevert` Parameter enthält.

```
aws appconfig stop-deployment \
    --application-id 339ohji \
    --environment-id 54j1r29 \
    --deployment-number 2 \
    --allow-revert
```