问题描述
在创建Amazon Web Services(AWS)的启动配置时,尝试在用户数据中编写一个shell脚本来创建EBS卷。用户认为自己的bash脚本没有问题。用户在AWS网站上查找了创建启动配置和编写用户数据的相关信息,但没有找到比自己做的更多的内容。用户使用了预先构建了AWS CLI的Amazon Linux 2 AMI作为启动配置。用户在用户数据中编写了以下代码:
#!/bin/bash
aws ec2 create-volume \
--volume-type gp2 \
--size 100 \
--encrypted \
--availability-zone us-east-1c
aws ec2 create-volume \
--volume-type gp2 \
--size 100 \
--encrypted \
--availability-zone us-east-1d
用户尝试在两个可用区创建EBS卷,但是却发现没有创建任何卷。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
在解决这个问题之前,有几个可能的原因需要检查:
1. 确保EC2实例具有创建卷的权限。可以参考这里了解如何为EC2实例分配角色。
2. 检查/var/log/cloud-init-output.log
和/var/log/cloud-init.log
中的错误信息。这些日志文件会提供更详细的信息。
3. 注意,你不能将其他可用区的卷附加到你的EC2实例上,所以不太清楚为什么你要在启动脚本中创建它们。
4. 根据评论中的建议,指定区域:aws --region us-east-1 ec2 create-volume ...
希望这些解决方案能帮到你。如果还有其他问题,请随时提问。
正文完