【发布时间】:2019-07-30 01:21:47
【问题描述】:
我有一个包含私有子网和公共子网的 VPC,以及一个在私有子网中运行其实例的 Elasticbeanstalk 环境。 Elasticbeanstalk 环境还有一个 Classic Elastic Load Balancer,它需要位于公共子网中。不幸的是,EB 一直把它放在实例中。
我已经使用环境中的 elb 选项调用了负载均衡器。 cloudformation 的相关部分如下所示:
"accountapienv": {
"Type": "AWS::ElasticBeanstalk::Environment",
"Properties": {
"Tier": { "Type": "Standard", Name": "WebServer" }
"OptionSettings": [
{
"ResourceName": "AWSEBAutoScalingGroup",
"Namespace": "aws:autoscaling:asg",
"OptionName": "MinSize",
"Value": "2"
},
{
"Namespace": "aws:ec2:vpc",
"OptionName": "Subnets",
"Value": { "Fn::Join": [",", [ {"Ref": "privateuseast1b"}, {"Ref": "privateuseast1c" } ] ] }
},
{
"OptionName": "CrossZone",
"Namespace": "aws:elb:loadbalancer",
"Value": true
},
{
"OptionName": "ListenerProtocol",
"Namespace": "aws:elb:listener:443",
"Value": "HTTPS"
},
如果我直接将平衡器作为"Type": "AWS::ElasticLoadBalancing::LoadBalancer" 对象调用,将会有一个subnets 选项,但是我很难将它指向一个Elastic Beanstalk 环境实例池。
我不愿意移动我的实例。
那么我怎样才能让我的负载均衡器进入公共子网呢?
【问题讨论】:
标签: amazon-web-services amazon-cloudformation amazon-elastic-beanstalk amazon-elb