shell cloudinit输出显示eipalloc-09 e7274 dd 3c 641 ae 6:值对于基本值太大(错误标记为“09 e7274 dd 3c 641 ae 6”)

izj3ouym  于 2022-11-30  发布在  Shell
关注(0)|答案(1)|浏览(101)

我正在尝试将弹性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`
mklgxw1f

mklgxw1f1#

在bash中定义列表的正确方法是:

EIP_LIST=(eipalloc-05b7bbe1affef1765 eipalloc-0dd1d12d42e2890ab)

EIP_LIST=$[eipalloc-05b7bbe1affef1765,eipalloc-0dd1d12d42e2890ab]

相关问题