【发布时间】:2020-10-10 19:44:23
【问题描述】:
我有一个 AWS CloudFormation 模板,它创建一个应用程序负载均衡器,将流量路由到由两个运行 Apache 的实例组成的目标组。
但其他时候,当我使用完全相同的模板创建堆栈时,一项或两项运行状况检查会失败:
创建 ALB 和实例的模板部分是:
类型:AWS::ElasticLoadBalancingV2::LoadBalancer
取决于:
- Ec2InstanceA
- Ec2InstanceB
特性:
IP地址类型:ipv4
方案:面向互联网
安全组:
- !Ref InstanceSecurityGroup
子网:
- !Ref PublicSubnetA
- !Ref PublicSubnetB
标签:
- 键:名称
值:!Sub ${AWS::StackName}-ALB
类型:应用
听众:
类型:AWS::ElasticLoadBalancingV2::Listener
特性:
默认操作:
- 类型:前锋
TargetGroupArn: !Ref MyTargetGroup
LoadBalancerArn: !Ref MyApplicationLoadBalancer
端口:'80'
协议:HTTP
我的目标组:
类型:AWS::ElasticLoadBalancingV2::TargetGroup
特性:
健康检查启用:真
端口:80
协议:HTTP
VpcId: !Ref VPC
目标:
- ID:!Ref Ec2InstanceA
- ID:!Ref Ec2InstanceB
目标类型:实例
Ec2InstanceA:
类型:AWS::EC2::Instance
特性:
实例类型:t2.micro
ImageId:ami-0323c3dd2da7fb37d
密钥名称:密钥对
网络接口:
- AssociatePublicIpAddress:真
设备索引:0
组集:
- 参考:InstanceSecurityGroup
子网 ID:
参考:PrivateSubnetA
用户数据:
Fn::Base64:
!子 |
#!/bin/bash -ex
须藤百胜安装-y httpd;
sudo echo "Hello CloudFormation A!!" > /var/www/html/index.html;
cd /var/www/html;
须藤 chmod 755 index.html;
sudo 服务 httpd 启动;
sudo chkconfig httpd on;
Ec2InstanceB:
类型:AWS::EC2::Instance
特性:
实例类型:t2.micro
ImageId:ami-0323c3dd2da7fb37d
密钥名称:密钥对
网络接口:
- AssociatePublicIpAddress:真
设备索引:0
组集:
- 参考:InstanceSecurityGroup
子网 ID:
参考:PrivateSubnetB
用户数据:
Fn::Base64:
!子 |
#!/bin/bash -ex
须藤百胜安装-y httpd;
sudo echo "Hello CloudFormation B!!" > /var/www/html/index.html;
cd /var/www/html;
须藤 chmod 755 index.html;
sudo 服务 httpd 启动;
sudo chkconfig httpd on;
我猜这是某种资源计时问题,但我不太确定。
【问题讨论】:
标签: amazon-web-services amazon-cloudformation aws-application-load-balancer