微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 AWS CloudFormation 中编写基于延迟的 Route 53 别名记录集资源

如何解决如何在 AWS CloudFormation 中编写基于延迟的 Route 53 别名记录集资源

根据此 AWS 文档 this AWS document,我可以创建别名为应用程序负载均衡器的基于延迟的资源记录,但在我可以定义延迟的语法中没有看到路由策略选项。

以下是我在 Route 53 控制台中来自同一应用程序的两个不同区域的示例记录集。由于它是别名记录,我的理解是我不需要使用健康检查配置。我可以改为启用评估目标健康

对于 us-east-1:

  • 记录名称 mywebsite.example.com
  • 记录类型: A
  • 别名:
  • 将流量路由到: 应用程序和 Classic Load Balancer 的别名
    美国东部(东弗吉尼亚州)[us-east-1]
    dualstack.internal-mywebsite-alb-1234567890.us-east-1.elb.amazonaws.com。
  • 路由政策:延迟
  • 区域:美国东部(东弗吉尼亚)
  • 健康检查:可选(无)
  • 评估目标健康状况:
  • 记录 ID: us-east-1-mywebsite-alb

对于 us-west-2:

  • 记录名称 mywebsite.example.com
  • 记录类型: A
  • 别名:
  • 将流量路由到: 应用程序和 Classic Load Balancer 的别名
    美国西部(俄勒冈)[us-west-2]
    dualstack.internal-mywebsite-alb-1234567890.us-west-2.elb.amazonaws.com。
  • 路由政策:延迟
  • 区域:美国西部(俄勒冈)
  • 健康检查:可选(无)
  • 评估目标健康状况:
  • 记录 ID: us-west-2-mywebsite-alb

如何将它们转换为 CloudFormation 资源?资源的完整片段将非常有用。

更新:

我尝试了以下但没有奏效:

Resources:
  TestDevALB:
    Type: AWS::ElasticLoadBalancingV2::LoadBalancer
    Properties:
      Type: application
      Scheme: internal
      # LoadBalancerAttributes:
      subnets:
        - subnet-1111abcd2222abcde
        - subnet-2222abcd3333abcde
      SecurityGroups:
        - sg-1111abcd2222abcde

AlbDnsRecordSet:
  Type: AWS::Route53::RecordSet
  Properties:
    HostedZoneId: ABCD1234EFGH5678IJKL
    Name: testdev.example.com
    Type: A
    AliasTarget:
      HostedZoneId: !GetAtt 'TestDevALB.CanonicalHostedZoneID'
      DNSName: !GetAtt 'TestDevALB.DNSName'
    Region: us-west-2

我收到错误An error occurred (ValidationError) when calling the CreateStack operation: Invalid template property or properties [AlbDnsRecordSet]

更新 2: 上述错误是由于缩进。我也添加了目标健康检查。以下工作。谢谢@marcin。

Resources:
  TestDevALB:
    Type: AWS::ElasticLoadBalancingV2::LoadBalancer
    Properties:
      Type: application
      Scheme: internal
      # LoadBalancerAttributes:
      subnets:
        - subnet-1111abcd2222abcde
        - subnet-2222abcd3333abcde
      SecurityGroups:
        - sg-1111abcd2222abcde

  AlbDnsRecordSet:
    Type: AWS::Route53::RecordSet
    Properties:
      HostedZoneId: ABCD1234EFGH5678IJKL
      Name: testdev.example.com
      Type: A
      AliasTarget:
        HostedZoneId: !GetAtt 'TestDevALB.CanonicalHostedZoneID'
        DNSName: !GetAtt 'TestDevALB.DNSName'
        EvaluateTargetHealth: true
      Region: us-west-2
      SetIdentifier: TestDev-uswest2

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。