路由53不同API网关自定义域上的DNS路由



例如,我有2个API网关,它们具有在2个不同区域工作的不同自定义域,

NA:

  • 自定义域名:us.api.example.com
  • API网关域名:APIGateway1.execute-API.us-west-2.amazonaws.com

欧盟:

  • 自定义域名:eu.api.example.com
  • API网关域名:APIGateway2.execute-API.eu-west-2.amazonaws.com

对于每个自定义域,我按照aws文档创建了带有简单路由策略的A类记录

NA:

  • 记录名称:us.api.example.com
  • 类型:A
  • 路由策略:简单
  • 价值/路线流量:APIGateway1.execute-api.us-west-2.amazonaws.com

欧盟:

  • 记录名称:eu.api.example.com
  • 类型:A
  • 路由策略:简单
  • 价值/路线流量:APIGateway2.execute-api.eu-west-2.amazonaws.com

他们都工作得很好

现在我想做一个地理定位DNS路由像:

NA:

  • 记录名称:us.api.example.com
  • 类型:A
  • 路由策略:地理位置
  • 价值/路线流量:APIGateway1.execute-api.us-west-2.amazonaws.com
  • 地点:NA
  • 记录名称:us.api.example.com
  • 类型:A
  • 路由策略:地理位置
  • 价值/路线流量:APIGateway2.execute-api.us-west-2.amazonaws.com
  • 地点:欧盟

基本上将流量从us.api.example.com路由到欧盟客户端的APIGateway2。这打破了";您要将流量路由到的API必须包括一个自定义域名,如API.example.com,该域名与路由53记录的名称"匹配;本文件中提到:https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-api-gateway.html

想得到一些帮助和建议,看看不同API网关自定义域上的路由53 DNS路由是否真的无法实现?

我认为技巧是使用通配符自定义域:如果您的2个API网关位于不同的AWS区域,则此操作有效:

美国上一代中的APIG1(或APIG2以外的任何东西(:

  • 自定义域名:*.my.api.com

美国测试-2中的APIG2(或APIG1以外的任何东西(:

  • 自定义域名:*.my.api.com

两个自定义域都应该提供一个允许所有预期子域的证书。您也可以使用通配符证书*.my.api.com

那么您已经托管了区域my.api.com

  • CNAME记录us-east-1.my.api.com->APIG1的终点
  • CNAME记录us-west-2.my.api.com->APIG2的终点我用循环法进行了测试,它有效:
  • CNAME记录round-robin.my.api.com->us-east-1.my.api.com(重量x(CNAME记录
  • round-robin.my.api.com->us-west-2.my.api.com(重量y(

我想如果你做地理路由,它也会起作用。

不幸的是,如果您在同一个AWS区域中有多个APIG,这将不起作用,因为通配符域名是区域性的,并且每个区域必须是唯一的。我们仍在寻求帮助

相关内容

  • 没有找到相关文章

最新更新