EC2インスタンス"handson-cli-ssm-session-manager-public-keypair-instance"へのSSMセッションを開始します。
手順に必要な設定値を変数に格納をします。
0.a. リージョンの指定
リージョンを指定します。
変数の設定 export AWS_DEFAULT_REGION='ap-northeast-1'
変数の設定
export AWS_DEFAULT_REGION='ap-northeast-1'
0.b. プロファイルの指定
アクセスキー保存ファイルを指定します。
環境変数の設定: export AWS_SHARED_CREDENTIALS_FILE="${HOME}/environment/conf-handson-cli-ssm-session-manager/handson-cli-ssm-session-manager-user.ini"
環境変数の設定:
export AWS_SHARED_CREDENTIALS_FILE="${HOME}/environment/conf-handson-cli-ssm-session-manager/handson-cli-ssm-session-manager-user.ini"
プロファイルを指定します。
環境変数の設定: export AWS_DEFAULT_PROFILE='handson-cli-ssm-session-manager-user'
export AWS_DEFAULT_PROFILE='handson-cli-ssm-session-manager-user'
1. EC2インスタンスタグ名
EC2インスタンスタグ名を指定します。
変数の設定: EC2_INSTANCE_TAG_NAME='handson-cli-ssm-session-manager-public-keypair-instance'
変数の設定:
EC2_INSTANCE_TAG_NAME='handson-cli-ssm-session-manager-public-keypair-instance'
各変数に正しい設定値が格納されていることを確認しながら保存します。
変数の確認: cat << END # 0.a. AWS_DEFAULT_REGION:"ap-northeast-1" AWS_DEFAULT_REGION="${AWS_DEFAULT_REGION}" # 0.b. AWS_DEFAULT_PROFILE:"handson-cli-ssm-session-manager-user" AWS_DEFAULT_PROFILE="${AWS_DEFAULT_PROFILE}" # 1. EC2_INSTANCE_TAG_NAME:"handson-cli-ssm-session-manager-public-keypair-instance" EC2_INSTANCE_TAG_NAME="${EC2_INSTANCE_TAG_NAME}" END
変数の確認:
cat << END # 0.a. AWS_DEFAULT_REGION:"ap-northeast-1" AWS_DEFAULT_REGION="${AWS_DEFAULT_REGION}" # 0.b. AWS_DEFAULT_PROFILE:"handson-cli-ssm-session-manager-user" AWS_DEFAULT_PROFILE="${AWS_DEFAULT_PROFILE}" # 1. EC2_INSTANCE_TAG_NAME:"handson-cli-ssm-session-manager-public-keypair-instance" EC2_INSTANCE_TAG_NAME="${EC2_INSTANCE_TAG_NAME}" END
下段の変数が入っていない、もしくは上段と同等の値が入っていない場合は、それぞれの手順番号に戻って変数の設定を行います。
EC2インスタンスIDを取得します。
コマンド: EC2_INSTANCE_ID=$( \ aws ec2 describe-instances \ --filters Name=tag-key,Values=Name \ Name=tag-value,Values=${EC2_INSTANCE_TAG_NAME} \ Name=instance-state-name,Values=running \ --query Reservations[].Instances[].InstanceId \ --output text \ ) \ && echo ${EC2_INSTANCE_ID} 結果(例): i-xxxxxxxxxxxxxxxxx
コマンド:
EC2_INSTANCE_ID=$( \ aws ec2 describe-instances \ --filters Name=tag-key,Values=Name \ Name=tag-value,Values=${EC2_INSTANCE_TAG_NAME} \ Name=instance-state-name,Values=running \ --query Reservations[].Instances[].InstanceId \ --output text \ ) \ && echo ${EC2_INSTANCE_ID}
結果(例):
i-xxxxxxxxxxxxxxxxx
SSMセッションを開始します。
変数の確認: cat << END # EC2_INSTANCE_ID:"i-xxxxxxxxxxxxxxxxx" EC2_INSTANCE_ID="${EC2_INSTANCE_ID}" END コマンド: aws ssm start-session \ --target ${EC2_INSTANCE_ID} 結果(例): Starting session with SessionId: handson-cli-ssm-session-manager-user-xxxxxxxxxxxxxxxxx sh-4.2$
cat << END # EC2_INSTANCE_ID:"i-xxxxxxxxxxxxxxxxx" EC2_INSTANCE_ID="${EC2_INSTANCE_ID}" END
aws ssm start-session \ --target ${EC2_INSTANCE_ID}
Starting session with SessionId: handson-cli-ssm-session-manager-user-xxxxxxxxxxxxxxxxx sh-4.2$
「EC2インスタンス"handson-cli-ssm-session-manager-public-keypair-instance"にSSMセッションで接続している。」ことを確認します。
コマンド: cat /etc/system-release 結果(例): Amazon Linux release 2 (karoo)
cat /etc/system-release
Amazon Linux release 2 (karoo)