Я пытаюсь автоматизировать некоторую часть своей работы, создав функцию bash, которая позволяет мне легко использовать ssm в одном из наших экземпляров. Для этого мне нужно знать только идентификатор экземпляра. Затем я запускаю aws ssm start-session
с соответствующим профилем. Вот функция:
function ssm_to_cluster() {
local instance_id=$(aws ec2 describe-instances --filters \
"Name=tag:Environment,Values=staging" \
"Name=tag:Name,Values=my-cluster-name" \
--query 'Reservations[*].Instances[*].[InstanceId]' \
| grep i- | awk '{print $1}' | tail -1)
aws ssm start-session --profile AccountProfile --target $instance_id
}
Когда я запускаю эту функцию, я всегда получаю сообщение об ошибке, подобное следующему:
An error occurred (TargetNotConnected) when calling the StartSession operation: "i-0599385eb144ff93c" is not connected.
Однако затем я беру этот экземпляр экземпляра и запускаю его непосредственно из моего терминала, он работает:
aws ssm start-session --profile MyProfile --target i-0599385eb144ff93c
Почему это?