Назад | Перейти на главную страницу

Как создать AMI, исключая все подключенные тома для всех экземпляров в VPC, с помощью сценария оболочки

Я написал сценарий, чтобы найти идентификатор экземпляра из VPC n создать AMI для каждого идентификатора экземпляра:

#!/bin/bash
#Script to Automate AMI backup

echo "----------------------------------\n   `date`   \n----------------------------------"

aws ec2 describe-instances --filters Name=vpc-id,Values=vpc-1c927479 |   awk '{ print $8 }' | sort -n   | grep  "i-" > /tmp/instanceid.txt


echo "Starting the Daily AMI creation: "

#To create AMI from instance-id 

for i in $(cat /tmp/instanceid.txt); do
        echo "Creating AMI for Instance id $i ......."

echo "instance-`date +%d%b%y`-$i" > /tmp/aminame.txt

aws ec2 create-image --instance-id $i --name "`cat /tmp/aminame.txt`" --description "This is created by ami-backup.sh" --no-reboot | grep -ir ami | awk '{print $4}' > /tmp/amiID.txt

echo  "AMI Name is: `cat /tmp/aminame.txt`\n"

echo done 

done

Но я хочу создать для создания AMI, исключая прикрепленные тома для каждого тома!

ec2-create-image --block-device-mapping /dev/sdh=none

Это создаст ami без подключенных томов, но / dev / sdh будет отличаться для каждого экземпляра, так как мне автоматизировать эту часть? любой намек!

Команда: $ aws ec2 describe-images --image-ids ami-xxxx | grep "/ dev" | awk '{print $ 2}'

Вывод :

/ dev / sda1

Вот как мы можем найти список подключенных томов и передать его в "ec2-create-image --block-device-mapping / dev / sdh = none"