我有一个lambda支持的API网关,我部署在两个地区。 这两个API是完全相同的。 我有两个不同的url
* .execute-api.us-east-1.amazonaws.com * .execute-api.eu-west-1.amazonaws.com
我的想法是在两个地区定义相同的自定义域,并使用Route53地理定位function,为用户提供最近区域的api。 但是,在一个区域中定义自定义URL之后,当我尝试在第二个区域中定义时,出现错误,说明此域已在另一个Cloudfront分发中定义。
这是一个错误,或者我可以采用哪种策略来进行API网关的多区域部署。
谢谢。
不幸的是,这是不可能的 。 这里主要的阻止者是CloudFront。 MikeD @ AWS在他们的论坛上提供信息:
创build自定义域名时,会为域名创build关联的CloudFront分配,而CloudFront将在域名上强制实施全球唯一性。
如果具有域名的CloudFront分配已经存在,则CreateCloudFrontDistribution将失败,并且API网关将返回一个错误,但不保存域名或允许您定义其关联的API。
因此,目前(2016年6月29日)没有办法在多个地区获得API网关来处理相同的域名。
自从2016年7月4日确认存在开放function请求以来,AWS没有提供必要的更新.AWS 表单线程用于更新
我们解决这个问题的方式实际上是以云端为前沿的。 然后在云端,您将两个端点都作为起点添加。
我有几个想法。
如上所述,CloudFront无法与CloudFront进行负载平衡。 所以你的select似乎是