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

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

2024-12-14 13:52:05作者:宣聪麟

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. 项目安装方式

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

热门项目推荐
相关项目推荐

项目优选

收起
Python-100-DaysPython-100-Days
Python - 100天从新手到大师
Python
610
115
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
286
79
mdmd
✍ WeChat Markdown Editor | 一款高度简洁的微信 Markdown 编辑器:支持 Markdown 语法、色盘取色、多图上传、一键下载文档、自定义 CSS 样式、一键重置等特性
Vue
111
25
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
60
48
RuoYi-Cloud-Vue3RuoYi-Cloud-Vue3
🎉 基于Spring Boot、Spring Cloud & Alibaba、Vue3 & Vite、Element Plus的分布式前后端分离微服务架构权限管理系统
Vue
45
29
go-stockgo-stock
🦄🦄🦄AI赋能股票分析:自选股行情获取,成本盈亏展示,涨跌报警推送,市场整体/个股情绪分析,K线技术指标分析等。数据全部保留在本地。支持DeepSeek,OpenAI, Ollama,LMStudio,AnythingLLM,硅基流动,火山方舟,阿里云百炼等平台或模型。
Go
1
0
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
205
57
MateChatMateChat
前端智能化场景解决方案UI库,轻松构建你的AI应用,我们将持续完善更新,欢迎你的使用与建议。 官网地址:https://matechat.gitcode.com
376
36
RuoYi-VueRuoYi-Vue
🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本
Java
182
44
frogfrog
这是一个人工生命试验项目,最终目标是创建“有自我意识表现”的模拟生命体。
Java
8
0