이 블로그 포스트는 책 '서비스 운영이 쉬워지는 AWS 인프라 구축 가이드' 5장 실습 내용을 기반으로 합니다.
aws cli를 사용한 부분은 책의 내용이 아닙니다.
ami 만드는 명령어:
https://docs.aws.amazon.com/cli/latest/reference/ec2/create-image.html
aws ec2 create-image --instance-id 블루_ami--name "blue ami" --description "blue ami"
aws ec2 create-image --instance-id 그린_ami --name "green ami" --description "green ami"
블루 ami에는 옛날 코드가 들어가 있고, 그린 ami에는 새로운 코드가 들어가 있습니다.
launch template을 만드는 명령어:
https://docs.aws.amazon.com/cli/latest/reference/ec2/create-launch-template.html
aws ec2 create-launch-template \
--launch-template-name 블루_launch_template \
--launch-template-data '{"ImageId": "블루_ami_id","SecurityGroupIds":["알맞는_security_group"],"KeyName": "ssh_접속을_위한_키_이름","InstanceType":"알맞는_인스턴스_타입"}'
https://docs.aws.amazon.com/cli/latest/reference/autoscaling/create-auto-scaling-group.html
aws autoscaling create-auto-scaling-group --auto-scaling-group-name 블루_auto_scaling_group \
--launch-template LaunchTemplateId=블루_launch_template_id\
--min-size 0 --max-size 0 \
--availability-zones 알맞는_존(ex: ap-northeast-2c)
aws autoscaling create-auto-scaling-group --auto-scaling-group-name 그린_auto_scaling_group \
--launch-template LaunchTemplateId=그린_launch_template_id\
--min-size 0 --max-size 0 \
--availability-zones 알맞는_존(ex: ap-northeast-2c)
https://docs.aws.amazon.com/cli/latest/reference/autoscaling/update-auto-scaling-group.html
aws autoscaling update-auto-scaling-group \
--auto-scaling-group-name 블루_auto_scaling_group \
--min-size 1 --max-size 1 --desired-capacity 1
aws autoscaling update-auto-scaling-group \
--auto-scaling-group-name 그린_auto_scaling_group \
--min-size 1 --max-size 1 --desired-capacity 1
https://docs.aws.amazon.com/cli/latest/reference/autoscaling/attach-load-balancer-target-groups.html
aws autoscaling attach-load-balancer-target-groups \
--auto-scaling-group-name 블루_auto_scaling_group \
--target-group-arns target_group_주소
aws autoscaling attach-load-balancer-target-groups \
--auto-scaling-group-name 그린_auto_scaling_group \
--target-group-arns target_group_주소
https://docs.aws.amazon.com/cli/latest/reference/autoscaling/detach-load-balancer-target-groups.html
aws autoscaling detach-load-balancer-target-groups \
--auto-scaling-group-name 블루_auto_scaling_group \
--target-group-arns taget_group_주소