Amazon web services AWS EC2自动缩放-通过ssh在EC2上进行自定义设置

Amazon web services AWS EC2自动缩放-通过ssh在EC2上进行自定义设置,amazon-web-services,amazon-ec2,amazon-elastic-beanstalk,pillow,autoscaling,Amazon Web Services,Amazon Ec2,Amazon Elastic Beanstalk,Pillow,Autoscaling,我正在使用Django和Elastic Beanstalk(AWS)开发一个web应用程序。 目前,我只使用免费的服务器层ec2 我担心的是,当自动缩放时,EC2上的自定义设置 python库“枕头”需要一个外部库,如“libjpeg-turbo-devel”和“zlib-devel”。这应该在安装所有python库之前安装。使用aws配置文件无法自动执行此操作,因此我通过连接到EC2 ssh手动安装了这些文件 当EC2放大时,这种手动设置会影响其他EC2实例? 如果放大操作类似于“复制原始EC

我正在使用Django和Elastic Beanstalk(AWS)开发一个web应用程序。 目前,我只使用免费的服务器层ec2

我担心的是,当自动缩放时,EC2上的自定义设置

python库“枕头”需要一个外部库,如“libjpeg-turbo-devel”和“zlib-devel”。这应该在安装所有python库之前安装。使用aws配置文件无法自动执行此操作,因此我通过连接到EC2 ssh手动安装了这些文件

当EC2放大时,这种手动设置会影响其他EC2实例?

如果放大操作类似于“复制原始EC2实例”,那么就不会有问题。 但是,该过程只是“将应用程序部署到另一个ec2实例”,它无法工作,因为尚未应用手动设置

有人能解释一下EC2自动校准是如何工作的吗?
谢谢

首先,我建议您阅读自动缩放文档

自动缩放将根据CloudWatch警报和其他规则启动和终止EC2实例。当自动缩放启动新的EC2实例时,它基于特定的AMI映像。该AMI映像可以是Amazon的基本AMI映像之一,也可以是您自定义的AMI映像

如果您SSH到一个属于自动缩放组的EC2实例中,对它所做的任何更改都不会影响任何其他EC2实例

自定义通过自动缩放启动的EC2实例有两种主要方法:

  • 从一个相当基本的AMI映像启动,并在创建实例时使用一些配置管理方法来定制实例。您可以使用诸如Chef、Ansible等工具

  • 启动已创建的自定义AMI映像。当您执行此操作时,EC2实例已经准备就绪

  • 如果您已经根据自己的喜好定制了EC2实例(通过安装“libjpeg-turbo-devel”和“zlib-devel”),现在可以从EC2实例创建AMI映像,并创建和/或更新启动配置,将其配置为使用自定义AMI


    这样,当AutoScaling创建新的EC2实例时,它将基于已安装首选库的自定义AMI。

    Beanstalk支持通过配置安装外部软件包(yum、pip等)。建议这样做


    我感谢您的帮助回答:)这对用户管理的自动缩放组是正确的,但对Elastic Beanstalk则不是。到目前为止,它不支持自定义AMI。我们必须使用.eb配置文件来实现这一点。Elastic Beanstalk确实支持自定义AMI。我一直在用它们。应用程序运行后,您可以通过配置更改AMI。Elastic Beanstalk支持自定义AMI映像。我一直在使用它们。每天都学习新的东西。您是否考虑过在自定义yaml中使用packages:而不是通过基本AMI提供它?是的,我有自定义配置文件:“packages:yum:libjpeg-turbo-devel:[]、zlib-devel:[]、freetype-devel:[]”,但它一开始不起作用,因为已经在EC2上安装了python库。这就是我连接到EC2并按正确顺序重新安装库的原因。不管怎样,我刚刚发现它在自动缩放时工作得非常好。新的EC2首先安装包,然后安装python库,这是正确的旧版本!因此,无需自定义设置。谢谢你的回答!