在CloudFormation模板中,我创建了弹性IP和网络负载平衡器。 创建过程中没有问题:
Subnet1a:
Type: AWS::EC2::Subnet
Properties:
VpcId:
Ref: VPC
AvailabilityZone: 'eu-west-1a'
CidrBlock:
Ref: 042SubnetCidr
MapPublicIpOnLaunch: true
LoadBalancerElasticIP:
Type: AWS::EC2::EIP
LoadBalancer:
Type: AWS::ElasticLoadBalancingV2::LoadBalancer
Properties:
IpAddressType: ipv4
Name: network-loadbalancer
Scheme: internet-facing
Subnets:
- Ref: Subnet1a
Type: network
侦听器和目标组是分别创建的,并且也可以与没有弹性IP的LB一起使用。
现在,我通过将子网更改为SubnetMappings属性来尝试将此弹性IP分配给负载均衡器,但这给了我一个错误:“ LoadBalancer CREATE_FAILED属性SubnetId不能为空。”
LoadBalancer:
Type: AWS::ElasticLoadBalancingV2::LoadBalancer
Properties:
IpAddressType: ipv4
Name: network-loadbalancer
Scheme: internet-facing
SubnetMappings:
- AllocationId: !Ref LoadBalancerElasticIP
- SubnetId: !Ref Subnet1a
Type: network
一段时间以来,我一直在尝试不同的解决方案。看不出什么问题。有任何想法吗?我应该创建网络接口吗?并为接口分配eip,然后将接口分配给负载均衡器?
答案 0 :(得分:1)
根据AWS::ElasticLoadBalancingV2::LoadBalancer
的文档,ng g m sub-folder/moduleName --routing
的期望值为SubnetMappings
,但是您要传递两个列表。您应该将其更改为以下内容:
List of SubnetMapping