首页
/ cli53 - 亚马逊Route 53的命令行工具

cli53 - 亚马逊Route 53的命令行工具

2024-12-23 04:15:01作者:宣聪麟

1. 安装指南

cli53的安装非常简单,只需从GitHub发布页面下载对应的二进制文件(提供Linux、Mac和Windows的构建版本):

$ sudo mv cli53-my-platform /usr/local/bin/cli53
$ sudo chmod +x /usr/local/bin/cli53

在Mac上,您也可以使用homebrew进行安装:

$ brew install cli53

配置您的亚马逊凭证,可以将它们放在~/.aws/credentials文件中:

[default]
aws_access_key_id = AKID1234567890
aws_secret_access_key = MY-SECRET-KEY

或者设置环境变量:AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY

您可以通过传递--profile参数或设置环境变量AWS_PROFILE在不同的凭证集之间切换。

例如:

cli53 list --profile my_profile

您还可以通过传递--role-arn参数来承担特定的角色。

例如:

cli53 list --role-arn arn:aws:iam::123456789012:role/myRole

您可以结合使用角色和配置文件。

例如:

cli53 list --profile my_profile --role-arn arn:aws:iam::123456789012:role/myRole

有关更多信息,请参阅:AWS SDKs中管理和凭证的新方法和标准化

注意:在Docker的Alpine上,预构建的二进制文件无法工作,因此请使用Debian,或者按照以下说明从源代码构建。

2. 项目的使用说明

cli53提供了从BIND格式导入和导出以及简单的命令行管理Route 53域的功能。

特性:

  • 从BIND格式导入和导出

  • 创建、删除和列出托管区域

  • 创建、删除和更新单个记录

  • 创建AWS扩展:故障转移、地理定位、延迟、加权以及ALIAS记录

  • 创建、删除和使用可重用委托集

以下是cli53的一些使用示例:

创建托管区域:

$ cli53 create example.com --comment '我的第一个区域'

检查我们做了什么:

$ cli53 list

列出也支持其他输出格式(例如json,用于脚本中使用jq):

$ cli53 list -format json | jq .[].Name

导入BIND区域文件:

$ cli53 import --file zonefile.txt example.com

替换导入的区域,并等待完成:

$ cli53 import --file zonefile.txt --replace --wait example.com

也可以进行“干运行”导入,以检查将会发生什么:

$ cli53 import --file zonefile.txt --replace --wait --dry-run example.com

向上更新导入的区域(替换现有记录并添加新记录,不删除):

$ cli53 import --file zonefile.txt --upsert example.com

验证区域文件语法:

$ cli53 validate --file zonefile.txt

创建一个A记录,指向192.168.0.1,TTL为60秒:

$ cli53 rrcreate example.com 'www 60 A 192.168.0.1'

更新此A记录以指向192.168.0.2:

$ cli53 rrcreate --replace example.com 'www 60 A 192.168.0.2'

删除A记录:

$ cli53 rrdelete example.com www A

创建MX记录:

$ cli53 rrcreate example.com '@ MX 10 mail1.' '@ MX 20 mail2.'

创建一个轮询A记录:

$ cli53 rrcreate example.com '@ A 127.0.0.1' '@ A 127.0.0.2'

对于CNAME记录,相对域名没有尾随点,但绝对域名应该有:

$ cli53 rrcreate example.com 'login CNAME www'
$ cli53 rrcreate example.com 'mail CNAME ghs.googlehosted.com.'

导出为BIND区域文件(用于备份!):

$ cli53 export example.com

将完全限定域名(而不是仅前缀)导出到stdout,并将AWS调试日志发送到stderr

$ cli53 export --full --debug example.com > example.com.txt 2> example.com.err.log

创建一些加权记录:

$ cli53 rrcreate --identifier server1 --weight 10 example.com 'www A 192.168.0.1'
$ cli53 rrcreate --identifier server2 --weight 20 example.com 'www A 192.168.0.2'

创建指向ELB的别名:

$ cli53 rrcreate example.com 'www AWS ALIAS A dns-name.elb.amazonaws.com. ABCDEFABCDE false'

创建指向A记录的别名:

$ cli53 rrcreate example.com 'www AWS ALIAS A server1 $self false'

创建指向CNAME的别名:

$ cli53 rrcreate example.com 'docs AWS ALIAS CNAME mail $self false'

创建一些地理定位记录:

$ cli53 rrcreate -i Africa --continent-code AF example.com 'geo 300 IN A 127.0.0.1'
$ cli53 rrcreate -i California --country-code US --subdivision-code CA example.com 'geo 300 IN A 127.0.0.2'

创建一个主/次健康检查记录对:

$ cli53 rrcreate -i Primary --failover PRIMARY --health-check 2e668584-4352-4890-8ffe-6d3644702a1b example.com 'ha 300 IN A 127.0.0.1'
$ cli53 rrcreate -i Secondary --failover SECONDARY example.com 'ha 300 IN A 127.0.0.2'

创建一个带有健康检查的多值记录:

$ cli53 rrcreate -i One --multivalue --health-check 2e668584-4352-4890-8ffe-6d3644702a1b example.com 'ha 300 IN A 127.0.0.1'
$ cli53 rrcreate -i Two --multivalue --health-check 7c90445d-ad67-47bd-9649-3ca0985e1f88 example.com 'ha 300 IN A 127.0.0.2'

创建、列出然后删除一个可重用委托集:

$ cli53 dscreate
$ cli53 dslist
$ cli53 dsdelete NA24DEGBDGB32

更多文档,请参考:

$ cli53 --help
$ cli53 rrcreate --help

3. 项目API使用文档

cli53的命令行界面是其主要的API。每个命令都有相应的参数和选项,可以通过--help参数获得详细的使用说明。

例如,要获取rrcreate命令的帮助信息:

$ cli53 rrcreate --help

4. 项目安装方式

请参考“安装指南”部分获取详细的安装步骤。

登录后查看全文
热门项目推荐
相关项目推荐