我正在使用自动缩放,主节点的所需计数为1。如果实例终止,为了保持高可用性,我们需要将先前终止的实例中的相同EBS卷与新创建的实例相连。
如果在我的AMI上配置了CLI,我尝试了用户数据中的以下每一项,但它不起作用。
#!/bin/bash
EC2_INSTANCE_ID=$(ec2metadata --instance-id)
aws ec2 attach-volume --volume-id vol-777099d8 --instance-id $EC2_INSTANCE_ID --device /dev/sdk
#!/bin/bash
echo "aws ec2 attach-volume --volume-id vol-777099d8 --instance-id $(ec2metadata --instance-id) --device /dev/sdk" > /tmp/xyz.sh
sudo chmod 755 /tmp/xyz.sh
sudo sh /tmp/xyz.sh 2>>
#!/bin/bash
var='ec2 attach-volume --volume-id vol-777099d8 --instance-id $(ec2metadata --instance-id) --device /dev/sdk'
aws "$var"
aws ec2 attach-volume --volume-id vol-777099d8 --instance-id $(ec2metadata --instance-id) --device /dev/sdk
感谢您的帮助!
答案 0 :(得分:0)
它可能无法正常工作,因为EBS卷一次只能附加到单个实例。如果它不起作用,您应该有错误消息以响应CLI命令,以帮助您理解它不起作用的原因,因此请检查实例的日志。
我认为您应该重新审视一下您的架构,因为尝试这样做会给我发送一个红旗。首先,HA架构不应该运行单个实例。当实例按比例放大和缩小时,良好的体系结构将保持HA。如果您有多个实例需要的数据,则应使用S3或EFS存储该数据而不是EBS卷。