如何使用 CLI 为 Elastic Beanstalk 配置 VPC
Posted
技术标签:
【中文标题】如何使用 CLI 为 Elastic Beanstalk 配置 VPC【英文标题】:How to configure VPC for Elastic Beanstalk using CLI 【发布时间】:2020-11-07 20:00:27 【问题描述】:我可以使用带有VPC
的这个命令和eb-cli
创建一个Elastic Beanstalk
环境:
eb create --vpc
这要求我配置几个选项:
Enter an RDS DB username (default is "ebroot"): ...
Enter an RDS DB master password: ...
Retype password to confirm: ...
Enter the VPC ID: ...
Do you want to associate a public IP address? (Y/n): ...
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: ...
Creating application version archive ...
我已经创建了一个带有子网的 VPC,并在此线程 here 和 here 之后添加了一个 RDS 实例(谢谢@Marcin!)。但是,有几件事让我感到困惑:
-
什么是“您要关联公共 IP 地址吗?”
我记得为我的 VPC 创建了子网,但它希望我为 “EC2 子网” 和 “ELB 子网” 添加什么?我应该从我的 VPC 添加那些吗?
对于“您希望负载均衡器公开吗?”,这到底是什么意思?我假设公开意味着它在互联网上是公开的,而私有意味着我只能在 VPC 中访问它?
对于“输入逗号分隔的 Amazon VPC 安全组列表”,我需要在此处添加任何内容吗?
我知道这些都是开放式的,但希望这对某人有所帮助!
【问题讨论】:
我建议先在控制台设置EB环境,以了解在EB中设置VPC的过程,并对与RDS的连接进行一些初步测试。然后您可以尝试在 eb cli 中重新创建设置。 @Marcin 是的,好主意。所以我开始设置一个示例应用程序并转到 VPC 选项卡。它提出了一些类似的问题,例如:我应该分配什么公共 IP 地址?另外,询问例如子网:我是否只在这里设置两个私有子网? 是单实例环境还是负载均衡环境? 如果是单实例,那么您必须将您的实例放在公有子网中并且需要一个公有 IP。在配置页面的第一页,它在顶部说明了环境是什么,单实例,高可用(即负载平衡)等。 所以负载均衡器应该在公共子网中,实例在私有实例中,如screenshot所示 【参考方案1】:基于聊天讨论和cmets。
-
什么是“您要关联公共 IP 地址吗?”
对于单实例 EB 环境,EB 应位于具有公共 IP 的公共子网中。
-
我记得为我的 VPC 创建了子网,但它希望我为“EC2 子网”和“ELB 子网”添加什么?我应该从我的 VPC 添加那些吗?
对于负载平衡的 EB 环境,您的负载平衡器应位于公共子网中,而实例可以位于私有子网中。
-
对于“您希望负载平衡器公开吗?”,这究竟是什么意思?我假设公开意味着它在互联网上是公开的,而私有意味着我只能在 VPC 中访问它?
负载平衡器必须位于公共子网中。否则,您将无法从 Internet 连接到您的网站。
-
对于“输入逗号分隔的 Amazon VPC 安全组列表”,我需要在此处添加任何内容吗?
您可以使用默认设置,但以后可能需要根据需要进行调整。
【讨论】:
嗨,Marcin,出现了一个问题,我在我们的聊天中链接了它,如果其他人需要查看:chat.***.com/rooms/218060/…以上是关于如何使用 CLI 为 Elastic Beanstalk 配置 VPC的主要内容,如果未能解决你的问题,请参考以下文章
Elastic Beanstalk CLI,如何使用 RDS 实例创建环境?
当您拥有私有 NPM 包时,如何使用 CLI 部署到 Elastic Beanstalk?
如何使用 CLI 配置 Elastic beanstalk 经典负载均衡器以终止 HTTPS
如何将 AWS CLI 与 Elastic Beanstalk 一起使用?