- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
运行我的云形成模板时,我有以下行:
/opt/aws/bin/cfn-init -v -s STACK_NAME --resource RESOURCE_NAME
执行后我得到以下控制台输出(使用 CentOS):
Traceback (most recent call last):
File "/opt/aws/bin/cfn-init", line 4, in <module>
import pkg_resources
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 3007, in <module>
working_set.require(__requires__)
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 728, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 626, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pystache>=0.4.0
在运行到这一行时,我的用户数据中有以下内容:
yum update -y
yum install -y python-setuptools
yum install -y wget
mkdir -p /opt/aws/bin
wget https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.tar.gz
python -m easy_install --script-dir /opt/aws/bin aws-cfn-bootstrap-latest.tar.gz
yum install -y aws-cfn-bootstrap
我是否缺少安装步骤或其他步骤?
非常感谢任何帮助!
下面是完整的模板。 (尽管正在使用的 AMI 是自定义 CentOS 的)。
{
"AWSTemplateFormatVersion" : "2010-09-09",
"Description": "Description",
"Parameters" : {
"InstanceTypeParam" : {
"Type" : "String",
"Default" : "t3.large",
"AllowedValues": [ "t3.small", "t3.medium", "t3.large" ],
"Description": "Description"
},
"KeyNameParam" : {
"Type": "AWS::EC2::KeyPair::KeyName",
"Description" : "Description"
},
"SubnetIDParam" : {
"Type" : "AWS::EC2::Subnet::Id",
"Description" : "Description",
"Default" : "default"
},
"SecurityGroupIDParam" : {
"Type" : "AWS::EC2::SecurityGroup::Id",
"Description" : "Description",
"Default" : "default"
},
"InstanceNameParam" : {
"Type" : "String",
"Description" : "Description"
}
},
"Resources" : {
"EC2" : {
"Type": "AWS::EC2::Instance",
"Metadata" : {
"AWS::CloudFormation::Init" : {
"config" : {
"commands" : {
"a" : {
"command" : "/bin/echo \"Executing AWS::CloudFormation::Init commands\" >> /tmp/testfile.txt"
},
"b" : {
"command" : "more commands..."
}
}
}
}
},
"Properties": {
"ImageId": "ami-customAMIID",
"InstanceType": {"Ref": "InstanceTypeParam"},
"KeyName": {"Ref": "KeyNameParam"},
"SecurityGroupIds": [{"Ref": "SecurityGroupIDParam"}],
"SubnetId": {"Ref": "SubnetIDParam"},
"IamInstanceProfile" : "AnIAMInstanceProfile",
"BlockDeviceMappings" : [
{
"DeviceName" : "/dev/sda1",
"Ebs" : {
"DeleteOnTermination" : "true",
"VolumeSize" : "30"
}
}
],
"Tags" : [
{"Key" : "Name", "Value" : {"Ref" : "InstanceNameParam"} }
],
"UserData": { "Fn::Base64": { "Fn::Join": ["\n", [
"Content-Type: multipart/mixed; boundary=\"//\"",
"MIME-Version: 1.0",
"",
"--//",
"Content-Type: text/cloud-config; charset=\"us-ascii\"",
"MIME-Version: 1.0",
"Content-Transfer-Encoding: 7bit",
"Content-Disposition: attachment; filename=\"cloud-config.txt\"",
"",
"#cloud-config",
"cloud_final_modules:",
"- [scripts-user, always]",
"",
"--//",
"Content-Type: text/x-shellscript; charset=\"us-ascii\"",
"MIME-Version: 1.0",
"Content-Transfer-Encoding: 7bit",
"Content-Disposition: attachment; filename=\"userdata.txt\"",
"",
"#!/bin/bash",
"# If UserData hasn't yet been installed then install everything",
"if [[ -z \"${USERDATA_INSTALLED}\" ]]; then",
"/bin/echo \"Entering if statement\" >> /tmp/testfile.txt",
"yum update -y",
"yum install -y python-setuptools",
"yum install -y wget",
"mkdir -p /opt/aws/bin",
"wget https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.tar.gz",
"python -m easy_install --script-dir /opt/aws/bin aws-cfn-bootstrap-latest.tar.gz",
"/bin/echo \"Successfully installed aws-cfn-bootstrap\" >> /tmp/testfile.txt",
"yum install -y aws-cfn-bootstrap",
{ "Fn::Join" : ["",[ "/opt/aws/bin/cfn-init -v -s ", { "Ref" : "AWS::StackName" }, " --resource EC2" ]]},
"/bin/echo \"Exiting if statement\" >> /tmp/testfile.txt",
"fi"
]]
}}
}
}
}
}
最佳答案
有确切的错误。通过使用“pip install”而不是“easy_install”修复:
"easy_install aws-cfn-bootstrap-latest\n",
"pip install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.tar.gz\n",
关于python - cfn-init 退出并出现错误 - DistributionNotFound : pystache>=0. 4.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65215487/
我正在根据以下模板尝试 Cloudformation CFN-INIT 和 CFN-HUP,但未创建 wordpress 堆栈。 CFN-HUP 进程未启动,CFN-Init 抛出 Code1 错误。
我现在有一个 cloudformation 堆栈,它设置了一个简单的 ec2 实例,并在用户数据部分安装了所有 python 包和文件。我什至从未在堆栈中的任何地方提到 cfn-init,也没有元数据
我尝试使用 cfn-init 在 Amazon EC2 Windows 实例中执行一些 powershell 命令。如果我添加 cfn-signal 和 CreationPolicy,cfn-init
我的 EC2Instance 资源的 UserData 部分具有以下内容: #!/bin/bash apt-get update -y apt-get -y install python3-pip m
我正在尝试使用 CloudFormation Template 启动实例。实例已启动,但 UserData 部分未完全执行,因为cfn-init/aws-cfn-bootstrap Redhat 7
我一直在尝试使用不同的函数(例如 sub 和 join)将参数资源的默认值连接到变量(其他输入参数)。 一个例子是: "RuleQuery": { "Description" : "ru
我必须通过cloudformation脚本设置windows ec2服务器。我有一些 powershell 脚本,它添加标签并以特定格式格式化磁盘驱动器。 问题是,当从 cloudformation
我是无服务器新手,正在尝试使用无服务器 3 框架创建部署。我目前定义了一些资源,引用了我在模板中定义的其他 cfn 资源,即: WebsiteBucketPolicy: Type: AWS
我无法让 cfn-init 在 Windows 上运行。 我这样做: cfn-init.exe -v -c config -s arn:aws:cloudformation:eu-north-1:
有时,诸如 apt-get update -q 之类的命令会在 cloudformation 模板用户数据脚本中随机失败。重试直至成功的正确方法是什么? 最佳答案 正如@shellter 指出的: w
我有一个自定义资源,用于从 API 网关获取 API key 并将其作为 header 发送到 Cloudfront。当我创建堆栈时,我的 custom:resource 正在触发,因为它是第一次创建
我有以下定义 IAM 策略的模板,但该策略不起作用: RoleName: 'ABCRole' AssumeRolePolicyDocument: Stateme
我有一个用于“ secret 自动轮换机制”的 CFN 模板,其中我尝试从参数文件传递“用户名”,并使用硬编码的 arn 传递“masterarn”。 GenerateSecretStri
我有一个简单的 cloudformation 脚本,我尝试在启动时将 ruby 脚本作为后台进程运行。 脚本的相关部分是 "AWS::CloudFormation::Init" : {
在我的 cloudformation 模板的命令部分中,aws cli 命令不会将 $SWARM_TOKEN 变量拾取为字符串值。这个想法是将 token 存储在参数存储中以供以后使用。 我在配置集中
我有一个策略,定义为下面的 cloudformation 模板。我希望能够描述它们可以通过 cfn 模板创建哪些 aws 资源。我怎么做?我在下面附上了一个示例? Type: 'AWS::IAM::P
当我们设置 RDS 实例时,如何通过 Cloudformation 打开 RDS 的审核日志记录? 到目前为止,我看到的唯一方法是设置实例,然后修改它并选中审核日志记录框以将日志转发到 CW。我们可以
我正在研究使用 cfn-init 和 userdata 之间的区别。我从各种文档中了解到,使用 cfn-init 对堆栈进行更改不会替换 ec2 实例,而只是将配置更改更新到现有 ec2 实例。 有人
我有一个创建 EC2 实例的 CF 模板,我正在元数据中进行一些引导以安装 httpd 并在/var/www/html/index.html 中创建一个简单的 index.html 并启动 httpd
我正在使用cloudformation来安装elasticsearch。我正在下载并解压 tar.gz。以下是我的 EC2 实例部分: "masterinstance": { "Ty
我是一名优秀的程序员,十分优秀!