【发布时间】:2020-01-15 19:54:25
【问题描述】:
首先,用例:我有一个大型 Spring Boot 单体,它伴随着一些用于执行某些任务的小型 go 服务。目前,它们被私有地简单地托管在同一台服务器上,因此可以使用 localhost 进行内部通信。我正在考虑将它作为 ElasticBeanstalks 部署到 AWS,目前正在使用免费套餐来评估它。我希望 Spring Boot 应用程序是公开可见的,并且 Go 服务可用于 Spring Boot 应用程序但不向公众提供。我的印象是我想将它们部署为单独的 ElasticBeanstalk 环境,但将它们分配给同一个 VPC。如果这是错误的假设,请告诉我正确的假设!
如果那是我们想要的,那么这就是我当前的初始问题。我设置了 VPC(使用默认值)并在我的本地存储库中使用 eb init、eb create 等来部署应用程序。当它部署并开始运行时,我在 EB 的 AWS 控制台中进入 Configuration,然后网络部分只是说 This environment is not part of a VPC.。我已经测试选择经典、应用程序和网络作为负载均衡器,但结果相同。我需要在eb create 期间做些什么吗?
我试过eb create --vpc,但老实说不知道要为所有提示填写什么:
Enter the VPC ID: xxxxxxxxxxxxxxxxx
Do you want to associate a public IP address? (Y/n): Y
Enter a comma-separated list of Amazon EC2 subnets: ?
Enter a comma-separated list of Amazon ELB subnets: ?
Do you want the load balancer to be public? (Select no for internal) (Y/n): ?
Enter a comma-separated list of Amazon VPC security groups:
我应该寻找什么才能进入这里?我假设的 VPC ID 是我创建的 VPC 的 VPC ID,但我很难理解其余部分。如果我尝试简单地运行eb create --vpc.id <XXXXXXXXXXXXXXXXXX>,那么我会得到ERROR: ServiceError - Configuration validation exception: Invalid option value: 'internal' (Namespace: 'aws:ec2:vpc', OptionName: 'ELBScheme'): Internal load balancers are valid only in a VPC; however, your environment is currently not running in a VPC.
感谢帮助!
【问题讨论】:
标签: amazon-elastic-beanstalk amazon-vpc vpc