У меня есть VPC с частной и общедоступной подсетями и среда Elasticbeanstalk, которая запускает свои экземпляры в частной подсети. Среда Elasticbeanstalk также имеет классический балансировщик эластичной нагрузки, который должен находиться в общедоступной подсети. К сожалению, EB продолжает ставить это с экземплярами.
Я вызвал Load Balancer, используя параметры elb в Environment. Соответствующий фрагмент облачности выглядит так:
"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 Environment.
Я не желаю перемещать свои экземпляры.
Так как я могу получить свой балансировщик нагрузки в общедоступной подсети?