使用Terraform关闭/打开弹性Beanstalk负载平衡器? 负载均衡器按小时计费 (重新)创建EB需要上传到S3,并且需要很长时间

使用Terraform关闭/打开弹性Beanstalk负载平衡器? 负载均衡器按小时计费 (重新)创建EB需要上传到S3,并且需要很长时间,terraform,amazon-elastic-beanstalk,amazon-elb,Terraform,Amazon Elastic Beanstalk,Amazon Elb,因此,对于处于空闲状态(仅在开发过程中使用)的EB,正如EC2可以缩小到0个实例一样,如何关闭负载平衡器(稍后再打开)?是否可以使用Terraform,以便检测到ALB的缺失并通过应用程序重新创建 我已经在空闲时终止了EB下的EC2实例,但我未使用的负载平衡器一直在向我收费!理想情况下,通过删除负载平衡器,我可以在空闲时间内实现零成本。但是,当我在需要时重新创建ALB时,Terraform state没有显式地跟踪ALB(它由EB环境管理),因此不会重新创建它 我知道。我希望AWS的“可伸缩性”

因此,对于处于空闲状态(仅在开发过程中使用)的EB,正如EC2可以缩小到0个实例一样,如何关闭负载平衡器(稍后再打开)?是否可以使用Terraform,以便检测到ALB的缺失并通过应用程序重新创建

我已经在空闲时终止了EB下的EC2实例,但我未使用的负载平衡器一直在向我收费!理想情况下,通过删除负载平衡器,我可以在空闲时间内实现零成本。但是,当我在需要时重新创建ALB时,Terraform state没有显式地跟踪ALB(它由EB环境管理),因此不会重新创建它


我知道。我希望AWS的“可伸缩性”提供了一种更干净、更快的方法,可以切换负载平衡器的存在,除了重新创建整个EB环境

之外,还可以暂时禁用所有需要花钱的弹性Beanstalk基础设施,允许您免费挂起应用程序,直到您准备重新启动它,而无需从头开始销毁和重新创建它

通过EB环境配置:

  • (暂时)降级
    容量
    • 发件人:
      环境类型:负载平衡、自动缩放
    • 到:
      单实例环境
  • 删除它生成的单个实例和静态ip
  • 为了安全起见,请确保自动缩放组配置最多允许
    0
    实例
  • 这样跑几个月,一分钱也不付

    然后,您可以快速将一切恢复原状:

  • 重新打开负载平衡,并确保自动缩放组的实例计数不为零
  • terraform refresh
    导入自动缩放目标的新实例ID
  • 像往常一样使用terraform恢复(例如,
    计划
    应用

  • 这是不可能的,因为AWS不提供这一功能。如果您在空闲时间需要零成本,您是否应该使用新设计的无服务器?想一想,不仅仅是与当前的情况抗争。@BMW在10年或更短的时间内,我打赌你的建议将是通用的解决方案,但到2019年,无服务器设计(例如使用Lambda、API网关或AppSync)仍然可能存在延迟问题,通常超过1秒(除了“冷启动”问题)。这一点很好!。Serverless无法覆盖许多对延迟敏感的情况。如果这是您选择Elastic beanstalk的主要原因,那么似乎没有其他选择可以避免使用ALB/ELB