暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

AWS 私有DNS设定介绍

943

背景介绍
因为涉及到mysql的MHA切换,目前考虑的方案是服务端配置连接直接使用域名操作数据库,这样后端MHA切换转移,无需修改连接配置。
应用此场景,需要在MHA切换过程中进行域名的绑定更改。
公司目前使用的是AWS机器自建,咨询后了解到私有域名的如下更新操作。

前期准备

  • 运维开通AWS IAM账号授权操作aws route53

  • 在服务器安装awscli 工具并进行基础账号配置,参考指令如下

shell
--- 下载并安装awscli
curl "https://d1vvhvl2y92vvt.cloudfront.net/awscli-exe-linux-x86_64.zip" -o
"awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

aws --version --验证安装成功
aws configure --进行控制台登录配置(运维提供认证信息)

aws route53 指令介绍

  • aws route53 list-resource-record-sets --hosted-zone-id xxxxxx — 显示route53服务的资源组信息
  • aws route53 change-resource-record-sets --hosted-zone-id xxxxxxx --change-batch file://xxxxxxx
    操作具体DNS 绑定信息,具体操作行为在file的json文档中指定,注意 file:// 固定开头,后面写文档的绝对路径(如/tmp/route53_changes.json)

快速切换脚本

shell
#!/bin/bash

#Variable Declaration - Change These
# HOSTED_ZONE_ID事先确认固定不变,由运维提供
HOSTED_ZONE_ID="xxxxxxxxxxxx"
NAME=$1
IP=$2
TYPE="A"
TTL=5

rm -f /tmp/route53_changes.json
#prepare route 53 payload
cat > /tmp/route53_changes.json << EOF
    {
      "Comment":"Updated From DDNS Shell Script",
      "Changes":[
        {
          "Action":"UPSERT",
          "ResourceRecordSet":{
            "ResourceRecords":[
              {
                "Value":"$IP"
              }
            ],
            "Name":"$NAME",
            "Type":"$TYPE",
            "TTL":$TTL
          }
        }
      ]
    }
EOF

#update records
aws route53 change-resource-record-sets --hosted-zone-id $HOSTED_ZONE_ID --change-batch file:///tmp/route53_changes.json >> /dev/null

执行指令 sh changeDNS.sh 具体的dns名称 想要切换到的目标IP地址
即可完成域名和ip的切换绑定

参考链接

如何使用 AWS CLI 在 Amazon Route 53 中创建简单的资源记录集?

How to Roll Your Own Dynamic DNS with AWS Route 53

最后修改时间:2021-08-27 14:45:31
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论