Как я могу обновить AMI в конфигурации Auto Scaling после обновления кода в экземпляре EC2? Мне не нужно использовать AWS CodeDeploy.
У меня есть простой скрипт, но мне все равно нужно вручную ввести идентификатор изображения:
1) Создайте AMI
aws ec2 create-image --instance-id i-0b09axxx --name "My server" --no-reboot
2) Создайте новую конфигурацию запуска Auto Scaling
aws autoscaling create-launch-configuration --launch-configuration-name "new-launch-configuration-name" --image-id "new-AMI-id"
3) Обновите конфигурацию запуска Auto Scaling с новым AMI
aws autoscaling update-auto-scaling-group --auto-scaling-group-name "current-autoscaling-group-name" --launch-configuration-name "new-launch-configuration-name"
4) Удалите старую конфигурацию запуска автоматического масштабирования.
aws autoscaling delete-launch-configuration --launch-configuration-name "old-launch-configuration-name"
Попробуйте что-то вроде этого (при условии, что вы используете Linux):
#Define parameters
INSTANCE=i-abcd1234
ASG_NAME="current-autoscaling-group-name"
OLD_LC="old-launch-configuration-name"
NEW_LC="new-launch-configuration-name"
# Create AMI
IMAGE=`aws ec2 create-image --instance-id $INSTANCE --name NEW-IMAGE --output text`
# Create Launch Configuration
aws autoscaling create-launch-configuration --launch-configuration-name $NEW_LC --image-id $IMAGE --instance-type t2.micro
# Update Auto Scaling Group to use new Launch Configuration
aws autoscaling update-auto-scaling-group --auto-scaling-group-name $ASG_NAME --launch-configuration-name $NEW_LC
# Delete old Auto Scaling Launch Configuration
aws autoscaling delete-launch-configuration --launch-configuration-name $OLD_LC