我正在尝试启动CloudFormation入门中所述的示例 CloudFormation 模板。
我删除了默认 VPC,添加了新 VPC (10.0.0.0/16),并在其中创建了一个新子网 (10.0.0.0/24)。根据 AWS 文档,我无法将自己的 VPC 设置为默认值,现在无法启动我的 CloudFormation 模板。
我看到这个错误:
根据https://aws.amazon.com/premiumsupport/knowledge-center/cloudformation-cloudformer-default-vpc/,我可以通过描述我的新 VPC 来解决问题,但我不知道为什么这是正确的。
我计划使用嵌套堆栈来创建(SNS、ELB 和应用程序)堆栈。所以现在一旦创建了 sns,我必须将 arn 值传递给 ELB 和应用程序 json(云形成模板),那么获取 SNS arn 的资源名称是什么一旦它被创建
前任:
"Fn::GetAtt" : [ "MyLB" , "DNSName" ]
Run Code Online (Sandbox Code Playgroud)
同样,我正在寻找 SNS Arn ..
我们有多个 CloudFormation 脚本来创建我们的堆栈。
现在,我们要编写(自动化)新脚本,这些脚本仅用于更新1 个特定资源(业务需求)。
我遇到的问题是如何在我的更新脚本中引用现有资源?我知道有REF函数,但我相信这只是用于在同一脚本中引用资源。AWS 是否提供了一些东西来引用现有资源?
我已经读到我们可以使用,parameters但还有其他选择吗?
之前我已经基于镜像创建了一个 EC2 实例。在创建过程中,亚马逊向导创建了一个密钥对,然后将其提供给我,以便我可以连接。
现在我尝试使用 CloudFormation,以便我的新服务器安装了一些基本软件(LAMP 堆栈)。但是我最终得到的 EC2 实例没有我可以找到的 ssh 密钥对。
在 CloudFormation 上创建堆栈时,是否可以关联密钥对?
我已经读到有一些方法可以通过停止实例、创建克隆以及其他一些步骤来将密钥添加到实例的卷中。但是我在这方面的管理技能并不那么强,所以我希望(对我来说)更简单。
希望这是有道理的 - 非常感谢任何帮助!
我们有一个带有 Internet 网关的 VPC。我们有 3 个子网(每个 AZ 一个),并且希望对所有三个子网使用一个路由表。此 RT 包含将 0.0.0.0/0 路由到 igw 的规则,但是当我们尝试将多个子网与此 RT 关联时,堆栈创建在创建路由规则时失败,并给出以下错误消息:
route table rtb-xxxxxxx and network gateway igw-xxxxx belong to different networks.
Run Code Online (Sandbox Code Playgroud)
这很奇怪,因为 igw 没有连接到子网,它连接到 VPC 本身。
为了让模板正常工作,我必须做的是只与 RT 有 1 个子网关联,然后再用其他两个更新堆栈。
我已经尝试添加 2 个等待条件,一个与 RT 的创建相关,另一个与路由规则的创建相关,但是它们没有解决问题 - 我仍然在同一个该死的规则上遇到相同的错误:(
任何人都可以阐明我需要做些什么来解决这个问题?
我有 CloudFormation 堆栈,它经常由脚本更新(更改启动配置的源 AMI)。我希望它由相同的脚本部署,由非特权用户/实例角色执行。目前所有更新都是由管理员用户完成的,拥有比需要更多的权限。
我最初的方法是尝试和失败,在日志中查看缺少哪些权限并一一添加。需要很多时间,而且远没有成效。
我认为应该有一种方法可以根据 CloudFormation 模板生成权限列表,以及更新堆栈本身的权限。
我的第二个想法是处理成功部署的 CloudTrail 日志以从中提取操作和资源。
可能已经有一种方法可以做到这一点,而我正在重新:投资轮子?
security amazon-web-services amazon-cloudformation amazon-iam
我目前正在开发和启动一个相对简单的 cloudformation 堆栈。只是一些简单的 RDS 东西,通过外部 CI+CD 服务触发。
但是,我当前的开发周期效率非常低,这纯粹是因为我不明白我设置的持续集成IAM 组的 IAM 权限需要是什么。
我将尝试运行 Cloudformation 模板的部署,但会在设置某些内容并开始回滚时出现一些错误。回滚将失败,因为它需要不同的权限才能删除它迄今为止设法创建的内容。我添加了我发现的两个新权限,删除堆栈,因为它处于ROLLBACK_FAILED状态,然后重试。
我可以通配所有我需要的服务的所有权限,但是在将一些 AWS 凭证交给外部服务时,这不是最佳实践。
因为这。有没有办法知道我特别需要根据 cloudformation 模板设置哪些 IAM 权限?或者,每个 Cloudformation 资源是否需要一些 IAM 权限列表?我是否在尝试限制尽可能多的权限方面过于迂腐?还是我永远注定要进行 IAM 权限调整的试验?
关于 ElasticSearch 访问控制的AWS 文档讨论了如何通过创建 ES 域资源策略并将资源设置为 ES 域 ARN 后跟/*. 对于例如
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::123456789012:user/test-user"
]
},
"Action": [
"es:*"
],
"Resource": "arn:aws:es:us-west-1:987654321098:domain/test-domain/*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
在此示例中,test-user被授予对 ES 域子资源执行操作的权限,但不授予对 ES 域配置本身执行操作的权限。
当供应的使用CloudFormation AWS ES域,可以设置与所述资源策略AccessPolicies财产。AWS::Elasticsearch::DomainAccessPolicy不幸的是,没有 CloudFormation 资源,似乎在 ES 域上设置资源策略的唯一方法是使用此属性。
如果现在有办法知道要在现场使用的 ES 域 ARN,那么如何利用访问控制文档中推荐的策略类型Resource,因为在访问策略所在的位置尚未创建 ES 域定义?
我已经尝试DomainArn在访问策略的资源字段中引用ES 域的属性,但可以理解的是,这不起作用,因为它创建了循环依赖。
到目前为止,我想到的唯一解决方案是等到 AWS 更新 CloudFormation 以包含 …
我该如何进一步排除故障?我正在尝试运行一个简单的 nginx 容器,但负载平衡器抱怨运行状况检查失败并且任务没有响应其 ip 号,可能是因为负载平衡器出错。
我在 cloudformation 中将任务的优先级设置为 2。如果我尝试将优先级设置为 1,则 CF 堆栈将无法部署。能跟这有关系吗?
# Create a rule on the load balancer for routing traffic to the target group
LoadBalancerRule:
Type: AWS::ElasticLoadBalancingV2::ListenerRule
Properties:
Actions:
- TargetGroupArn: !Ref 'TargetGroup'
Type: 'forward'
Conditions:
- Field: path-pattern
Values: [!Ref 'Path']
ListenerArn:
Fn::ImportValue: !Ref LoadBalancerListener
Priority: !Ref 'Priority'
Run Code Online (Sandbox Code Playgroud)
资源看起来像:
Resources:
# The task definition. This is a simple metadata description of what
# container to run, and what resource requirements it has.
TaskDefinition:
Type: AWS::ECS::TaskDefinition
Properties: …Run Code Online (Sandbox Code Playgroud) amazon-web-services amazon-elb amazon-cloudformation aws-fargate
我无需设置入口和出口规则,而是如何在 CloudFormation 模板中引用现有 EC2 安全组?
Resources:
EC2Instance:
Type: AWS::EC2::Instance
Properties:
InstanceType:
Ref: InstanceType
SecurityGroups:
- Ref: InstanceSecurityGroup
KeyName:
Ref: KeyName
ImageId:
Fn::FindInMap:
- AWSRegionArch2AMI
- Ref: AWS::Region
- Fn::FindInMap:
- AWSInstanceType2Arch
- Ref: InstanceType
- Arch
InstanceSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Existing Groups
SecurityGroupIds:
- Ref: sg-12345
- Ref: sg-12312
Run Code Online (Sandbox Code Playgroud)
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 0.0.0.0/0
SecurityGroupEgress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 0.0.0.0/0
Run Code Online (Sandbox Code Playgroud) amazon-iam ×3
amazon-ec2 ×2
amazon-elb ×1
amazon-sns ×1
amazon-vpc ×1
aws-fargate ×1
resources ×1
security ×1
ssh ×1
template ×1
yaml ×1