[英]How to run command on EC2 instance after starting session manager on it using bash script?
我正在編寫 bash 腳本以使用 session 管理器在 ec2 實例上安裝缺少的補丁。 我可以使用腳本啟動 session,但我不確定如何使用腳本對其運行命令?
instanceid = "i-098xxxx"
echo $instanceid
echo "instance id"
# Creating AMI
echo "-------------------------------Creation AMI-----------------------------------------"
aws ec2 create-image --instance-id $instanceid --name "test ami" --description "Delete when
testing" --no-reboot --profile xyz
# Start Session Manager
aws ssm start-session --target $instanceid --profile xyz
# Command to check for critical security patches and update/install it on ec2 instance
echo "-------------------------------installing missing patches-----------------------------
------------"
sudo yum update-minimal --sec-severity=critical,important --bugfix
我想使用腳本在 ec2 實例中運行sudo yum update-minimal --sec-severity=critical,important --bugfix
命令。
有人可以指導我嗎?
AWS Systems Manager 會話管理器通過 Web 瀏覽器提供類似 SSH 的連接。
但是,如果您希望在實例上自動執行命令,則應使用AWS Systems Manager Run Command ,它可以在單個實例或數百個實例上運行命令,並返回每次運行的結果。
我認為 AWS Systems Manager 是解決這種情況的最佳方式。 https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html
作為使用運行命令的替代方法,如果由於某種原因您需要使用 session,您可以使用AWS-StartNonInteractiveCommand
文檔來執行此操作,例如:
aws ssm start-session \
--document-name 'AWS-StartNonInteractiveCommand' \
--parameters '{"command": ["sudo yum -y update amazon-ssm-agent"]}' \
--target "$instanceid"
要查看本文檔接受的其他參數,請運行
aws ssm describe-document --name AWS-StartNonInteractiveCommand
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.