Я хочу запустить скрипт на запуске сервера EC2 через облачную информацию. Ниже скрипт не работает. Это не офисная работа. Это часть моих личных пристрастий. Это мой собственный сценарий, написанный с помощью подсказок из Интернета. Поскольку я не могу получить какую-либо другую помощь, я помещаю ее здесь.
"Resources": {
"EC2Python001": {
"Type": "AWS::EC2::Instance",
"Metadata": {
"AWS::CloudFormation::Init": {
"config": {
"files": {
"/etc/script1.sh": {
"content": {
"Fn::Join": [
"\n",
[ "stack=", { "Ref" : "AWS::StackId" }, "\n",
"region=", { "Ref" : "AWS::Region" }, "\n",
"#!/bin/sh\n",
"sudo adduser linuxuser\n",
"sudo echo linuxpassword | passwd --stdin linuxuser \n",
"sudo apt-get update\n",
"sudo apt-get -y upgrade\n",
"sudo apt-get install -y python3-pip\n",
"sudo sed 's/.*PasswordAuthentication.*/PasswordAuthentication yes./' /etc/ssh/sshd_config \n"
]
]
}
},
"mode": "000755",
"owner": "root",
"group": "root"
},
"commands": {
"RunScript1": {
"command": "sudo sh /etc/script1.sh"
}
}
}
},
"AWS::CloudFormation::Designer": {
"id": "4bdc1eed-05e4-47a5-8204-255584da0993"
}
},
"Properties": {
"AvailabilityZone": "us-east-2a",
"ImageId": "ami-05c1fa8df71875112",
"InstanceType": "t2.micro",
"SourceDestCheck": false,
"KeyName": "2410EC2Keypair",
"SecurityGroupIds": [
{
"Ref": "EC2SG2Python1"
}
],
"UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [
"#!/bin/bash\n",
"set -o errexit; set -o nounset; set -o pipefail\n",
"# Install AWS cfn-bootstrap utilities\n",
"sudo apt-get update\n",
"sudo apt-get -y install python-pip\n",
"sudo pip install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.tar.gz\n",
"sudo cp /usr/local/init/ubuntu/cfn-hup /etc/init.d/cfn-hup \n",
"sudo chmod +x /etc/init.d/cfn-hup \n",
"sudo update-rc.d cfn-hup defaults \n ",
"sudo service cfn-hup start \n",
"/usr/local/bin/cfn-init",
" --stack ", { "Ref": "AWS::StackName" },
" --resource AppInstanceConfiguration",
" --region ", { "Ref": "AWS::Region" }, "\n",
"/usr/local/bin/cfn-signal -e $? ",
" --stack ", { "Ref" : "AWS::StackName" },
" --resource AppInstanceAutoScalingGroup",
" --region ", { "Ref" : "AWS::Region" }, "\n",
"\n"
]]}}
}
},
"EC2SG2Python1": {
"Type": "AWS::EC2::SecurityGroup",
"Properties": {
"GroupName": "SecurityGroupwithEc2Py01",
"GroupDescription": "First",
"SecurityGroupIngress": [
{
"CidrIp": "0.0.0.0/0",
"FromPort": "0",
"ToPort": "65535",
"IpProtocol": "tcp",
"Description": "From Anywhere"
},
{
"CidrIp": "0.0.0.0/0",
"FromPort": "22",
"ToPort": "22",
"IpProtocol": "tcp",
"Description": "SSH from anywhere , from and to port will be same - 22"
}
]
},
"Metadata": {
"AWS::CloudFormation::Designer": {
"id": "808cc628-351e-4b25-9bbc-6b9345ae1dd2"
}
}
}
}
}
Ожидаемый результат, сервер ubuntu с пользователем ssh создан. Фактический результат - секция пользовательских данных работает только до этой строки "sudo cp / usr / local / init / ubuntu / cfn-hup /etc/init.d/cfn-hup \ n"