Amazon web services 在服务发现命名空间(专用托管区域)中注册AWS ECS任务
我很不擅长使用AWS,但我正在尝试使用新的服务发现机制,在route53中使用私有DNS名称自动设置ECS群集。我可以通过AWS UI单击我的方式来完成显示在私有托管区域中的DNS条目,但我无法找出要添加到JSON中的JSON参数,以便下面的命令完成相同的任务Amazon web services 在服务发现命名空间(专用托管区域)中注册AWS ECS任务,amazon-web-services,dns,amazon-ecs,Amazon Web Services,Dns,Amazon Ecs,我很不擅长使用AWS,但我正在尝试使用新的服务发现机制,在route53中使用私有DNS名称自动设置ECS群集。我可以通过AWS UI单击我的方式来完成显示在私有托管区域中的DNS条目,但我无法找出要添加到JSON中的JSON参数,以便下面的命令完成相同的任务 aws ecs create-service --cli-input-json file://aws/createService.json 下面是createService.json的大致内容 上面提到的 "cluster": "c
aws ecs create-service --cli-input-json file://aws/createService.json
下面是createService.json的大致内容
上面提到的
"cluster": "clustername",
"serviceName": "servicename",
"taskDefinition": "taskname",
"desiredCount": 1,
// here is where I'm guessing there should be some DNS config referencing some
// namespace or similar that I cannot figure out...
"networkConfiguration": {
"awsvpcConfiguration": {
"subnets": [
"subnet-11111111"
],
"securityGroups": [
"sg-111111111"
],
"assignPublicIp": "DISABLED"
}
}
如果有任何想法,我将不胜感激,因为我的谷歌搜索能力显然不足以解决这个问题。非常感谢 事实证明,ecs create service不支持将其添加到服务注册表,即route53专用托管区域。相反,我必须使用
aws servicediscovery创建服务
,然后使用servicediscovery注册实例
,最终在我的私有托管区域中获得一个条目
这成为了一个相当复杂的解决方案,因此我将尝试一下Terraform,因为我发现他们最近添加了对ECS服务发现的支持,并了解这将把我带到哪里…,因为ECS创建服务中不支持将其添加到服务注册中心,即route53私有托管区域。相反,我必须使用
aws servicediscovery创建服务
,然后使用servicediscovery注册实例
,最终在我的私有托管区域中获得一个条目
这成为了一个相当复杂的解决方案,因此我将尝试一下Terraform,因为我发现他们最近增加了对ECS服务发现的支持,并了解这将把我带到哪里…要将ECS服务注册实例自动添加到servicediscovery服务中,您可以使用
ServiceRegisters
属性。将以下内容添加到ECS服务定义json中:
{
...
"serviceRegistries": [
{
"registryArn": "arn:aws:servicediscovery:region:aws_account_id:service/srv-utcrh6wavdkggqtk"
}
]
}
该属性包含自动发现服务的列表,ECS在创建或销毁作为服务一部分的任务时应更新这些服务。使用自动发现服务的ARN引用每个注册表
要获取Arn,请使用AWS cli命令AWS servicediscovery list services
奇怪的是,的文档中不包含有关此属性的信息。但是,这是正确的。要将ECS服务实例自动注册到servicediscovery服务中,您可以使用
ServiceRegisteries
属性。将以下内容添加到ECS服务定义json中:
{
...
"serviceRegistries": [
{
"registryArn": "arn:aws:servicediscovery:region:aws_account_id:service/srv-utcrh6wavdkggqtk"
}
]
}
该属性包含自动发现服务的列表,ECS在创建或销毁作为服务一部分的任务时应更新这些服务。使用自动发现服务的ARN引用每个注册表
要获取Arn,请使用AWS cli命令AWS servicediscovery list services
奇怪的是,的文档中不包含有关此属性的信息。然而,这是真的