我正在尝试在实例上安装 ansible。我想我可以AWS::CloudFormation::Init
用来执行sudo pip install ansible
. 不过,这似乎不起作用。这是我的实例资源:
ansibleInstance:
Type: 'AWS::EC2::Instance'
Metadata:
'AWS::CloudFormation::Init':
commands:
ansible:
command: "sudo pip install ansible"
test: "pip --version"
ignoreErrors: 'false'
Properties:
ImageId: ami-467ca739
KeyName: Candidate-EyMm7zuOcn
InstanceType: t2.micro
SubnetId: !Ref subnetTest
SecurityGroupIds:
- !Ref allowSSH
Tags:
- Key: Name
Value: Test
Run Code Online (Sandbox Code Playgroud)
有没有办法查看尝试执行此操作时发生的情况,以便我可以找出失败的位置/原因?有没有其他人可能会建议考虑解决这个问题?
EDIT1:我删除了sudo
以防万一,以防万一,无论出于何种原因(我认为不会,但我还是想完全消除它)。那没有影响。我还验证了aws-cli
工具已安装,这是预期的,因为它是AWS Linux AMI
EDIT2:这是 ansibleInstance 资源的一个版本,我试图在其中通过UserData
以下方式执行命令:
ansibleInstance:
Type: 'AWS::EC2::Instance'
Properties:
ImageId: ami-467ca739
KeyName: Candidate-EyMm7zuOcn
InstanceType: t2.micro
SubnetId: !Ref subnetTest
SecurityGroupIds:
- !Ref …
Run Code Online (Sandbox Code Playgroud)