相关疑难解决方法(0)

为什么人们使用Puppet/Chef与Amazon Cloud Formation而不是仅仅使用CloudInit?

我们计划使用非"预烘烤"的AMI EC2实例.即,当它们被旋转时,它们只是AWS linux的安装.我们的引导过程将引入我们需要的各种安装,例如python,tomcat.我们最少有3个实例,最多8个实例.

鉴于这些要求,使用Puppet/Chef是否有用而不是使用Amazon Cloud Formation(CloudInit)?

我能看到的最好的是如果我们使用Puppet,那么我们就会进行声明性编程,这样可以更容易地进行审计,以查看脚本发生了什么.此外,CloudInit有一个16k的脚本大小限制,我们可能会或可能不会遇到.

有没有人从CloudInit转移到Puppet或Chef,因为他们可以在这里回答我的问题?

puppet configuration-management chef-infra cloud-init

83
推荐指数
3
解决办法
3万
查看次数

有没有办法对AWS Cloudformation模板进行单元测试

当我们说cloudformation是'Infrastructure as Code'时,立即想到的下一个问题是如何测试这些代码.我们可以对此代码进行某种基本的单元测试

我正在对云形式验证进行折扣,因为这只是一种进行语法验证的方法,而且我可以使用任何其他免费的JSON/YAML验证器.

我更倾向于某种功能验证,可能测试我已经定义了所有用作引用的变量.可能测试我正在使用的任何属性实际上是该组件支持的属性

不期望它应该测试权限是否正确或我没有用尽我的限制.但至少除了基本的JSON/YAML语法验证之外

unit-testing amazon-web-services aws-cloudformation

29
推荐指数
2
解决办法
1万
查看次数

如何在配置期间获取 AWS CloudFormation 输出/调试语句?

使用AWS Cloudformation时,aws cloudformation create-stack由于某些尚不清楚的原因而失败。对于这个问题,错误和解释不相关,但我认为我传递的参数--parameters在 CloudFormation 模板中未正确处理,或者在评估模板中的表达式或引用变量时可能会出现错误。

不管怎样,我真的希望能够在模板评估期间输出一些调试语句或表达式;堆栈的配置。将表达式输出到 CloudWatch Logs 或其他输出通道的CloudFormation 等效项是什么?logging.debug(some-expression)

CloudFormation Stacks 中的事件日志显示了错误(在我的例子中),但遗憾的是没有显示修复错误所需的详细信息。它在执行/配置期间不显示变量或 CloudFormation 表达式的值,并且(据我所知)我无法创建显示变量或表达式值的事件。对于预配任务,CloudWatch Logs 为空。并且aws cloudformation validate-template没有显示任何错误,因此 CloudFormation 模板在语法上是正确的。

amazon-web-services aws-cloudformation

6
推荐指数
1
解决办法
4026
查看次数

如何在CloudFormation模板中禁用自动缩放组中实例的详细监视?

我正在使用CloudFormation来启动自动扩展组中的某些服务器,我希望它们都能使用基本监控.我尝试设置MonitoringfalseAWS::AutoScaling::AutoScalingGroup性能以及在AWS::AutoScaling::LaunchConfiguration,但堆栈无法启动; 我看到CREATE_FAILED错误信息:Encountered unsupported property Monitoring.

amazon-web-services aws-cloudformation

5
推荐指数
1
解决办法
2179
查看次数

AWS > CloudFormation 模板 - 您可以在上传前对其进行测试吗?

当我将 CloudFormation 模板上传到 AWS 的管理控制台时,AWS 需要几分钟来处理该模板。

这样做 20 次迭代意味着大量时间只是在等待错误消息。

在将它上传到 AWS 的管理控制台之前是否有任何测试(最好不仅仅是“它是有效的 JSON”)?

例如,一个工具运行:

  1. 它是有效的 JSON 吗?
  2. 每个资源/参数的输入是否正确?
  3. 等等...

amazon-web-services aws-cloudformation

4
推荐指数
1
解决办法
637
查看次数

如何调试cloudformation模板?策略中的语法错误。YAML 文件

部署堆栈时遇到的错误:

Syntax errors in policy. (Service: AmazonIdentityManagement; Status Code: 400; Error Code: MalformedPolicyDocument; Request ID: 
Run Code Online (Sandbox Code Playgroud)

这是我的角色策略导致错误:

  roleEc2:
Type: AWS::IAM::Role
Properties:
  AssumeRolePolicyDocument:
    Version: "2012-10-17"
    Statement:
      -
        Effect: Allow
        Principal:
          Service:
            - 'ec2.amazonaws.com'
        Action:
            - 'sts:AssumeRole'
  Path: '/'
  Policies:
    -
      PolicyName: 'bucket-access'
      PolicyDocument:
        Version: '2012-10-17'
        Id: 'BucketPolicy'
        Statement:
        - Effect: Allow
          Action:
          - s3:ListBucket
          - s3:GetObject
          - s3:GetBucketLocation
          Resource:
          - arn:aws:s3:::code-dir
          - arn:aws:s3:::code-dir/*
          Principal: !Ref BucketPrincipal
Run Code Online (Sandbox Code Playgroud)

而且我不知道如何调试它,我不知道如何理解哪里有错误,什么行号。

configuration amazon-web-services aws-cloudformation amazon-iam

2
推荐指数
1
解决办法
3411
查看次数