使用 Terraform 切换 Elastic Beanstalk 负载均衡器 off/on?
Toggle Elastic Beanstalk load balancer off/on with Terraform?
- 负载均衡器按小时收费
- (重新)创建 EB 需要上传到 S3 并且需要很长时间
那么对于闲置的 EB(仅在开发期间使用),就像 EC2 可以缩小到 0 个实例一样,如何关闭负载均衡器(然后再打开)?是否可以使用 Terraform,以便检测到 ALB 的缺失并通过应用重新创建?
我已经在空闲时终止了 EB 下的 EC2 实例,但是我未使用的负载均衡器一直在给我充电!理想情况下,通过同时删除负载均衡器,我在空闲时间的成本为零。但是当我在需要时重新创建 ALB 时,Terraform 状态并未明确跟踪 ALB(它由 EB 环境管理),因此它不会被重新创建。
我知道Elastic Beanstalk environments can be created without load balancers。我希望 AWS "scalability" 除了重新创建整个 EB 环境 .
之外,还提供一种更清洁、更快速的方法来切换负载均衡器的存在
您可以暂时禁用所有需要付费的 Elastic Beanstalk 基础设施,让您可以免费暂停应用程序,直到您准备好重新打开它,而无需从头开始销毁和重新创建它。
通过 EB 环境配置:
- (暂时)降级
Capacity
- 来自:
Environment type: load balancing, auto scaling
- 至:
Single-Instance Environment
- 删除单实例及其生成的静态ip
- 为了安全起见,请确保您的自动缩放组配置允许最多
0
个实例
就这样离开运行几个月,一分钱都不付...
然后,您可以快速将一切恢复原状:
- 重新打开负载平衡并确保自动缩放组具有非零实例计数。
terraform refresh
导入自动缩放目标的新实例 ID
- 像往常一样继续使用 terraform(例如
plan
、apply
)
- 负载均衡器按小时收费
- (重新)创建 EB 需要上传到 S3 并且需要很长时间
那么对于闲置的 EB(仅在开发期间使用),就像 EC2 可以缩小到 0 个实例一样,如何关闭负载均衡器(然后再打开)?是否可以使用 Terraform,以便检测到 ALB 的缺失并通过应用重新创建?
我已经在空闲时终止了 EB 下的 EC2 实例,但是我未使用的负载均衡器一直在给我充电!理想情况下,通过同时删除负载均衡器,我在空闲时间的成本为零。但是当我在需要时重新创建 ALB 时,Terraform 状态并未明确跟踪 ALB(它由 EB 环境管理),因此它不会被重新创建。
我知道Elastic Beanstalk environments can be created without load balancers。我希望 AWS "scalability" 除了重新创建整个 EB 环境 .
之外,还提供一种更清洁、更快速的方法来切换负载均衡器的存在您可以暂时禁用所有需要付费的 Elastic Beanstalk 基础设施,让您可以免费暂停应用程序,直到您准备好重新打开它,而无需从头开始销毁和重新创建它。
通过 EB 环境配置:
- (暂时)降级
Capacity
- 来自:
Environment type: load balancing, auto scaling
- 至:
Single-Instance Environment
- 来自:
- 删除单实例及其生成的静态ip
- 为了安全起见,请确保您的自动缩放组配置允许最多
0
个实例
就这样离开运行几个月,一分钱都不付...
然后,您可以快速将一切恢复原状:
- 重新打开负载平衡并确保自动缩放组具有非零实例计数。
terraform refresh
导入自动缩放目标的新实例 ID- 像往常一样继续使用 terraform(例如
plan
、apply
)