instanceType の変更
備忘録
STEP01: instanceType の確認
date; aws ec2 describe-instance-attribute --instance-id $(aws ec2 describe-tags --query 'Tags[?ResourceType == `instance` && Key == `Name` && Value == `DockerBuildMachine`].ResourceId' --output text) --attribute instanceType
STEP02: InstanceState の確認
date; aws ec2 describe-instances --instance-id $(aws ec2 describe-tags --query 'Tags[?ResourceType == `instance` && Key == `Name` && Value == `DockerBuildMachine`].ResourceId' --output text) --query 'Reservations[].Instances[].{InstanceState:State.Name}'
STEP03: instance 停止
date; aws ec2 stop-instances --instance-id $(aws ec2 describe-tags --query 'Tags[?ResourceType == `instance` && Key == `Name` && Value == `DockerBuildMachine`].ResourceId' --output text)
STEP04: AMI作成
date; aws ec2 create-image --instance-id $(aws ec2 describe-tags --query 'Tags[?ResourceType == `instance` && Key == `Name` && Value == `DockerBuildMachine`].ResourceId' --output text) --name DockerBuildMachine-20220311
STEP05: AMIにタグ埋め込み
date; aws ec2 create-tags --resources $(aws ec2 describe-images --owners self --filters "Name=name,Values=DockerBuildMachine-20220311" --query 'Images[*].{ID:ImageId}' --output text) --tags Key=Name,Value="DockerBuildMachine-20220311"
STEP06: instanceType の変更
date; aws ec2 modify-instance-attribute --instance-id $(aws ec2 describe-tags --query 'Tags[?ResourceType == `instance` && Key == `Name` && Value == `DockerBuildMachine`].ResourceId' --output text) --attribute instanceType --value t2.micro
STEP07: instanceType の確認
date; aws ec2 describe-instance-attribute --instance-id $(aws ec2 describe-tags --query 'Tags[?ResourceType == `instance` && Key == `Name` && Value == `DockerBuildMachine`].ResourceId' --output text) --attribute instanceType
STEP08: instance 開始
date; aws ec2 start-instances --instance-id $(aws ec2 describe-tags --query 'Tags[?ResourceType == `instance` && Key == `Name` && Value == `DockerBuildMachine`].ResourceId' --output text)