Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services CloudFormation:条件自动缩放组通知_Amazon Web Services_Amazon Cloudformation_Amazon Sns_Autoscaling - Fatal编程技术网

Amazon web services CloudFormation:条件自动缩放组通知

Amazon web services CloudFormation:条件自动缩放组通知,amazon-web-services,amazon-cloudformation,amazon-sns,autoscaling,Amazon Web Services,Amazon Cloudformation,Amazon Sns,Autoscaling,我希望使用SNS接收自动缩放事件通知,但只能在PROD环境中接收。如何配置我的CloudFormation模板以实现此目的 如果是这样的话: 参数: 环境: 描述:应用程序的环境 类型:字符串 默认值:dev 允许值: -发展 -刺激 条件: 伊斯德夫:!等于[!Ref环境,dev] 伊斯普罗德:!等于[!参考环境,产品] 资源: 我的观点: 类型:AWS::SNS::Topic 特性: 订阅: -端点:“my@email.com" 协议:“电子邮件” myProdAutoScalingGrou

我希望使用SNS接收自动缩放事件通知,但只能在PROD环境中接收。如何配置我的CloudFormation模板以实现此目的

如果是这样的话:

参数:
环境:
描述:应用程序的环境
类型:字符串
默认值:dev
允许值:
-发展
-刺激
条件:
伊斯德夫:!等于[!Ref环境,dev]
伊斯普罗德:!等于[!参考环境,产品]
资源:
我的观点:
类型:AWS::SNS::Topic
特性:
订阅:
-端点:“my@email.com"
协议:“电子邮件”
myProdAutoScalingGroupWithNotifications:
类型:AWS::AutoScaling::AutoScalingGroup
条件:IsProd
特性:
通知配置:
-通知类型:
-“自动缩放:EC2\u实例\u启动\u错误”
-“自动缩放:EC2\u实例\u终止”
-“自动缩放:EC2\u实例\u终止\u错误”
托皮卡恩:!参考“mynstopic”
MyDeVautoScalingGroup无通知:
类型:AWS::AutoScaling::AutoScalingGroup
条件:IsDev
特性:
或者CloudFormation是否也支持以下内容:

参数:
环境:
描述:应用程序的环境
类型:字符串
默认值:dev
允许值:
-发展
-刺激
条件:
伊斯普罗德:!等于[!参考环境,产品]
资源:
我的观点:
类型:AWS::SNS::Topic
特性:
订阅:
-端点:“my@email.com"
协议:“电子邮件”
myAutoScalingGroup:
类型:AWS::AutoScaling::AutoScalingGroup
特性:
通知配置:
-条件:IsProd
通知类型:
-“自动缩放:EC2\u实例\u启动\u错误”
-“自动缩放:EC2\u实例\u终止”
-“自动缩放:EC2\u实例\u终止\u错误”
托皮卡恩:!参考“mynstopic”
它应该是双重使用功能:

  NotificationConfigurations:
    - !If 
        - IsProd
        - NotificationTypes: 
            - "autoscaling:EC2_INSTANCE_LAUNCH_ERROR"
            - "autoscaling:EC2_INSTANCE_TERMINATE"
            - "autoscaling:EC2_INSTANCE_TERMINATE_ERROR"
          TopicARN: !Ref "mySNSTopic"          
        - !Ref "AWS::NoValue" 
也可以尝试以下形式:

  NotificationConfigurations:
    !If
      - IsProd
      - - NotificationTypes: 
            - "autoscaling:EC2_INSTANCE_LAUNCH_ERROR"
            - "autoscaling:EC2_INSTANCE_TERMINATE"
            - "autoscaling:EC2_INSTANCE_TERMINATE_ERROR"
          TopicARN: !Ref "mySNSTopic"          
      - !Ref "AWS::NoValue"  
请小心压痕。您可能需要调整它以匹配模板