AWS创建失败:服务已存在。 (服务:AWSServiceDiscovery;状态代码:400;错误代码:ServiceAlreadyExists;请求ID)

时间:2018-11-19 07:41:49

标签: amazon-web-services amazon-ec2 amazon amazon-ecs

我是aws的新手,在尝试在ECS群集中创建EC2服务时遇到了一些问题。

我能够在cluster1中成功创建一个全新的服务(service1),但是之后,我决定删除cluster1并创建cluster2。当我尝试在cluster2中重新创建service1时出现了问题。每当我尝试添加服务时,都会出现以下错误

creation failed: Service already exists. (Service: AWSServiceDiscovery; Status Code: 400; Error Code: ServiceAlreadyExists; Request ID: d854025e-ebcc-11e8-84ab-b3bac906f2ef)

有人知道如何解决此问题吗?我曾尝试注销任务定义,但没有成功。 cluster1已被删除,并且cluster2中没有任何服务

2 个答案:

答案 0 :(得分:8)

这里是完整答案。创建AWS ECS服务时,还为其选择了可选的ServiceDiscovery,它在Route53中创建了名称空间(.local)和服务(与ECS服务同名)。

删除ECS服务和群集时,它不会自动删除Route53名称空间/服务条目。现在,由于新的ECS服务与ServiceDiscovery服务具有相同的名称,因此出现Service already exists错误。您有3个选择。 1.清理Route53命名空间和服务。 2.如果要继续使用ServiceDiscovery功能,请重新使用Route53服务。 3.创建ECS服务时,请勿启用服务发现集成。

选项1 -

  

{       “服务”: [           {               “ Id”:“ srv-x4acveybedar32mv”,               “ Arn”:“ arn:aws:servicediscovery:us-east-1:1234567890:service / srv-x4acveybedar32mv”,               “名称”:“ nginx”           }       ]}

  • aws servicediscovery list-namespaces
  

{       “命名空间”:[           {               “ Id”:“ ns-3yd7pskwsxhwlq67”,               “ Arn”:“ arn:aws:servicediscovery:us-east-1:1234567890:namespace / ns-3yd7pskwsxhwlq67”,               “名称”:“本地”,               “类型”:“ DNS_PRIVATE”           }       ]}

  • 首先使用命令删除服务。 aws servicediscovery delete-service --id "srv-x4acveybedar32mv"。结果是来自CLI的空响应。
  • 使用命令删除名称空间。 aws servicediscovery delete-namespace --id "ns-3yd7pskwsxhwlq67"
  

{       “ OperationId”:“ s573v5dr62yee5d7vbfvsy5h65ybxmoh-jossalgs”}

  • 仅此而已。现在,您可以重新创建所需的ECS服务。

注意-

有时候,DNS清理操作需要花费几分钟才能正确反映出来,因此在重试之前通常只花几分钟。

选项2 -

  • 通过选择退出而不是使用相同的名称来重新使用Route53服务。

enter image description here

答案 1 :(得分:0)

应该从 AWS Cloud Map 服务中删除。 使用AWS Cloud Map的ECS服务发现(基于DNS)。

此问题的用例。使用服务发现(基于DNS),在不删除服务发现的情况下删除ECS服务(在未设置控制台的复选框中,用于从DNS专用区域中删除整个复选框)。 尝试创建具有现有整体的服务。

AWS Cloud Map管理服务发现(和DNS专用区域)。

步骤:
1.转到AWS Cloud Map enter image description here
2.删除enter image description here

处的输入图像描述。