【发布时间】:2021-07-18 22:13:25
【问题描述】:
我对在 AWS EB 中使用自定义 AMI 有以下疑问。
现在我有:
- 一个默认平台,Python 3.6 + Amazon Linux 1.10.0,在 EB 配置 > 实例 > AMI 我得到一个我认为是 AWS 提供的用于启动平台的默认 AMI 的 ID(如果是这样的话它应该在每次平台更新时进行修改)。
- 使用 .ebextensions 文件完成的一些平台配置
- 我从 CLI 部署的 Flask 应用程序 (eb deploy)
因此,为了避免 .ebextensions 配置时间,我想使用包含 (1) + (2) 的自定义 AMI,并像以前一样继续部署我的 Flask 应用程序。
所以要构建 AMI:
- 我是否可以停止我正在运行的环境的 EC2 实例并从 EC2 控制台从该实例创建一个 AMI?如果我这样做,那么 AMI 甚至会包含我的 .ebextensions 文件和我的应用程序,这是一个问题吗?
- 如果 AMI 不应该包含 .ebextensions 文件,那么在执行 AMI 之前自定义平台的唯一方法是使用 SSH?
- 在构建 AMI 后,我将其 ID 放入 EB 控制台 > 配置 > 实例中,然后 EB 会处理所有事情,例如在 EC2 > 自动缩放 > 启动选项中更新 AMI ID?
- 要进行平台更新,我必须首先从新平台开始手动重建 AMI,然后在 EB 配置中更新 AMI ID?所以不可能像以前那样从 EB 控制台更新平台,然后保存新的 AMI?
- 当我部署我的应用时,它不应该包含 .ebextensions 文件吗?
- 如果我创建包含我的应用程序的 AMI,那么 EB 自动缩放甚至会节省部署应用程序的时间吗? (当然,在这种情况下,要进行部署,我必须先创建一个新的 AMI)。
感谢您的帮助。
【问题讨论】:
标签: amazon-web-services amazon-elastic-beanstalk