

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.

# Migrieren eines Amazon-ECS-Service mit kurzem ARN zu einem langen ARN
<a name="service-arn-migration"></a>

Amazon ECS weist jedem Service einen eindeutigen Amazon-Ressourcennamen (ARN) zu. Services, die vor 2021 erstellt wurden, haben ein kurzes ARN-Format:

 `arn:aws:ecs:region:aws_account_id:service/service-name`

Amazon ECS hat das ARN-Format dahingehend geändert, dass es den Cluster-Namen enthält. Dies ist ein langes ARN-Format:

`arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name`

Ihr Service muss das lange ARN-Format aufweisen, um Tagging zu ermöglichen. 

Sie können einen Service mit einem kurzen ARN-Format in das lange ARN-Format migrieren, ohne den Service neu erstellen zu müssen. Dazu können Sie die API, CLI oder Konsole verwenden. Sie können den Migrationsvorgang nicht rückgängig machen.

Der Migrationsprozess ist reibungslos und gewährleistet, dass Ihr Service keine Ausfallzeiten hat. Während der Migration:
+ **Serviceverfügbarkeit**: Ihr Service läuft weiterhin normal, ohne dass der Datenverkehr oder die Funktionalität unterbrochen werden.
+ **Laufende Aufgaben**: Bestehende Aufgaben werden weiterhin ohne Unterbrechung ausgeführt. Neue Aufgaben, die nach der Migration gestartet werden, verwenden das lange ARN-Format, wenn die Kontoeinstellung `taskLongArnFormat` aktiviert ist.
+ **Container-Instances**: Container-Instances sind von der Service-ARN-Migration nicht betroffen und funktionieren weiterhin normal.
+ **Servicekonfiguration**: Alle Serviceeinstellungen, einschließlich Aufgabendefinition, Netzwerk und Load Balancer-Konfigurationen, bleiben unverändert.

Wenn Sie einen Dienst mit einem kurzen ARN-Format taggen möchten, müssen Sie den Dienst mithilfe der API, CLI oder Konsole migrieren. CloudFormation Nach Abschluss der Migration können Sie den Dienst verwenden CloudFormation , um ihn zu taggen.

Wenn Sie Terraform verwenden möchten, um einen Service mit einem kurzen ARN-Format zu markieren, müssen Sie den Service mithilfe der API, CLI oder Konsole migrieren. Nach Abschluss der Migration können Sie Terraform verwenden, um den Service zu markieren.

Nach Abschluss der Migration weist der Service folgende Änderungen auf:
+ Das lange ARN-Format

  `arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name`
+ Wenn Sie mithilfe der Konsole migrieren, fügt Amazon ECS dem Service ein Tag hinzu, wobei der Schlüssel auf „ecs: serviceArnMigrated At“ und der Wert auf den Migrationszeitstempel (UTC-Format) gesetzt ist.

  Dieses Tag wird auf Ihr Tag-Kontingent angerechnet.
+ Wenn der `PhysicalResourceId` in einem CloudFormation Stack einen Dienst-ARN darstellt, ändert sich der Wert nicht und es wird weiterhin der kurze Dienst-ARN sein. 

## Voraussetzungen
<a name="migrate-service-arn-prerequisite"></a>

Führen Sie die folgenden Vorgänge aus, bevor Sie den Service-ARN migrieren.

1. Um zu sehen, ob Sie einen kurzen Service-ARN haben, sehen Sie sich die Servicedetails in der Amazon-ECS-Konsole an (Sie erhalten eine Warnung, wenn der Service das kurze ARN-Format hat) oder den `serviceARN`-Rückgabeparameter von `describe-services`. Wenn der ARN den Cluster-Namen nicht enthält, haben Sie einen kurzen ARN. Hier ist das Format eines kurzen ARN:

    `arn:aws:ecs:region:aws_account_id:service/service-name`

1. Notieren Sie sich das Erstellungsdatum.

1.  Wenn Sie IAM-Richtlinien haben, die das kurze ARN-Format verwenden, aktualisieren Sie es auf das lange ARN-Format.

   Ersetzen Sie jeden *user input placeholder* durch Ihre Informationen.

    `arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name`

   Weitere Informationen finden Sie im * AWS Identity and Access Management Benutzerhandbuch* unter [Bearbeiten von IAM-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html).

1.  Wenn Sie Tools haben, die das kurze ARN-Format verwenden, aktualisieren Sie es auf das lange ARN-Format.

   Ersetzen Sie jeden *user input placeholder* durch Ihre Informationen.

    `arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name`

1. Aktivieren Sie das lange ARN-Format für den Service. Führen Sie Folgendes aus: `put-account-setting` mit der Option `serviceLongArnFormat` festgelegt auf `enabled`. Weitere Informationen finden Sie [put-account-setting](https://docs.aws.amazon.com/cli/latest/reference/ecs/put-account-setting.html)in der *Amazon Elastic Container Service API-Referenz*.

   Führen Sie den Befehl als Root-Benutzer aus, wenn Ihr Service ein unbekanntes `createdAt`-Datum hat.

   ```
   aws ecs put-account-setting --name serviceLongArnFormat --value enabled
   ```

   Beispielausgabe

   ```
   {
       "setting": {
           "name": "serviceLongArnFormat",
           "value": "enabled",
           "principalArn": "arn:aws:iam::123456789012:role/your-role",
           "type": user
       }
   }
   ```

1. Aktivieren Sie das lange ARN-Format für die Aufgabe. Diese Kontoeinstellung steuert das ARN-Format für neue Aufgaben, die nach Abschluss der Service-Migration gestartet werden. Führen Sie Folgendes aus: `put-account-setting` mit der Option `taskLongArnFormat` festgelegt auf `enabled`. Weitere Informationen finden Sie [put-account-setting](https://docs.aws.amazon.com/cli/latest/reference/ecs/put-account-setting.html)in der *Amazon Elastic Container Service API-Referenz*.

   Führen Sie den Befehl als Root-Benutzer aus, wenn Ihr Service ein unbekanntes `createdAt`-Datum hat.

   ```
   aws ecs put-account-setting --name taskLongArnFormat --value enabled
   ```

   Beispielausgabe

   ```
   {
       "setting": {
           "name": "taskLongArnFormat",
           "value": "enabled",
           "principalArn": "arn:aws:iam::123456789012:role/your-role",
           "type": user
       }
   }
   ```
**Anmerkung**  
Mit der `taskLongArnFormat`-Einstellung werden vorhandene Aufgaben nicht direkt migriert. Die Einstellung wirkt sich nur auf das ARN-Format neuer Aufgaben aus, die nach der Aktivierung der Einstellung erstellt werden. Bestehende laufende Aufgaben behalten ihr aktuelles ARN-Format bei, bis sie durch normale Servicevorgänge (wie Bereitstellungen oder Skalierungsaktionen) ersetzt werden.

## Verfahren
<a name="migrate-service-arn-procedure"></a>

Gehen Sie wie folgt vor, um Ihren Service-ARN zu migrieren.

### Konsole
<a name="migrate-service-arn-procedure-console"></a>

1. Öffnen Sie die Konsole auf [https://console.aws.amazon.com/ecs/Version](https://console.aws.amazon.com/ecs/v2) 2.

1. Wählen Sie auf der **Cluster**-Seite den Cluster aus.

1. Wählen Sie im Abschnitt **Services** einen Service aus, für den in der Spalte ARN eine Warnung angezeigt wird.

   Die Service-Detailseite wird angezeigt.

1. Wählen Sie **Zu langem ARN migrieren** aus.

   Das Dialogfeld Service migrieren wird angezeigt.

1. Wählen Sie **Migrate (Migrieren)**.

### CLI
<a name="migrate-service-arn-procedure-cli"></a>

Sobald Sie die Voraussetzungen erfüllen, können Sie Ihren Service markieren. Führen Sie den folgenden Befehl aus:

Amazon ECS betrachtet die Übergabe des langen ARN-Formats in einer `tag-resource`-API-Anfrage für einen Service mit einem kurzen ARN als Signal für die Migration des Service zur Verwendung des langen ARN-Formats.

```
aws ecs tag-resource \
    --resource-arn arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name
    --tags key=key1,value=value1
```

Das folgende Beispiel enthält Tags MyService mit einem Tag, dessen Schlüssel auf "TestService" und dessen Wert auf "gesetzt istWebServers:

```
aws ecs tag-resource \
    --resource-arn arn:aws:ecs:us-east-1:123456789012:service/MyCluster/MyService
    --tags key=TestService1,value=WebServers
```

### Terraform
<a name="migrate-service-arn-procedure-terraform"></a>

Sobald Sie die Voraussetzungen erfüllen, können Sie Ihren Service markieren. Erstellen Sie eine `aws_ecs_service`-Ressource und legen Sie die `tags`-Referenz fest. Weitere Informationen finden Sie unter [Resource: aws\$1ecs\$1service](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_service) in der Terraform-Dokumentation.

```
resource "aws_ecs_service" "MyService" {
  name    = "example"
  cluster = aws_ecs_cluster.MyService.id

 tags = {
 "Name"  =  "MyService"
 "Environment"  =  "Production"
 "Department"  =  "QualityAssurance"
  }
}
```

### Nächste Schritte
<a name="tag-next-steps"></a>

Sie können dem Service Tags hinzufügen. Weitere Informationen finden Sie unter [Hinzufügen von Tags zu Amazon-ECS-Ressourcen](tag-resources-console.md).

Wenn Sie möchten, dass Amazon ECS die Tags von der Aufgabendefinition oder dem Service an die Aufgabe weitergibt, führen Sie `update-service` mit dem `propagateTags`-Parameter aus. *Weitere Informationen finden Sie unter [update-service](https://docs.aws.amazon.com/cli/latest/reference/ecs/update-service.html) in der AWS Command Line Interface Referenz.*

## Fehlerbehebung
<a name="troubleshooting-arn-migration"></a>

 Bei einigen Benutzern tritt möglicherweise der folgende Fehler auf, wenn sie vom kurzen ARN-Format zum langen ARN-Format migrieren. 

`There was an error while migrating the ARN of service service-name. The specified account does not have serviceLongArnFormat or taskLongArnFormat account settings enabled. Add account settings in order to enable tagging.` 

 Wenn Sie die `serviceLongArnFormat`-Kontoeinstellung bereits aktiviert haben, aber dieser Fehler immer noch auftritt, liegt das möglicherweise daran, dass die Kontoeinstellungen für das lange ARN-Format nicht für den spezifischen IAM-Prinzipal aktiviert wurden, der den Service ursprünglich erstellt hat. 

1.  Identifizieren Sie den Prinzipal, der den Service erstellt hat.

   1. In der Konsole sind die Informationen im Feld **Erstellt von** auf der Registerkarte **Konfiguration und Netzwerk** auf der Seite mit den Servicedetails in der Amazon-ECS-Konsole verfügbar. 

   1. Führen Sie für den den AWS CLI folgenden Befehl aus:

      Ersetzen Sie die *user-input* durch Ihre Werte.

      ```
      aws ecs describe-services --cluster cluster-name --services service-name --query 'services[0].{createdBy: createdBy}'
      ```

1. Aktivieren Sie die erforderlichen Kontoeinstellungen für diesen bestimmten Prinzipal. Sie können dafür eine der folgenden Möglichkeiten auswählen: 

   1.  Nehmen Sie den IAM-Benutzer oder die IAM-Rolle für diesen Prinzipal an. Führen Sie dann `put-account-setting` aus. 

   1.  Verwenden Sie den Root-Benutzer, um den Befehl auszuführen und gleichzeitig den erstellenden Prinzipal mit dem `principal-arn` anzugeben. 

      Beispiel.

      Ersetzen Sie das *principal-arn* durch den Wert aus Schritt 1.

      ```
      aws ecs put-account-setting --name serviceLongArnFormat --value enabled --principal-arn arn:aws:iam::123456789012:role/jdoe
      ```

 Beide Methoden aktivieren die erforderliche `serviceLongArnFormat`-Kontoeinstellung für den Prinzipal, der den Service erstellt hat, sodass die ARN-Migration fortgesetzt werden kann. 