如何使用 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 一起使用?

如何使用 aws cli 在 Elastic Beanstalk 上上传和部署?

如何通过 CLI 将 zip 文件上传和部署到 AWS elastic beanstalk?