繁体   English   中英

如何通过aws cli删除Route53中的一条DNS记录?

[英]How to delete a DNS record in Route53 via aws cli?

我正在使用 aws cli 在 Route 53 中创建和删除 DNS 记录。我不确定必须使用的负载或命令。 根据此链接,我创建了此有效负载,但它不起作用。 有效载荷是

{
"Comment": "Delete single record set",
"Changes": [
    {
        "Action": "DELETE",
        "ResourceRecordSet": {
            "Name": "$DNS_NAME.",
            "Type": "$RECORD_TYPE",
            "TTL": $TTL,
            "ResourceRecords": [
                {
                    "Value": "${RESOURCE_VALUE}"
                }
            ]                
        }
    }
]

}

我在一个名为 payload 的变量中处理了 AWS cli 命令是

aws route53 change-resource-record-sets --hosted-zone-id ${HOSTED_ZONE_ID} --change-batch payload

知道我做错了什么吗? 谁能确认命令和有效载荷是否正确?

将有效负载保存到 json 文件中并输入文件名。 使用 file:// 协议来引用有效负载路径。

aws route53 change-resource-record-sets --hosted-zone-id ZSDAGFDG35GS --change-batch file://tmp/payload.json

我设法使用命令和 json 内联删除了 DNS ResourceRecords 名称:

aws route53 change-resource-record-sets --hosted-zone-id XXXXXXXXYYY --change-batch "{\"Changes\": [{\"Action\": \"DELETE\",\"ResourceRecordSet\": {\"Name\": \"app.my-test.com.\",\"Type\": \"A\",\"AliasTarget\": {\"HostedZoneId\": \"xxxxyyyyzzzwww\",\"DNSName\": \"my-test-elb-xxxxxx.region.elb.amazonaws.com.\",\"EvaluateTargetHealth\": true}}}]}"

我有一个使用更改值的模板playload.json.tmpl

cat playload.json.tmpl 
{
    "Comment": "some comment here",
    "Changes": [
        {
            "Action": "TEMPLATE_ACTION",
            "ResourceRecordSet": {
                "Name": "TEMPLATE_CName_Name",
                "Type": "CNAME",
                "TTL": 300,
                "ResourceRecords": [
                    {
                        "Value": "TEMPLATE_CName_Value"
                    }
                ]
            }
        }
    ]
}

然后我可以使用sed命令替换playload.json.tmplvalues注意:删除记录集使用DELETE操作

sed \
-e "s%TEMPLATE_ACTION%DELETE%g" \
-e "s%TEMPLATE_CName_Name%$(echo $CName_Name)%g" \
-e "s%TEMPLATE_CName_Value%$(echo $CName_Value)%g" \
./playload.json.tmpl > ./playload.json

然后,如果您的文件具有DELETE操作,您可以使用 AWS CLI 删除记录集

aws route53 change-resource-record-sets --hosted-zone-id $DefaultHostedZoneId --change-batch file://playload.json

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM