在CloudFormation模板中,我正在创建一个EMR集群,并使用AWS::EMR::Step资源添加了两个配置单元步骤
第一步包含-配置单元DDL语句
第二步包含-hivedml语句
我通过传递CloudFormation模板来创建堆栈。但在创建EMR时,第二步多次在第一步执行时包含所有DML语句,并且由于不存在DB&table模式,所以失败
我想设置优先级,以便每次配置单元DDL步骤都首先执行。
感谢您在这方面的帮助。不,您将无法在EMR步骤API上设置优先级。因此,云形成将无法具有该功
在AWS的Cloudformation中,如何将自动缩放组(ASG)连接到应用程序负载平衡器目标组
在Cloudformation模板(CFT)中似乎没有任何直接的方法可以直接做到这一点,尽管可以使用AQWSCLI或API。AWS::ElasticLoadBalancingV2::TargetGroup资源仅提供以下目标类型:
实例。目标由实例ID指定
ip。目标由IP地址指定
lambda。目标组包含一个Lambda函数
这是因为,显然,人们没有将ASG连接到目标群体;而是将一个或多个目标组
我正在尝试创建循环依赖项安全组。首先,我创建了两个安全组。然后我尝试添加入站规则。但我无法为入站规则添加多个规则
"SecurityGroup01": {
"Type": "AWS::EC2::SecurityGroup",
"Properties": {
"GroupDescription": "SecurityGroup01",
"VpcId": { "Ref": "VPCID" },
"SecurityGroupEgress"
据我了解:
自定义资源只是一个AWS Lambda函数,它在设置、更新或删除堆栈时运行
资源提供者是普通的旧代码,其中为所有堆栈操作(更新、创建、删除等)编写挂钩
我不明白为什么有人会用前者而不是后者。资源提供者似乎更容易编写和测试。一个历史原因是,直到最近,自定义资源还是唯一的选择:
我以前将我的表定义为MyData。我的策略资源如下所示:
functions:
myfn:
handler: lambda/handler.my
role: DataIamPolicy
environment:
DynamoTableName: "my-data"
我认为这可能是政策中的资源,但改变这一点似乎没有帮助 因此,问题在于为您的功能定义一个特定的角色。默认情况下,serverless将角色和策略应用于所有函数
我申请了:
DataIamPoli
我正在使用Amplify开发一个应用程序
一切都很好,我在我的dev环境中做了一些更改,加入了社交登录,并且在本地运行良好
然后,当我尝试使用Amplify Console CD进行部署时,它失败了,在深入研究之后,我找到了使用Amplify simplepush的自定义脚本的解决方案
把这放在上下文中
一切恢复正常后,我很高兴将我的更改推送到staging
因此,我已经更改了分支,签出了staging环境并尝试推送
然后我陷入了一个错误,说它找不到AppClientID
资源名称:XXXXXX
我有两个同名的托管区域(一个是私有的,另一个是公共的),我试图在我的cloudformation模板中使用公共托管区域id,以便它在创建堆栈时注册。每次都失败了
没有这样的托管区域ID
当使用区域名称时,它通常起作用(在两个相同名称之前)。我无法确定问题的起因。我拥有AWS帐户的完全访问权限,cloudformation正在使用我的cred运行。以下是模板:
PublicHostedZone:
Type: String
Description: Provide existing Amazon R
我试图创建jobqueue模板,在其中声明输出值,以便将jobqueue导入到其他堆栈中
模板:
{
"Resources": {
"MyJobQueue": {
"Type": "AWS::Batch::JobQueue",
"Properties": {
"ComputeEnvironmentOrder": [
{
"Order": 1,
"ComputeEnvironment": "testcompen
我试图获取所有S3存储桶数据的cloudtrail,但它不断抛出错误。该模板如下所示:
DataTrail:
Type: AWS::CloudTrail::Trail
Properties:
CloudWatchLogsLogGroupArn:
Fn::ImportValue:
!Sub ${EnvironmentName}-CloudtrailLogGroupARN
CloudWatchLogsRoleArn:
Fn::ImportValue:
我正在尝试为Route53 AWS上的公共托管区域设置日志记录。模板如下所示:
Resources:
HostedZonePublic1:
Type: AWS::Route53::HostedZone
Properties:
HostedZoneConfig:
Comment: !Join ['', ['Hosted zone for ', !Ref 'DomainNamePublic' ]]
Name: !Ref DomainNamePublic
我有一个云形成模板,可以创建一个堆栈。堆栈创建不同的实例,实例1和实例2。在创建实例1的过程中,会运行一个bash脚本。我需要在这个bash脚本的退出代码为1时回滚堆栈创建。有什么方法可以做到这一点吗?将设置-euo pipefail放在脚本顶部的下/bin/bash行。如果您的命令失败,这将导致脚本返回失败状态,这将导致回滚。您需要使用CFN Signal在userdata失败时向Cloudformation发送信号
看看这个例子
此CloudFormation模板按预期工作,并创建本文所需的所有资源:
但是WorkflowStartTrigger资源实际上并不运行爬虫程序。如何使用CloudFormation模板运行爬虫程序
Resources:
MyRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: "2012-10-17"
Stateme
我正在使用Cloudformation部署资源。这包括一个Cloudfront CDN和一个记录集。我希望它为自定义域test.example.com创建一个新的记录集,该记录集将指向我的Cloudfront CDN,它指向一个S3存储桶。成功部署后,出现以下错误:
403 ERROR
The request could not be satisfied.
Bad request. We can't connect to the server for this app or website at
我们正在寻找一种建议的设计模式来管理CDK堆栈中的外部依赖关系。具体来说,我们将Atlas(mongodb)与AWS堆栈结合使用。我们的AWS堆栈使用CDK/CF完全部署。我们希望在我们的AWS帐户和Atlas实例之间使用VPC对等连接。简言之,提供这种对等连接的步骤是:
在AWS帐户中创建VPC(目前作为我们CDK堆栈的一部分完成)
在Atlas帐户中请求VPC对等连接,参考步骤1中的VPC id
等待几分钟,批准AWS帐户中的VPC对等请求
在AWS帐户中,添加一个路由表条目,将流向Atla
我有一个云形成模板(mainVPC),它在VPC中创建几个子网,并导出名为“PrivateSubnetA”、“PrivateSubnetB”的子网。。。
我有一个创建DBSubnetGroup的不同云形成模板。如果用户不提供数据,我想使用“PrivateSubnetA”、“PrivateSubnetB”作为默认值。CloundFormation不支持在参数中导入值。因此,我输入了一些默认值(XXXX),并有一个条件部分来查看用户是否提供了一些输入
Conditions:
userNotPro
我目前正在等待使用terraform和CloudFormation。
有一个问题我还没有看到答案(或者,我还没有找到答案)
在地形中,你给每一件东西都起了一个精确的名字。这将删除具有这些名称的目标。
但是CF呢?如果我们已经有了一个架构,并且我想添加/删除一个实例并使用CF,那么这将如何工作?它如何知道目标是哪一个
我希望这个问题有意义!我已经使用过terraform,但在CloudFormation之前从未使用过。CloudFormation使用两种机制来识别其资源。CFN模板有一个它创建的资
有人知道我是否可以在我的云形成模板配置文件中设置电子邮件主题和电子邮件消息字段吗?
在中,这些字段似乎不可用。啊,在下面找到了它。好了:
Resources:
CognitoUserPool:
Type: AWS::Cognito::UserPool
Properties:
UserPoolName: ${self:custom.service}-${self:custom.stage}-UserPool
AdminCreateUserConfig:
我有一个IAM策略,无法使用无服务器框架进行部署。错误消息为(服务:AmazonIdentityManagement;状态代码:400;错误代码:格式不正确的policyDocument;)。该策略如下所示:
DtcServiceFunctionRole:
Type: AWS::IAM::Role
Properties:
Path: "/"
RoleName: DtcServiceFunctionRole
AssumeRolePolicyDocument:
Version:
我的构建步骤之一是运行一个cloudformation模板,该模板具有自定义转换。转换在us-east-1中可用,us-east-1是运行代码构建的同一区域。当我使用本地cli运行该cloudformation模板时,它也可以工作。您能否提供如何使此转换在代码生成容器中工作
我的本地cli是aws cli/1.16.223 Python/3.6.0 Windows/10 botocore/1.12.213
During handling of the above exception, anoth
curl:没有指定URL!
curl:有关详细信息,请尝试“curl--help”或“curl--manual”
已退出,代码退出状态为2
CircleCI收到退出代码2您的错误不是Circle CI,而是curl命令。错误消息表示它没有要放置的URL。我确实看到您在curl命令中包含了一个URL,所以问题可能出在您的行结尾。尝试删除行尾,然后再次运行circle CI作业。您也可以尝试从本地命令行运行该命令。经过一些麻烦的调试,我发现以下代码不起作用。PUBLIC\u DNS=$(aws ec
我使用ECS向导创建了一个CloudFormation堆栈。我想自定义一些UserData条目来修改一些参数。但是,如图所示,必须在多行中显示的参数显示在一行中。检查当前参数后,它将应用于多行。在web UI中修改后,UserData参数更改为一行,因此脚本无法工作。有没有办法正常更新这些值
不幸的是,CloudFormation控制台目前不支持输入多行参数
有两种变通方法:
支持多行参数:--parameters ParameterKey=,ParameterValue=,第1行
第2行“
我将代码从ruby移植到Python,用于CloudFormation堆栈创建项目。下面是一个堆栈,我一直在获取“为不需要它们的模板指定的参数值”
这真的没告诉我什么
我已经对照模式检查了json,一切正常,并对照原始代码创建的堆栈进行了检查,结果匹配,因此有人可以看到这里的问题,或者至少为我指出了正确的方向
{
"AWSTemplateFormatVersion": "2010-09-09",
"Description": "EcsStack-5ad0c44afbf508d0b
我正在努力解决以下问题
我正在使用Cloudformation创建堆栈(堆栈是相同的)每个堆栈都有一个VPC和一个具有相同路由的私有托管区域(比如me.company.com)
第一个堆栈创建良好,第二个堆栈出现以下错误:
"Duplicate hosted zones for hosted zone name me.company.com.: ZAIN4N303O6JL, Z36EHAOJPLFUVJ"
当我尝试通过AWS控制台执行相同操作时,我没有发现这个问题,这里的问题到底是什么,如何解
是否可以使用CloudFormation从AWS市场启动实例
据我所知,AMI无法从CloudFormation获得
有解决办法吗
据我所知,AMI无法从CloudFormation获得
大多数市场解决方案实际上使用公共AMI。然后,您必须使用市场解决方案订阅或自带许可证来提供许可证。例如,Palo Alto(AWS市场解决方案)
我正在创建一个EC2实例模板,它将运行一个特定的应用程序。我希望能够将参数传递到我在模板UserData中执行的应用程序启动脚本
理想情况下,我可以将指定的参数转换为:
A) 我将在启动脚本中访问的ec2实例上的环境变量
B) 我的UserData脚本中的可用变量
这是我想要完成的一个简化模板。。。没有发现任何aws文档表明可以完成:
Resources:
GitlabRunner:
Type: "AWS::EC2::Instance"
Description: "AWS s
我使用的是无服务器框架,我希望能够在验收测试中引用API网关URL
我的测试环境经常被破坏然后重新创建,因此不可能将URL硬编码到测试中
我知道有很多方法,但这无助于我在本地获取测试的URL
我希望cloudformation输出可以在.serverless包中引用,并通过json访问,但事实似乎并非如此
知道如何在验收测试文件中引用API网关URL吗
注意:这些测试需要在AWS上运行,而不是使用本地服务器模拟API网关。请考虑为您的API添加一个API网关自定义域。然后,您可以使用已知的DNS
我正在尝试应用我的cloudformation模板,我得到了以下神秘错误:
botocore.exceptions.ClientError:发生错误(ValidationError)
调用CreateStack操作时:模板错误:条件
令牌只能在条件块中使用
堆栈跟踪为
File "/Users/user/.env/lib/python3.7/site-packages/botocore/client.py", line 357, in _api_call
return self._m
使用嵌套堆栈是AWS CloudFormation中的一个重要组成部分,它们确实解决了许多问题(代码重用、堆栈限制等)
一般来说,使用更新所需的最小访问权限(使用UpdateStack命令的RoleARN)进行任何类型的更新都是一个好主意。我似乎找不到任何关于IAM access对于更新具有嵌套堆栈的堆栈是必要的文档。如前所述,堆栈更新将始终再次获取嵌套堆栈的模板
(除了要更改的资源所需的任何权限外,s3:GetObject(或s3:GetObjectVersion,如果使用了版本化的url)对
我想了解无服务器是如何工作的。我已经阅读了他们的很多文档/教程,但是当我谈到我想要构建一些特定的东西的部分时,比如RDS实例,我没有关于MVP的参考框架
我发现这显示了建立RDS实例的基础。我将该地区换成了一个更本地的地区,然后进行了尝试:
service: sandbox
app: sandbox
org: # omitting
provider:
name: aws
runtime: nodejs12.x
resources:
Resources:
Vpc:
我想获取通过LaunchConfiguration创建的EC2s的PrivateIP属性
我需要该属性,以便我可以为实例分配一个类型a dns记录以用于其他目的
这是我的密码:
Resources:
webLaunchConfig:
Type: 'AWS::AutoScaling::LaunchConfiguration'
Properties:
ImageId: !Ref webEc2AMI
InstanceType: !Ref
当使用新的容器映像更新Cloudformation EC2容器服务(ECS)堆栈时,是否有方法控制超时,以便在服务不稳定时自动回滚
作为自动缩放组的一部分的UpdatePolicy属性没有帮助,因为没有创建实例
我也尝试过等待条件,但一直无法使其发挥作用
堆栈实质上只是停留在更新进行中状态,直到达到默认超时(~3小时),或者触发取消更新
理想情况下,我们能够在短时间后使堆栈超时
这就是我的Cloudformation模板的外观:
谢谢。如果您的WaitCondition是原始创建,您需要重命名
自动缩放组需要启动配置
问题是LaunchConfiguration需要ImageId和其他参数,而这些参数是我使用容器时没有的
使用ECS Fargate时应如何配置LaunchConfiguration
AWS::AutoScaling::AutoScalingGroup
AWS::自动缩放::启动配置
试试这个云形成堆栈。它支持EC2和FARGATE
使用此必需参数
TaskDefinitionName
ECSServiceRoleARN
ECSAutoscalingRoleARN
下面是我创建RDS实例的CFD脚本。
我正在尝试创建与PostgreSQL兼容的Amazon Aurora,但我面临:无效存储类型:gp2错误
SnapshotRDSDBInstance:
Type: AWS::RDS::DBInstance
Properties:
AllocatedStorage: 20
DBInstanceClass: 'db.t3.medium'
DBName: mydatabase
StorageTyp
有没有办法从创建的资源中找到堆栈名?
假设我有一个创建堆栈a和资源B的cft模板。
然后由于需求,我必须为相同的资源B创建另一个堆栈C
但是堆栈C的creae不允许我创建资源B,因为堆栈A已经用它锁定了。
因此,我的目的是找到拥有资源B的早期堆栈,并删除堆栈A。
然后,使用CFT实现堆栈B,然后创建资源B
我想用boto3
除了您定义的任何标记之外,AWS CloudFormation还会自动
使用前缀aws创建以下堆栈级别标记:
aws:cloudformation:逻辑id
aws:clou
我正在构建一个自动缩放WordPress环境,但在设置CF模板时对EFS有一个问题。我是否应该将EFS挂载在现有WP目录(即/var/www/html)的顶部,或者将WordPress文件复制到EFS,然后将其挂载到/var/www/html?因此WordPress由EFS支持
首先,您将创建EFS,然后安装完成。之后,将编写一个cron作业,将所有Wordpress文件从var/www/html复制到挂载目录
创建EFS
option_settings:
aws:elasticbeanst
使用sam在嵌套目录中部署带有处理程序的lambda时遇到问题
我执行以下步骤:
包装:
sam包--template template.yaml--输出模板文件packated.yaml--s3 bucket
创建我在下一步中使用的packaged.yaml
部署:
aws cloudformation部署--模板文件/Users/localuser/Do/learn sam/dynamo stream lambda/package.yaml--堆栈名barkingstack
错误
Faile
如何使用aws cloudformation或aws cdk设置aws aurora mysql的表
在我的设置中,我有一个无服务器应用程序,使用lambda提供各种微服务。数据库是一个无服务器的aurora mysql数据库。为了提供aws基础设施,我将使用aws CDK。我喜欢使用一些迁移工具(如liquibase或sequelize)来设置数据库
目前我正在使用一个separat lambda函数。lambda函数执行liquibase以设置数据库更改。但在CDK部署成功后,我必须单独执行
我正在构建一个Cloudformation模板,用于在“eu-west-1”区域部署基础设施。在OpsWorks中,该区域是“全球”的。这意味着该资源的所有相关指标(“AWS/OpsWorks”)都存储在区域“us-east-1”中
我想在这些指标上创建一些警报,但这是不可能的,因为创建的警报存储在与我的Cloudformation相同的区域,并且无法访问存储在全球区域“us-east-1”中的指标。因此,我的所有报警都处于“数据不足”状态,因为该区域不存在度量
有人有办法解决这个问题吗
下面是AWS Cloudformation模板的片段,我想在创建Windows Server 2012 R2(64位)后使用PowerShell安装Web Server Windows功能。但是,AWS Cloudformation成功创建了Windows Server 2012 EC2实例,但未安装Web服务器角色
"commands" : {
"1-install-roles" : {
"command" : { "Fn::Join
我试图使用文档中提到的Java-8为Lambda使用AWS SAM建立AWS代码管道
(示例在node.js中)
然而,我的暂存被困在CloudFormation Stack中,很长一段时间被困在REVIEW_in_PROGRESS中。有没有办法调试这个问题
我没有看到任何进一步的事件在控制台中出现。有什么具体的东西需要检查吗
模板如下所示
$ aws codepipeline get-pipeline --region us-east-1 --name aws-lexbot-facebook
从2018年11月7日开始,我们在更新CloudFormation堆栈时开始出现以下错误:
Updating user pool schema is not allowed from cloudformation. Use the
AddCustomAttributes API or the AWS Cognito Console to update user pool
schema.
我们的CF堆栈对Cognito池的自定义属性没有任何更改。它们只更改了后确认和自定义消息触发器,并添加了AP
我正在使用多次使用的子模板构建嵌套的Cloudformation堆栈
我希望不同的资源(S3存储桶、目标组等)使用AWS::StackName作为其名称的一部分
!Sub ${AWS::StackName}-s3bucket
嵌套堆栈名称通常包括AWS生成的大写字符串,如:
foobar-vpcstack-YN4842UYLUFL
但是,有些资源只允许使用全小写的名称。
有没有办法确保嵌套的堆栈名称都是小写的
或者有更好的方法来处理嵌套堆栈及其资源的命名吗?我使用以下规则为嵌套Cloudfo
在cloud trail中,我可以在CloudWatch Logs部分下选择现有的日志组CloudTrail/DefaultLogGroup。是否可以使用cloudformation模板完成此步骤
假设您正在使用CloudFormation创建日志组:
LogGroup:一个新的日志组
类型:AWS::Logs::LogGroup
特性:
保留天数:365天可选
CloudTraillogRole:一个追踪你的角色
类型:AWS::IAM::角色
特性:
假设政策文件:
声明:
-行动:sts:
我一直在阅读to,我不知道如何从cloudwatch事件触发aws批处理:
在aws cli中,我可以使用以下bash代码成功执行aws批处理作业:
BATCH_JOB_QUEUE_NAME="test-batch-job-queue"
BATCH_JOB_DEFINITION_NAME="test-batch-job-def"
BATCH_JOB_DEFINITION_ARN=$( aws batch describe-job-definitions \
--job-definition
我想知道是否有一种方法可以让我在CloudFormation中重用代码块,而无需复制和粘贴。例如:现在我正在为不同的Redis群集发出一系列警报,唯一真正的区别是CacheClusterId(cache-001然后cache-002,在本例中是cache-003)本身。我查阅了说明书,但找不到不复制粘贴的好方法。或者是否可以使用值数组而不是单个值
"CacheMemoryUsage001": {
"Type": "AWS::C
我正在使用CDK的AwsCustomResource创建一个S3对象。
我不理解一项采购政策。
他们说:
策略(必需):应用于资源的策略
关于角色:
角色(可选):实现此自定义资源提供程序的Lambda函数的执行角色
当我设置一个角色,并检查自定义资源的lambda时,我看到它从角色获得了权限,就像文档所说的那样
我发现当我设置策略(仅用于测试的值)时,例如:
policy = AwsCustomResourcePolicy.from_statements(statements=[PolicyS
我想在云形成模板中创建安全组的入站规则。我想从许多不同的IP打开3306端口
"SecurityGroupIngress": [
{
"IpProtocol": "tcp",
"CidrIp": "0.0.0.0/0",
"FromPort": "3306",
"ToPort": "3306"
}
我知道文档中说
我有一个输入参数,它是一个角色名称列表:
Paramters:
UserRoles:
Type: CommaDelimitedList
Default: ""
现在我想在策略文档主体中使用这些角色。如果只有一个角色,我会:
Principal:
AWS:
- !Join
- ''
- - 'arn:aws:iam::'
- !R
我在通过cloudformation模板安装fail2ban时遇到问题。请参阅下面的模板
My template在映射中从AMI创建EC2实例,但EC2仅包含安装在其上的应用程序。通过yum安装包部分无效(未安装包)
任何方向都值得赞赏
{
“AWSTemplateFormatVersion”:“2010-09-09”,
“说明”:“AWS云层形成灯”,
“参数”:{
“关键字名称”:{
“描述”:“用于启用SSH访问实例的现有EC2密钥对的名称”,
“类型”:“AWS::EC2::KeyPa
我在cloudformation模板中设置了BackupRetentionPeriod:15。
但是,它不会对实际实例产生任何影响。
附言:
我试着在DBInstance级别设置BackupRetentionPeriod,但它不允许我这样做,因为它是一个集群。实际上它正在工作
aws clidescripe db clusters表明更改是有效的
$ aws rds describe-db-clusters --db-cluster-identifier appname-test-d
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 14 页