Я пытаюсь выполнить bash-код с помощью aws: runcommand. Я взял и адаптировал приведенный ниже фрагмент из репозитория AWS для развертывания конвейера Golden Image
То, что вы видите ниже, развернуто через стек CloudFormation. Объект AWS :: SSM :: Document формируется, передавая различные входные данные. Это один из основных шагов моего документа по автоматизации. Я пытаюсь обновить ОС моего экземпляра.
{
"name": "updateOSSoftware",
"action": "aws:runCommand",
"maxAttempts": 3,
"timeoutSeconds": 3600,
"onFailure": "Abort",
"inputs": {
"DocumentName": "AWS-RunShellScript",
"InstanceIds": [
"{{startInstances.InstanceIds}}"
],
"Parameters": {
"commands": [
"export https_proxy=http://myproxy.com:myport",
"export https_proxy='{{OutBoundProxy}}'",
"set -e",
"[ -x \"$(which wget)\" ] && get_contents='wget $1 -O -'",
"[ -x \"$(which curl)\" ] && get_contents='curl -s -f $1'",
"eval $get_contents https://aws-ssm-downloads-eu-west-1.s3.amazonaws.com/scripts/aws-update-linux-instance > /tmp/aws-update-linux-instance",
"chmod +x /tmp/aws-update-linux-instance",
"/tmp/aws-update-linux-instance --pre-update-script '{{PreUpdateScript}}' --post-update-script '{{PostUpdateScript}}' --include-packages '{{IncludePackages}}' --exclude-packages '{{ExcludePackages}}' 2>&1 | tee /tmp/aws-update-linux-instance.log"
]
}
}
}
Как только я выполняю документ из System Manager, я SSH в экземпляр EC2 и пытаюсь и echo $http_proxy
, переменная сбрасывается, показывая, что код не был запущен.
Как мне запустить bash code?