📃

インスタンスのNameタグを指定してセッションマネージャーでEC2に接続するスクリプト

2023/08/29に公開

Linux

実行時にプロファイル名とインスタンス名を入力するコマンド

read -p "プロファイル名を入力してください: " profile; read -p "インスタンス名を入力してください: " tag_name; instance_id=$(aws ec2 describe-instances --filters "Name=tag:Name,Values=${tag_name}" --query "Reservations[].Instances[].InstanceId" --output text --profile "$profile"); [ -n "$instance_id" ] && aws ssm start-session --target "$instance_id" --profile "$profile" || echo "指定したタグ名のインスタンスが見つかりませんでした。"

あらかじめプロファイル名とインスタンス名を入力しておくコマンド

profile="プロファイル名"; tag_name="タグ名"; instance_id=$(aws ec2 describe-instances --filters "Name=tag:Name,Values=${tag_name}" --query "Reservations[].Instances[].InstanceId" --output text --profile "$profile"); [ -n "$instance_id" ] && aws ssm start-session --target "$instance_id" --profile "$profile" || echo "指定したタグ名のインスタンスが見つかりませんでした。"

Powershell

実行時にプロファイル名とインスタンス名を入力するコマンド

$profile = Read-Host -Prompt "プロファイル名を入力してください"; $tag_name = Read-Host -Prompt "インスタンス名を入力してください"; $instance_id = (aws ec2 describe-instances --filters "Name=tag:Name,Values=$tag_name" --query "Reservations[].Instances[].InstanceId" --output text --profile $profile); if (-not [string]::IsNullOrEmpty($instance_id)) { aws ssm start-session --target $instance_id --profile $profile } else { Write-Output "指定したタグ名のインスタンスが見つかりませんでした。" }

あらかじめプロファイル名とインスタンス名を入力しておくコマンド

$profile = "プロファイル名"; $tag_name = "インスタンス名"; $instance_id = (aws ec2 describe-instances --filters "Name=tag:Name,Values=$tag_name" --query "Reservations[].Instances[].InstanceId" --output text --profile $profile); if (-not [string]::IsNullOrEmpty($instance_id)) { aws ssm start-session --target $instance_id --profile $profile } else { Write-Output "指定したタグ名のインスタンスが見つかりませんでした。" }

Discussion