amazon-web-services - Route53,AWS-CLI:使用 aws-cli 添加别名
问题描述
我有一个要求,Kubernetes 服务正在为我们生成一个带有 DNS 名称的 ELB。我将其添加为 A 的别名,与 CNAME 相比,它提供了更快的 DNS 传播。我想通过 shell 脚本自动添加条目,但它不起作用,我收到如下所述的错误。请注意,所有电子
错误日志:
An error occurred (InvalidChangeBatch) when calling the ChangeResourceRecordSets operation: [Tried to create an alias that targets dualstack.AXXXXXXXXX-46346364.eu-central-1.elb.amazonaws.com., type A in zone Z0jshgdjhdg, but the alias target name does not lie within the target zone, Tried to create an alias that targets dualstack.asdgdfhgdfh-56767687.eu-central-1.elb.amazonaws.com., type A in zone Z0XXXXX, but that target was not found]
使用的命令:
aws route53 change-resource-record-sets --hosted-zone-id /hostedzone/Z0XXXXXXX --change-batch '{"Changes": [ { "Action": "UPSERT", "ResourceRecordSet": { "Name": "test.dev.domain.com", "Type": "A", "AliasTarget":{ "HostedZoneId": "Z0XXXXX","DNSName": "aesdgdfg-46456.eu-central-1.elb.amazonaws.com","EvaluateTargetHealth": false} } } ]}'
我究竟做错了什么?
托管区域按要求:
解决方案
根据评论。
该问题是由于HostedZoneId
在AliasTarget
. 正确的是HostedZoneId
与您的 ALB 相关联。它可以在 EC2 控制台Description
的 ALB选项卡中的Hosted zone
选项下找到。
该命令应使用两个 HostedZoneId:
aws route53 change-resource-record-sets \
--hosted-zone-id /hostedzone/<zone-id-from-route53>\
--change-batch \
'{"Changes": [ { "Action": "UPSERT", "ResourceRecordSet": { "Name": "test.dev.domain.com", "Type": "A", "AliasTarget":{ "HostedZoneId": "<zone-id-of-ALB>","DNSName": "aesdgdfg-46456.eu-central-1.elb.amazonaws.com","EvaluateTargetHealth": false} } } ]}'
推荐阅读
- typescript - 从数组文字推断类型
- python - AWS Elastic Beanstalk Django 项目 502 nginx/1.20.0
- angular - 从服务链接到 http.post 订阅的组件时出错
- typescript - 在 URQL 客户端中添加订阅时出现 Web 套接字问题
- nginx - 如果创建了另一个资源,则自动更新 Kubernetes 资源
- reactjs - Bold Commerce 产品和订阅组连接
- highcharts - 使用 HighCharts 库的饼图切片半径
- regex - 单个正则表达式和组匹配(命名组)飞镖
- python - 从文件python中的字符串中删除双引号
- html - 为什么页面上会出现垂直滚动条?