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

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

2024-12-23 12:40:24作者:宣聪麟

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

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

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

热门内容推荐

最新内容推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
860
511
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
259
300
kernelkernel
deepin linux kernel
C
22
5
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
596
57
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K