【发布时间】:2018-06-01 10:48:02
【问题描述】:
这个让我有点困惑,所以我认为它可能值得在这里发布。
为了进行备份,我正在尝试定期拍摄 Amazon EC2 实例的快照。值得庆幸的是,一些非常聪明的人已经编写了一个相当不错的 shell 脚本来执行此操作:https://github.com/colinbjohnson/aws-missing-tools/tree/master/ec2-automate-backup
这背后的想法是它使用 Amazon AWS CLI 工具调用 Amazon 并触发给定卷的快照。从理论上讲,这很好用,但是我遇到了一个奇怪的问题。
上面的脚本进行以下调用:
aws ec2 describe-volumes
这应该返回亚马逊卷的列表。但是,它失败并出现以下错误:
HTTPSConnectionPool(host='ec2.us-west2a.amazonaws.com', port=443): Max retries exceeded with url: / (Cuased by <class 'socket.gaierror'>: [Errno -2] Name or service not known)
我明白为什么会抛出此错误:ec2.us-west2a.amazonaws.com 端点不是有效端点。它应该是 ec2.us-west2.amazonaws.com(“west2”之后没有“a”)。尽管在 shell 脚本中四处寻找,但我终其一生都无法弄清楚 aws ec2 describe-volumes 调用实际上是从哪里获取端点的。如果我运行命令:
ec2-describe-volumes
我得到一个有效的卷列表,包括我正在尝试备份的卷。在我的 ~/.profile 中,我已经正确设置了我的 EC2_URL、EC2_REGION 环境变量并确保重新加载它们,但仍然出现上述错误。
谁能告诉我“aws ec2 describe-volumes”实际上在哪里获取端点?
【问题讨论】:
标签: shell amazon-web-services amazon-ec2 backup