gpt4 book ai didi

amazon-web-services - 在 CloudFormation 文件中使用 apt-get 安装软件包

转载 作者:行者123 更新时间:2023-12-01 09:55:45 24 4
gpt4 key购买 nike

我有以下 CloudFormation 脚本。正在创建堆栈并启动 Ec2 实例,我可以通过 SSH 登录,但它没有安装软件包。

我不确定它在哪里失败。我正在使用Ubuntu。我找不到我的实例上是否安装了 cfn-init?还是仅为 Amazon Linux AMI 安装?

如何解决此问题?

{
"Parameters" : {
"ShinyKey": {
"Description": "Key pair for instance.",
"Type": "AWS::EC2::KeyPair::KeyName"
}
},
"Resources": {
"Ec2Instance" : {
"Metadata": {
"AWS::CloudFormation::Init": {
"config": {
"packages": {
"apt": {
"r-base-dev": [],
"libcurl4-openssl-dev": [],
"git": []
}
}
}
}
},
"Type" : "AWS::EC2::Instance",
"Properties": {
"ImageId": "ami-9eaa1cf6",
"InstanceType": "t2.micro",
"KeyName": {"Ref": "ShinyKey"},
"SecurityGroups": [{"Ref": "InstanceSecurityGroup"}],
"Tags": [{
"Key": "Name",
"Value": "R-Shiny-Server"
}],
"UserData": {
"Fn::Base64": {
"Fn::Join": [
"",
[
"#!/bin/bash\n",
"/usr/local/bin/cfn-init --region ",
{
"Ref": "AWS::Region"
},
" -s ",
{
"Ref": "AWS::StackName"
},
" -r Ec2Instance\n"
]
]
}
}
}
},
"InstanceSecurityGroup" : {
"Type" : "AWS::EC2::SecurityGroup",
"Properties": {
"GroupDescription" : "Enable SSH access via port 22, and ports 3838 and 80 for Shiny",
"SecurityGroupIngress" : [
{ "IpProtocol" : "tcp", "FromPort" : "22", "ToPort" : "22", "CidrIp" : "0.0.0.0/0" },
{ "IpProtocol" : "tcp", "FromPort" : "80", "ToPort" : "80", "CidrIp" : "0.0.0.0/0" },
{ "IpProtocol" : "tcp", "FromPort" : "3838", "ToPort" : "3838", "CidrIp" : "0.0.0.0/0" }
]
}
}
}

}

最佳答案

上述模板的问题在于 cfn-init Ubuntu AMI 中未安装,因此在用户数据脚本中调用 cfn-init 将返回“未找到命令”并且不执行任何操作。

cfn-helper 实用程序仅自动安装在最新的 Amazon Linux AMI 中,如 documentation 中所述。 。对于 Ubuntu,您需要手动安装它们,您可以通过在现有的用户数据脚本中添加一行来完成,在 "#!/bin/bash\n",:

"apt-get update && apt-get install pip && pip install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.tar.gz\n",

此后,下一行中对 /usr/local/bin/cfn-init 的调用应该正确运行。

关于amazon-web-services - 在 CloudFormation 文件中使用 apt-get 安装软件包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28101267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com