AWS CloudShellを利用して、EC2インスタンスタグ名プレフィックス"handson-cloud9-env"を停止します。
注釈 マネジメントコンソールのヘッダーにあるCloudShellアイコンをクリックします。 以後、本手順でのコマンド実行は、CloudShell環境で実施します。
注釈
マネジメントコンソールのヘッダーにあるCloudShellアイコンをクリックします。
以後、本手順でのコマンド実行は、CloudShell環境で実施します。
手順に必要な設定値を変数に格納をします。
0. リージョンの指定
リージョンを指定します。
環境変数の設定: export AWS_DEFAULT_REGION='ap-northeast-1'
環境変数の設定:
export AWS_DEFAULT_REGION='ap-northeast-1'
1. EC2インスタンスタグ名の指定
EC2インスタンスタグ名を指定します。
変数の設定: EC2_INSTANCE_TAG_PREFIX='handson-cloud9-env'
変数の設定:
EC2_INSTANCE_TAG_PREFIX='handson-cloud9-env'
各変数に正しい設定値が格納されていることを確認しながら保存します。
変数の確認: cat << END # 0. AWS_DEFAULT_REGION:"ap-northeast-1" AWS_DEFAULT_REGION="${AWS_DEFAULT_REGION}" # 1. EC2_INSTANCE_TAG_PREFIX:"handson-cloud9-env" EC2_INSTANCE_TAG_PREFIX="${EC2_INSTANCE_TAG_PREFIX}" END
変数の確認:
cat << END # 0. AWS_DEFAULT_REGION:"ap-northeast-1" AWS_DEFAULT_REGION="${AWS_DEFAULT_REGION}" # 1. EC2_INSTANCE_TAG_PREFIX:"handson-cloud9-env" EC2_INSTANCE_TAG_PREFIX="${EC2_INSTANCE_TAG_PREFIX}" END
下段の変数が入っていない、もしくは上段と同等の値が入っていない場合は、それぞれの手順番号に戻って変数の設定を行います。
EC2インスタンスIDを取得します。
コマンド: ARRAY_EC2_INSTANCE_IDS=$( \ aws ec2 describe-instances \ --filters Name=tag-key,Values=Name \ Name=tag-value,Values=${EC2_INSTANCE_TAG_PREFIX}* \ --query Reservations[].Instances[].InstanceId \ --output text \ ) \ && echo ${ARRAY_EC2_INSTANCE_IDS} 結果(例): i-xxxxxxxxxxxxxxxxx
コマンド:
ARRAY_EC2_INSTANCE_IDS=$( \ aws ec2 describe-instances \ --filters Name=tag-key,Values=Name \ Name=tag-value,Values=${EC2_INSTANCE_TAG_PREFIX}* \ --query Reservations[].Instances[].InstanceId \ --output text \ ) \ && echo ${ARRAY_EC2_INSTANCE_IDS}
結果(例):
i-xxxxxxxxxxxxxxxxx
EC2インスタンスを停止します。
変数の確認: cat << END # ARRAY_EC2_INSTANCE_IDS:"i-xxxxxxxxxxxxxxxxx" ARRAY_EC2_INSTANCE_IDS="${ARRAY_EC2_INSTANCE_IDS}" END コマンド: aws ec2 stop-instances \ --instance-ids ${ARRAY_EC2_INSTANCE_IDS} 結果(例): { "StoppingInstances": [ { "CurrentState": { "Code": 64, "Name": "stopping" }, "InstanceId": "i-xxxxxxxxxxxxxxxxx", "PreviousState": { "Code": 16, "Name": "running" } } ] }
cat << END # ARRAY_EC2_INSTANCE_IDS:"i-xxxxxxxxxxxxxxxxx" ARRAY_EC2_INSTANCE_IDS="${ARRAY_EC2_INSTANCE_IDS}" END
aws ec2 stop-instances \ --instance-ids ${ARRAY_EC2_INSTANCE_IDS}
{ "StoppingInstances": [ { "CurrentState": { "Code": 64, "Name": "stopping" }, "InstanceId": "i-xxxxxxxxxxxxxxxxx", "PreviousState": { "Code": 16, "Name": "running" } } ] }
「EC2インスタンスタグ名プレフィックス"handson-cloud9-env"が停止している。」ことを確認します。
コマンド: aws ec2 describe-instances \ --instance-ids ${ARRAY_EC2_INSTANCE_IDS} \ --query 'Reservations[].Instances[].State.Name' \ --output text 結果(例): stopped
aws ec2 describe-instances \ --instance-ids ${ARRAY_EC2_INSTANCE_IDS} \ --query 'Reservations[].Instances[].State.Name' \ --output text
stopped