在多区域环境下的CloudMap中注册ECS服务



AWS ECS允许新服务自动使用服务发现,如文档中所述:

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-configure-servicediscovery.html

如果我理解正确的话,在服务实例注册到CloudMap之前,应该总是有一个命名空间和一个在CloudMap中创建的服务。注册后,可以使用DNS记录来发现服务实例,这些记录保存在Route 53中,Route 53是一个全局服务。命名空间有自己的专用区域,来自与该区域相关联的VPC的应用程序可以查询记录并发现所需的服务,无论它们位于哪个区域。

然而,如果我理解正确的话,CloudMap资源本身就是区域

让我们考虑以下场景:在区域a中定义了CloudMap命名空间和服务X。出于冗余原因,我希望服务X的实例在区域a运行,但也在区域B中运行。然而,在ECS中配置服务发现时,不可能使用区域a中的命名空间。

如何在多区域环境中使用CloudMap服务发现?是否应在两个区域中创建相应的名称空间?

冗余可以在单个区域内构建。我还没有看到监管机构对单个地区的多个可用区的期望值超过其期望值,但如果您仍然想实现您的要求,您需要执行某种VPC网络对等:https://docs.aws.amazon.com/vpc/latest/peering/peering-scenarios.html#peering-场景完整

不过,我对Cloud Map在这种情况下的行为没有任何经验。假设DNS解析是可能的,它应该仍然有效。但是,当在每个地区使用aws服务时,针对特定地区的api,aws服务是最好的(更便宜、更稳定、延迟更低(https://docs.aws.amazon.com/general/latest/gr/cloud_map.html

最新更新