当我运行create stack时,创建elasticsearch域失败,出现以下错误-“属性子网的值必须是字符串列表类型”
以下是CF模板的片段
Parameters:
SubnetIds:
Type: 'List<AWS::EC2::Subnet::Id>'
Description: Select a VPC subnet to place the instance. Select Multiple Subnets for multi-AZ deploymen
我试图找出GetAttvsRefvs${}之间的区别
据我所知,您使用GetAtt仅引用同一模板内的对象,而Ref可用于引用任何内容?另外,我什么时候会使用${}?Ref可以用于两件事:
返回通过模板的参数部分传入的参数值
当您在模板中引用另一个资源的逻辑ID时,REF返回您可以认为是该类型资源的默认属性。因此,对EC2实例使用ref将返回实例ID,引用s3 bucket资源将返回bucket名称。您可以查看AWS文档中每个cloudformation resources页面的底部,查看该值(请
我正在对ECS运行CloudFormation更新。由代码管道触发。我想中止CloudFormation部署,并在超时后回滚到以前的版本
实现这一目标的最佳方式是什么?我看到了一些关于等待条件的信息,但我不确定这是正确的机制
我还发现,您可以在嵌套堆栈上配置TimeoutInMinutes,但听起来您无法在堆栈的顶层或任意资源上应用类似的属性
如果代码管道ECS部署操作(ECS,而不是ECS B/G)失败,有没有其他方法可以使用组合,在几分钟后中止代码管道->云形成->ECS部署?这是对代码管道
在SAM模板中,是否有方法引用使用Lambda函数自动创建的角色的ARN
我需要在模板中的其他地方使用ARN
# this is the role
Role:
Type: AWS::IAM::Role
Properties:
RoleName: client-role
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effec
我正在尝试使用无服务器框架创建AWS物联网。下面是我的YAML文件
我收到“操作“无效证书资源配置”期间发生错误…”
有什么线索可以说明问题吗
service: winds-delivery-infra
provider:
name: aws
runtime: nodejs12.x
stage: dev
region: ap-south-1
functions:
hello:
handler: handler.hello
resources:
Resour
我想用不同地区的IAM和lambda等资源创建一个cloudformation堆栈集。当我尝试部署这些资源时,它失败了,因为IAM角色是全局的,它正在尝试在第二个区域中再次创建,而整个堆栈集都失败了
我是否可以提到stackset在一个区域部署全局资源,在所有其他区域部署像lambda这样的资源
我是否可以提到stackset在一个区域部署全局资源,在所有其他区域部署像lambda这样的资源
可惜没有。您必须拆分模板,以便将全局资源创建为正常的区域堆栈。我浏览了许多资源,最终找到了一个解决方案。
我想通过aws中的cloudformation创建一个具有指定arn的角色。但我不知道怎么做。因为我们无法在模板文件中为角色指定名称。假设您引用的是IAM角色,使用CloudFormation是不可能的。CloudFormation将根据堆栈名称和逻辑资源ID自动为您的角色生成名称。例如,arn:aws:iam::112233445566:role/myStackName-myRoleName-xxxxxxxx
我想从CloudFormation启动一个RDS实例
我正在基于AWS文档构建JSON模板
我想设置PreferredBackupWindow参数,但没有如何输入其值的示例
我想将其设置为每天早上6点创建快照
我该怎么写呢??[“PreferredBackupWindow”:字符串,]
类似于“PreferredBackupWindow”:“6:00UTC”,?您可以按以下格式输入字符串:hh24:mi-hh24:mi(24小时时钟UTC)。
例如:
"PreferredBackupWindow
我想使用云形成来创建OpsWorks堆栈
使用Cloudformation,可以使用以下命令创建EC2实例:AWS::EC2::instance。要将实例添加到OpsWorks堆栈,我使用AWS::OpsWorks::instance
是否可以在AWS::OpsWorks::Instance中引用AWS::EC2::Instance
这是一种好的做法吗 否,无法使用CloudFormation将外部资源注册到OpsWorks(例如预先存在的EC2实例、RDS群集、ECS群集)
为此,您可以通过a
我正在尝试将Fn::Select和Fn::Split与堆栈模板中的Fn::ImportValue函数相结合,如下所示:
Resources:
ALBDashboard:
Type: AWS::CloudWatch::Dashboard
Properties:
DashboardName: ALB-Dashboard
DashboardBody: !Sub
- |
{
"widgets": [
{
希望减少ConnectionTrainingPolicy(CloudFormation term)超时(默认值为300),但在列表中找不到允许这样做的参数。有什么建议吗?AWS ELBs中的建议不同于LBs/ALB。连接培训政策是一个ELB概念
查看aws_elb资源类型和
connection\u draining和connection\u draining\u timeout属性
资源:
据我所知,它仅适用于“经典”lb,而不是alb
我有一个定义s3 bucket的模板。我无法修改模板。我只允许向模板添加额外信息。
如何向预定义的s3存储桶添加加密
Resources:
s3Bucket:
Type: "AWS::S3::Bucket"
Properties:
BucketName: "my pre-defined bucket"
# I want to write something like below code. I can get a refer
我在尝试递归地扫描层次结构时感到沮丧
自动气象站云层形成堆栈的数量。我需要看看他们所有的照片
资源
回想一下,一个CloudFormation堆栈可以包含另一个堆栈
这些子堆栈的描述似乎由返回
描述\u堆栈\u资源没有用处
我的问题的一个例子如下:
使用Boto3,我们可以看到该堆栈有八个子堆栈:
In [22]: resources = cfn.describe_stack_resources(StackName=my_stack_name)['StackResources']
In [23
我想在运行CloudFormation模板之前验证它们。我知道aws cloudformation validate template…cli命令,但它会忽略不正确的属性名称。如果cli命令不能捕获此类错误,我不知道它的意义何在
我希望在运行模板之前能够发现这些错误。这样做的IDE或外部服务就可以了。我也有同样的问题。无法验证属性名称。但是使用Atom IDE和插件cloudformation可以减少错误,它帮助我创建了一个resources属性,这样我就可以减少输入错误。我们在错误的Cloud
我正在编写CF代码来启动ec2实例,这是我的代码的样子:
我面临以下两个问题:
1) 我收到以下错误“模板验证错误:模板错误:Fn::If中未解析的条件依赖项备份”
2) 我想从USERDATA连接参数名和映射。(剩余的userdata工作正常,但此联接不起作用,只是将相同的代码放入userdata中
有人能帮我吗
AWSTemplateFormatVersion: "2010-09-09"
Description: "This template should be used to depl
我的cloudformation堆栈通常会在几分钟内得到更新,但却一直被卡住。ECS有时似乎会在等待服务正常运行时陷入困境,但服务出现并保持稳定
13:59:20 UTC-0500 UPDATE_COMPLETE AWS::ECS::Service MyService
13:57:19 UTC-0500 UPDATE_IN_PROGRESS AWS::ECS::Service MyService
13:57:14 UTC-0500 UPDATE_COMPLETE AWS::
我正在尝试创建一个IAM用户,该用户只能使用CloudFormation访问CodeCommit和S3,但我还想添加SSH\u公钥,到目前为止,我已经做到了以下几点:
Resources:
ItS3User:
DependsOn: ArtifactsBucket
Type: AWS::IAM::User
Properties:
Policies:
- PolicyName: ItS3Access
PolicyDocument:
通读这个
听起来您只能通过UI控制台或CLI创建手动审批步骤,但不能通过CloudFormation模板
埃德加事实上,云形成确实支持这一点
您只需要将资源的提供程序(管道->阶段->操作->操作类型ID)设置为Manual,就这样了。有关提供程序类型的详细信息-
例如:
DeliveryPipeline:
Properties:
...
Stages:
...
- Actions:
- ActionType
我的无服务器yml文件中包含以下内容:
lambdaQueueFirstInvokePermission:
Type: AWS::Lambda::Permission
Properties:
FunctionName: ServiceLambdaFunctionQualifiedArn
Action: ‘lambda:InvokeFunction’
Principal: sqs.amazonaws.com
在输出部分,我有以下内容:
Outputs:
Ser
使用嵌套堆栈是AWS CloudFormation中的一个重要组成部分,它们确实解决了许多问题(代码重用、堆栈限制等)
在更新堆栈时(通过UpdateStack或变更集),可以提供UsePreviousTemplate=True,以指示CloudFormation使用堆栈当前使用的任何模板。如果您只想更新某些参数,尤其是如果您有一些自动脚本执行更新,那么这将非常有用(我们用github上的代码的SHA更新了一个参数,我们想让它生效,而CloudFormation为我们完成了其余的工作——构建和部
我正在使用对流层脚本提供CloudWatch度量过滤器和警报。在CloudWatch中,可以手动创建一个警报,该警报基于metric筛选器从日志聚合的数据发出,但我希望在对流层脚本中链接该筛选器和警报,以尽可能节省手动劳动
以下是我对脚本的介绍(注意:下面定义和引用了一些其他资源,为了简洁起见,这些资源被省略):
这将生成一个定义良好的CloudFormation模板,但是,当我执行更改集并观察创建的度量过滤器时,我发现我想要链接到过滤器的报警没有自动设置,我需要手动创建它:
我的想法是,如果
我正在使用cloudformation安装elasticsearch。
我正在下载并解压缩tar.gz。
以下是我的EC2实例部分:
"masterinstance": {
"Type": "AWS: : EC2: : Instance",
"Metadata": {
"AWS: : CloudFormation: : Init": {
"configSets" : {
我正在尝试使用cloudformation部署带有ALB的ECS堆栈,但在创建服务时出现错误,这似乎是缺少访问负载平衡器的权限
以下是错误:无法担任角色并验证指定的targetGroupArn。请验证正在传递的ECS服务角色是否具有正确的权限。
以下是服务定义:
"EcsService": {
"Type":"AWS::ECS::Service",
"DependsOn": [
"loadBalancer",
"EcsService
是否可以创建这样的堆栈输出:
TargetGroupARN1Part:
Description: the final portion of the target group ARN
Value:
Fn::Select:
- 5
- Fn::Split:
- ":"
- !Ref WebTG
当我尝试时,我得到:
Template format error: Invalid outputs property : [Fn::Select]
谢谢,这应该是有效的,因
有人知道SAM模板是否支持LifecycleConfiguration设置吗?我看到在标准cloudformation定义中,您可以定义对象的生命周期,如:
BucketName: "Mys3Bucket"
LifecycleConfiguration:
Rules:
- AbortIncompleteMultipartUpload:
DaysAfterInitiation: 7
Status: Enable
我正在使用SAM模板和CLI创建cloudformation堆栈。我使用一个帐户成功地完成了这项工作,该帐户从直接附加到它的策略中获得了所有必需的权限。将所有这些权限授予此帐户是一种糟糕的安全做法,因此我创建了一个附加了相同策略的角色,并希望将其用于部署。但是,即使我通过--role arn参数传递我的角色,该命令仍在查找帐户的权限
以下是我尝试使用的命令:
aws cloudformation deploy --template-file TemplatePackaged.yaml --sta
我有以下管道定义:
Pipeline:
Type: 'AWS::CodePipeline::Pipeline'
Properties:
Name: !Ref AppName
RoleArn: {"Fn::GetAtt" : ["PipelineServiceRole", "Arn"] }
ArtifactStore:
Type: S3
Location: !Ref ArtifactBucket
在CloudFormation模板中检索新RDS Aurora无服务器集群的ARN时遇到问题
有人能告诉我输出值应该低于哪个参考值吗
Resources:
RDSCluster:
Type: AWS::RDS::DBCluster
Properties:
MasterUsername: someusername
MasterUserPassword: somepass
DatabaseName: mydb
Engine: aur
由于CloudFormation本机不支持为RDS数据库创建DB用户,因此我正在寻找通过CustomResource实现这一点的方法。但是,即使我编写了一个由Lambda函数支持的CustomResource,我也看不到允许我将用户添加到数据库实例的RDS API端点
有没有人能提出为Postgres 10数据库引擎支持的Aurora集群创建DB用户的潜在方法
我没有看到允许我向数据库实例添加用户的RDS API端点
通常,您会将自定义资源设置为在创建RDS后触发。因此,您可以使用函数环境变量等
我正在使用
我尝试将值传递给的列表参数是:
“子网”:{
“类型”:“列表”,
“说明”:“虚拟私有云(VPC)中的子网列表”,
“ConstraintDescription”:“必须是至少两个与至少两个不同可用性区域关联的现有子网的列表。它们应位于选定的虚拟私有云中。”
},
我编写了一个实用程序脚本,如下所示:
#/bin/bash
子网1=子网abcdef
子网2=子网ghijlm
echo-e“\n==部署堆栈。cf.yaml===\n”
aws云编队部署\
--地区$地区\
--配置
我使用CloudFormation的资源创建我的Aurora MySQL数据库集群
我的问题是,是否有人通过CloudFormation在Aurora MySQL中创建了存储过程和事件?这可能吗
通过CloudFormation交付这些信息将允许我在不单独部署存储过程和事件的情况下重新创建基础设施。无法直接使用CloudFormation资源配置存储过程和事件
我的建议是提供一个包含安装mysql客户端的脚本的脚本,然后在新创建的DB实例上执行用户提供的mysql脚本创建事件/存储过程的内容。谢
我正在尝试在Cloudformation中设置仪表板,并希望使用导出的值使其具有动态性:但它没有说明:
仪表板正文无效,存在1个验证错误:[{“消息”:“无效的度量字段类型,只允许使用\“字符串\”类型”,“数据路径”:“/widgets/0/properties/metrics/0/3”}](服务:AmazonCloudWatch;状态代码:400;错误代码:InvalidParameterInput;请求ID:01f3ebfa-d856-11e8-a2dc-dd8c90ad1109)
代码是
我正在尝试创建一个简单的web部署模板,该模板引用来自另一个模板的资源。实例已成功创建,但终止时出现信号故障错误。我是新加入云阵营的,似乎在这里遇到了障碍-
我能够启动Linux EC2实例,安装httpd并创建index.html,但代码似乎无法执行帮助程序脚本
AWST模板格式版本:2010-09-09
描述:此模板将通过引用其他模板创建的现有VPC来创建web实例。
参数:
NetworkStackName:
说明:>-
包含网络的活动CloudFormation堆栈的名称
将在中使用的
在CDK中,对于大多数构造,我还可以找到它的Cfn变体。有什么区别?道具和桌椅。哪个是我们通常应该使用的?Cfnxx资源是低级构造
“这些构造表示AWS CloudFormation中可用的所有AWS资源。”
与高级构造相反,高级构造“提供相同的功能,但处理CFN构造所需的许多细节、样板和粘合逻辑”
更多信息请访问:
就我个人而言,我只在高级构造中没有API可用于我试图实现的目标时才使用它们。Cfnxx资源是低级构造
“这些构造表示AWS CloudFormation中可用的所有AWS资源。”
Cloudformation堆栈在使用Cloudformation创建AWS::CloudWatch::Alarm时抛出错误“遇到不支持的属性比较运算符”
根据AWS文件比较运算符值大于或等于阈值是有效的。
我使用AWSTemplateFormatVersion作为2010-09-09
任何帮助都将不胜感激:)
可能是区分大小写的。请尝试将设置为大于或等于阈值的值只是一个输入错误。应该是而不是comparisonoperator
可以帮助您更快地捕获这些信息,并且可以通过自动完成帮助防止输入错误
我正在使用以下命令通过AWS Cli获取我想要的命令:
aws cloudformation --region ap-southeast-2 describe-stacks --stack-name mystack
返回结果OK:
{
"Stacks": [
{
"StackId": "arn:aws:mystackid",
"LastUpdatedTime": "2017-01-13T04:59:17.472Z",
我不清楚引用或变量如何与CloudFormation一起工作
当前,我在我的serverless.yml中的角色如下所示:
iamRoleStatements:
- Effect: Allow
Action:
- dynamodb:DescribeTable
- dynamodb:Query
- dynamodb:Scan
- dynamodb:GetItem
- dynamodb:PutIt
我在sceptre中描述了一个堆栈的场景,在这个场景中,我必须将一个已知的端口号附加到可以从解析器获得的主机名/ip,如下所示:
LdapServerURL: !stack_output_external some-stack::Host
我希望对“LdapServerURL”进行加密或具有如下值:-
主持人:389
其中389是已知端口。遗憾的是,目前不支持该端口。
您能否将端口添加到输出中,因为URL可以包含端口
我曾经写过一些东西来解决这个问题,但没有成功:,它是为权杖v2设计的,但是如
我正在使用Serverless部署我的AWS cloudformation堆栈。在我的一个表上,我通过“streamnabled”启用流:true。启用此选项后,我在部署时收到一个错误:遇到不支持的属性streamnabled
如果删除该属性,则会出现验证异常:ValidationException:Stream streamnabled为null
我发现了一个git问题,该问题已得到解决,显然已得到修复(),但在升级到v1.3之后,我仍然在部署时遇到相同的错误
任何人都能洞察问题所在吗?默认情
我正试图建立一个新的回购协议,但我一直收到错误
The CloudFormation template is invalid: Template error: instance of Fn::GetAtt
references undefined resource uatLambdaRole
然而,在我的uat阶段中,具有完全相同格式的开发阶段工作得很好
我为每个环境都有一个资源文件
发展
uat
在myserverless.yml中,我的角色定义为
role: ${self:custom.
请帮我渡过难关。我必须输入3个逻辑ID才能回滚更新,但cloudformation中的正则表达式不允许这样做,因为正则表达式似乎不允许使用逗号。但是AWS中的“继续回滚”指令明确规定使用逗号:
要跳过资源,请键入逗号分隔的逻辑资源列表
资源ID。仅包括阻塞资源的资源
回滚。”
但是cloudformation正则表达式不允许使用逗号????我错过了什么?我不能前进也不能后退。我的云层被卡住了
尝试回滚时出错:
无法回滚:1次验证
检测到错误:位于的值“[rRoute10,rRoute192,rR
我正在通过从相应区域读取最新的ami id来自动化cloudformation模板。我能够通过使用terraform实现这一点
在terraform中,我们有数据源来查询和过滤aws ami-id。类似地,我们在CloudInformation中有任何源来查询和过滤私有aws ami id吗
在terraform中,我们可以使用下面的
data "aws_ami" "example" {
executable_users = ["self"]
most_recent = tru
我正在努力学习和实践AWS Cloudformation模板
在验证模板时,我发现以下错误
$ aws cloudformation validate-template --template-body file:///home/bhemanth/Downloads/ec2-templates/singe-instance-v2.yaml
An error occurred (ValidationError) when calling the ValidateTemplate operation
我试图通过API网关同步执行AWS步骤函数。问题是,对于API Gateway V1,我必须使用OpenAPI语法(即swagger)来指定integrationSubtype参数,但有些东西不起作用。以下是我正在使用的CloudFormation模板:
{
"AWSTemplateFormatVersion": "2010-09-09",
"Parameters": {
"restApiNam
我创建了一个aws Cloudformation脚本并启动了它,但当我查看日志时,它显示了以下错误:
ValidationError:堆栈stackarn处于创建完成状态,无法发出信号
我看过其他关于这个错误的帖子,这些帖子认为问题在于从第一个实例派生的实例id或自动缩放组没有所需的容量集,这两种情况对我来说都不正确
这是我的云形成模板
{
"AWSTemplateFormatVersion": "2010-09-09",
"Metadata": {
"AWS::CloudFormati
我想在控制台中为该区域的CloudFormation模板中的参数选项提供一个可用区域列表。最好使用对流层Python模块
我看到我将调用Fn::GetAZs来创建可用值列表,用作参数的选项,但我想知道是否已经有这样的示例,或者是否可能
比如说:
template.add_parameter('AZs', AllowedValues= call Fn::GetAZs here some how ... )
"mySubnet" : {
"Type" : "AWS::EC2::Subnet",
我有一个Cloudformation模板,用于通过Cloudfront通过HTTPS提供S3内容(见末尾的堆栈)
它在HTTPS上运行良好-
(env) justin@justin-XPS-13-9360:~/work/gists/ae46e471eb0e10e877731d787a9fbc2a$ curl -iv https://cloudfront-https-demo.s3-eu-west-1.amazonaws.com/index.json
* Trying 52.218.90.64
我创建了一个嵌套的IAM堆栈,它包含3个模板:
-iam政策
-iam角色
-iam用户/组
masterstack模板如下所示:
Resources:
Policies:
Type: AWS::CloudFormation::Stack
Properties:
TemplateURL: https://s3.amazonaws.com/xxx/iam/iam_policies.yaml
UserGroups:
Type: AWS::CloudForm
我的cloudformation模板有两个AWS::SNS::订阅。我删除了这些并部署了模板。这2个AWS::SNS::Subscription中的1个未能删除,最终导致删除失败。我期望AWS::CloudFormation::Stack在删除AWS::SNS::订阅失败时回滚。但令我惊讶的是,它最终处于更新完成状态。通常,如果CloudFormation无法在清理步骤中删除资源,它不会回滚,但会成功。您是否通过UI检查订阅是否仍然存在?可能它在重试时删除了它们。是的,订阅仍然存在
我有一个SQS队列ARN作为CloudFormation模板的输入,如何引用队列ARN中的队列名称或URL
换句话说,我如何从ARN获取CloudFormation逻辑队列?(这样我就可以使用GetAtt引用所有属性)假设您不能从创建队列的任何地方传入名称,那么您就可以从ARN获取队列名称。使用Fn::Split在冒号上拆分arn。然后使用Fn::Select选择列表中的最后一个字符串。这大概是
{ "Fn::Select" : [ "5", { "Fn::Split": [":", {"Fn:
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 14 页