je suis nouveau sur aws et j'ai rencontré un problème en essayant de créer un service EC2 dans un cluster ECS.
j'ai réussi à créer un tout nouveau service (service1) dans le cluster1, mais après, j'ai décidé de supprimer le cluster1 et de créer le cluster2. Le problème est survenu lorsque j'essaie de recréer service1 dans cluster2. chaque fois que j'essaye d'ajouter le service, j'obtiendrai l'erreur suivante
creation failed: Service already exists. (Service: AWSServiceDiscovery; Status Code: 400; Error Code: ServiceAlreadyExists; Request ID: d854025e-ebcc-11e8-84ab-b3bac906f2ef)
quelqu'un sait comment résoudre ce problème? j'ai essayé de désenregistrer la définition de tâche mais cela n'a pas fonctionné. cluster1 a été supprimé et il n'y a aucun service dans cluster2
Voici la réponse complète. Lorsque vous avez créé AWS ECS Service et que vous avez également sélectionné ServiceDiscovery facultatif pour cela, ce qui a créé un espace de noms (.local) et un service (avec le même nom que ECS Service) dans Route53.
Lorsque vous supprimez le service et le cluster ECS, il ne supprime pas automatiquement les entrées d'espace de nom/service Route53. Maintenant, vous obtenez Service already exists
erreur car votre nouveau service ECS correspond au même nom que le service ServiceDiscovery. Vous avez 3 options. 1. Nettoyez les espaces de noms et les services Route53. 2. Réutilisez le service Route53 si vous souhaitez continuer à utiliser la fonction ServiceDiscovery. 3. N'activez pas l'intégration de découverte de service lorsque vous créez le service ECS.
Option 1 -
aws servicediscovery list-services
{"Services": [{"Id": "srv-x4acveybedar32mv", "Arn": "arn: aws: servicediscovery: us-east-1: 1234567890: service/srv-x4acveybedar32mv", "Name": "nginx" }]}
aws servicediscovery list-namespaces
{"Namespaces": [{"Id": "ns-3yd7pskwsxhwlq67", "Arn": "arn: aws: servicediscovery: us-east-1: 1234567890: namespace/ns-3yd7pskwsxhwlq67", "Name": "local" , "Tapez": "DNS_PRIVATE"}]}
aws servicediscovery delete-service --id "srv-x4acveybedar32mv"
. Le résultat est une réponse vide de la CLI.aws servicediscovery delete-namespace --id "ns-3yd7pskwsxhwlq67"
{"OperationId": "s573v5dr62yee5d7vbfvsy5h65ybxmoh-jossalgs"}
Parfois, les opérations de nettoyage DNS prendront quelques minutes pour se refléter correctement, alors donnez toujours quelques minutes avant de réessayer.
Option 2 -