mirror of
https://gitea.com/mcereda/oam.git
synced 2026-02-09 05:44:23 +00:00
chore(aws/ssm): do not use with xargs and similar
This commit is contained in:
@@ -143,6 +143,24 @@ aws ssm describe-instance-associations-status --instance-id 'instance-id'
|
||||
> **Other shell profile configuration options**<br/>
|
||||
> By default, Session Manager starts in the "/usr/bin" directory.
|
||||
|
||||
- **Avoid** executing SSM through commands like `xargs` or `parallel` like in the following:
|
||||
|
||||
```sh
|
||||
aws ec2 describe-instances --output text --query 'Reservations[].Instances[0].InstanceId' --filters … \
|
||||
| xargs -ot aws ssm start-session --target
|
||||
```
|
||||
|
||||
The middle commands start the session correctly, but will intercept traps like `CTRL-C` and stop their own execution
|
||||
terminating the SSM session.
|
||||
|
||||
Prefer using the `describe-instance` command's output as input for the `start-session` command instead:
|
||||
|
||||
```sh
|
||||
aws ssm start-session --target "$( \
|
||||
aws ec2 describe-instances --output text --query 'Reservations[].Instances[0].InstanceId' --filters … \
|
||||
)"
|
||||
```
|
||||
|
||||
## Integrate with Ansible
|
||||
|
||||
Create a dynamic inventory which name ends with `aws_ec2.yml` (e.g. `test.aws_ec2.yml` or simply `aws_ec2.yml`).<br/>
|
||||
|
||||
@@ -45,10 +45,11 @@ alias aws-ec2-running-instanceIds "aws ec2 describe-instances --output 'text' \
|
||||
--filters 'Name=instance-state-name,Values=running' \
|
||||
--query 'Reservations[].Instances[0].InstanceId' \
|
||||
| sed -E 's/\t+/\n/g'"
|
||||
alias aws-ssm-gitlabAutoscalingManager-ita-b "aws ec2 describe-instances --output text \
|
||||
alias aws-ssm-gitlabAutoscalingManager-ita-b "aws ssm start-session --target ( \
|
||||
aws ec2 describe-instances --output text \
|
||||
--query 'Reservations[].Instances[0].InstanceId' \
|
||||
--filters \
|
||||
'Name=availability-zone,Values=eu-south-1b' \
|
||||
'Name=instance-state-name,Values=running' \
|
||||
'Name=tag:Name,Values=Gitlab Autoscaling Manager' \
|
||||
--query 'Reservations[].Instances[0].InstanceId' \
|
||||
| xargs -ot aws ssm start-session --target"
|
||||
)"
|
||||
|
||||
Reference in New Issue
Block a user