如何在运行 AWS Linux 2 的 AWS Elastic Beanstalk 上配置 Linux 交换空间?

Aar*_*ger 6 linux amazon-ec2 amazon-web-services amazon-elastic-beanstalk

我可以在 AWS Elastic Beanstalk 上配置Linux 交换空间吗?(自 2016 年起)展示如何使用.ebextensions配置文件为 AWS Elastic Beanstalk 环境配置 Linux 交换空间。

但是,AWS 文档Linux 服务器上的自定义软件针对较新的Amazon Linux 2平台提供了以下说明:

在 Amazon Linux 2 平台上,我们强烈建议您使用 Buildfile,而不是在 .ebextensions 配置文件 中提供文件和命令。在实例配置期间,Procfile 和平台挂钩尽可能在您的环境实例上配置和运行自定义代码。

如何使用这种更现代的配置方法来配置交换空间?

Mar*_*cin 8

Buildfile并且Procfile不适合这样做。它们有不同的用途——运行短命令和长命令。

我会为此使用平台挂钩。具体来说,prebuild

此处的文件在 Elastic Beanstalk 平台引擎下载并提取应用程序源包之后、设置和配置应用程序和 Web 服务器之前运行。

理由是,最好在应用程序开始配置之前立即创建交换。如果交换创建操作失败,您会很快收到通知,而不是在设置应用程序之后收到通知。

从 SO 链接,您可以放入文件夹01_add-swap-space.sh.platform/hooks/prebuild/。在将应用程序打包为 zip 之前,请确保该文件01_add-swap-space.sh是可执行的 ( )。chmod +x

  • 所以它基本上是相同的,但是脚本位于不同的位置,并且我不需要`.ebextensions/swap.config`,因为脚本将根据其在文件系统中的位置在正确的时间执行。惊人的。 (4认同)
  • @AaronBrager 是的。Amazon Linux 2 hooks 引入了很多新东西,比如这些 hooks。 (2认同)