我想在私有VPC中使用Elastic Beanstalk。
由于VPC中没有互联网网关,默认的面向互联网的负载均衡器创建失败。
有没有一种方法可以使用EB CLI创建弹性Beanstalk环境?是否可以更改已创建的负载平衡器的可见性?(面向内部的LB在我的私有VPC中应该工作得很好。(
这是通过命令行选项实现的吗?还是我需要使用配置文件(.eextensions(的高级环境自定义?
您可以使用bastion服务器、公共子网中的linux主机,并使用eb ssh
连接到您的主机。不过,我还没有尝试过使用CLI创建环境。
示例OpenSSH配置文件:
Host 10.0.*
User ec2-user
ProxyCommand ssh.exe -q -W %h:%p production
Host production
Hostname {{HOSTNAME_BASION}}
User ec2-user
通过使用带有配置文件(.eextensions(的高级环境配置,可以将负载均衡器更改为面向内部
aws:ec2:vpc命名空间具有ELBScheme的配置设置。
根据此,您需要在.ebextensions
子文件夹中创建一个.config
文件(如果它还不存在(,并添加以下配置:
option_settings:
aws:ec2:vpc:
ELBScheme: internal
在将ELBScheme从默认(public(值更改后,Beanstalk将不再分配Elastic IP(这会导致私有VPC出现问题(。
使用eb cli创建Beanstalk环境时,请确保通过传递--VPC.id参数和所有其他相关设置(如要使用的子网id(来指定专用专有网络的专有网络id。