python - 测试 AWS Elastic Beanstalk 扩展

标签 python amazon-web-services mysql-python amazon-elastic-beanstalk

我已经在 elastic beanstalk 中设置了一个服务器。需要时,它应该将实例数从 1 增加到最多 4。然而,我有一个潜在的怀疑,当它启动一个新实例时,该实例将无法正确配置,因为我无法安装根据 this question,无需通过 ssh 进入实例并手动设置 Python 的 mySQL 模块.

所以我的第一个问题是测试 Elastic Beanstalk 是否正确缩放的最佳方法是什么?如果启动了新实例,我如何确定我看到的是新实例之一而不是手动配置的原始实例?

我的第二个问题是,如果这是我怀疑的问题,我该如何解决?我可以“克隆”我的工作实例并在需要时开始成功复制它们吗?我该怎么做?

非常感谢,亚历克斯

更新:在 joker 的非常有用的建议之后,我将其添加到 myapp.config 文件中:

container_commands:
    install_MySQL-python:
        command: /opt/python/run/venv/bin/easy_install MySQL-Python==1.2.3

如您所见,我遇到的问题是 MySQL-Python 无法使用 pip 正确安装,我不得不使用 easy_install。这意味着它无法通过用于所有其他 python 依赖项的 requirements.txt 文件进行安装。通过将上面添加的命令放入我的 .ebextensions 文件夹中的配置文件,这是在实例启动时完成的,我不必通过 ssh 进入每个单独的实例。

作为旁注,您不必在上面的命令中包含“sudo”,即使您在通过 ssh 实现相同时需要包含。事实上,我一开始就把它放在那里,但没有用。

非常感谢 clown 。

最佳答案

亚历克斯,

我认为你的怀疑是正确的。您对正在运行的 EC2 实例所做的任何配置更改都不会自动出现在新实例上。

关于你的第一个问题:

测试系统如何在多服务器环境中工作的最简单方法可能是更改 Elastic Beanstalk AWS 控制台配置部分的自动缩放部分中的参数 Minimum instance count。例如,将此参数设置为 2。

(查看新服务器启动方式的另一种方法是终止当前的 EC2 实例。只需在正在运行的实例上选择操作 Stop。负载均衡器应检测到这一点,并自动部署一旦健康状况从绿色变为红色,就会为您提供一个新实例。)

第二个问题:

解决该问题的最佳方法是 customize your AWS EB environment .创建一个 .config 文件以设置所需的库并对新实例执行配置更改。

祝你好运!

关于python - 测试 AWS Elastic Beanstalk 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21788328/

相关文章:

php - 使用搜索关键条件的 DynamoDB 查询抛出奇怪的异常(使用 PHP)

amazon-web-services - 如何快速有效地调试 CloudFormation 模板?

python - 优化创建/运行多个 SQLalchemy 引擎?

python - MySQLClient 安装错误 : "raise Exception("Wrong MySQL configuration: maybe https://bugs. mysql.com/bug.php?id"

python - 使用 cupy 时内存不足

Python无法进行矩阵求和

python - 如何将 3D 图像转为 2D map ?

amazon-web-services - 如何使用 Java AWS SDK 为 EBS 卷启用 'delete on termination'?