我正在尝试将弹性IP地址与自动扩展组关联,因此每当自动扩展触发时,它都会自动与EIP关联。
为此,我尝试在用户数据中添加脚本。
我的意图是我们有2台服务器,因此它与2个EIP相关联,每当自动扩展触发时,它必须检查EIP是否空闲,如果空闲,它必须使用示例ID与该示例相关联。
下面是我的脚本,我在其中得到的错误
我在cloudinit日志中遇到此错误eipalloc-09 e7274 dd 3c 641 ae 6:对于行EIP_LIST=$[eipalloc-05 b7 bbe 1affef 1765,eipalloc-0 dd 1d 12 d42 e2890 ab]而言,值对于基本值太大(错误标记为“09 e7274 dd 3c 641 ae 6”)
`echo "Testing EIP automation"
INSTANCE_ID=$(ec2-metadata --instance-id | cut -d " " -f 2);
MAXWAIT=10
# Get list of EIPs
EIP_LIST=$[eipalloc-05b7bbe1affef1765,eipalloc-0dd1d12d42e2890ab]
# Iterate over EIP list
for EIP in $${EIP_LIST}; do
echo "Checking if EIP with ALLOC_ID[$EIP] is free...."
ISFREE=$(aws ec2 describe-addresses --allocation-ids $EIP --query Addresses[].InstanceId --output text --region ap-south-1)
STARTWAIT=$(date +%s)
while [ ! -z "$ISFREE" ]; do
if [ "$(($(date +%s) - $STARTWAIT))" -gt $MAXWAIT ]; then
echo "WARNING: We waited 30 seconds, we're forcing it now."
ISFREE=""
else
echo "Waiting for EIP with ALLOC_ID[$EIP] to become free...."
sleep 3
ISFREE=$(aws ec2 describe-addresses --allocation-ids $EIP --query Addresses[].InstanceId --output text --region ap-south-1)
fi
done
echo Running: aws ec2 associate-address --instance-id $INSTANCE_ID --allocation-id $EIP --allow-reassociation --region ap-south-1
aws ec2 associate-address --instance-id $INSTANCE_ID --allocation-id $EIP --allow-reassociation --region ap-south-1`
1条答案
按热度按时间mklgxw1f1#
在bash中定义列表的正确方法是:
无