将 Elastic Beanstalk 和 Amazon S3 结合使用 - AWS Elastic Beanstalk

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将 Elastic Beanstalk 和 Amazon S3 结合使用

本主题介绍了 Elastic Beanstalk 如何利用亚马逊简单存储服务 (Amazon S3) Service 以及它存储在 S3 存储桶中的对象类型。它还记录了在终止 Elastic Beanstalk 环境后必须手动删除哪些对象,并提供了操作说明。

Elastic Beanstalk 会为你在其中创建环境的每个区域创建一个加密的 Amazon S3 elasticbeanstalk-region-account-id 存储桶,命名为该存储桶。Elastic Beanstalk 使用此存储桶存储应用程序正常运行所需的对象,例如,临时配置文件。

由于默认的 Amazon S3 存储桶配置,Elastic Beanstalk 创建的存储桶已加密。有关更多信息,请参阅《亚马逊简单存储服务用户指南》中的 Amazon S3 默认加密

Elastic Beanstalk Amazon S3 存储桶的内容

下表列出了 Elastic Beanstalk 存储在您 elasticbeanstalk-* Amazon S3 存储桶中的一些对象。此表还显示了必须手动删除的对象。为避免产生不必要的存储成本,以及为确保不会保留个人信息,请务必在不再需要这些对象时手动删除它们。

Object 何时存储? 何时删除?

应用程序版本

创建环境或将应用程序代码部署到现有环境时,Elastic Beanstalk 会将应用程序版本存储在 Amazon S3 中并将此版本与环境关联。

删除应用程序期间,视版本生命周期而定。

源包

当您使用 Elastic Beanstalk 控制台或 EB 上传新的应用程序版本时CLI,Elastic Beanstalk 会将其副本存储在 Amazon S3 中,并将其设置为环境的源包。

手动。删除应用程序版本时,可以选择从 Amazon S3 中删除版本以同时删除相关源包。有关详细信息,请参阅管理应用程序版本

自定义平台

创建自定义平台时,Elastic Beanstalk 会临时将相关数据存储在 Amazon S3 中。

自定义平台成功创建完成后。

日志文件

您可以请求 Elastic Beanstalk 检索实例日志文件(结尾或捆绑日志)并将它们存储在 Amazon S3 中。您还可启用日志轮换并将环境配置为在日志轮换后自动将日志发布到 Amazon S3。

结尾日志和捆绑日志:在创建后 15 分钟。

轮换日志:手动。

保存的配置

手动。

手动。

删除 Elastic Beanstalk Amazon S3 存储桶中的对象

在您终止环境或删除应用程序时,Elastic Beanstalk 将从 Amazon S3 中删除最相关的对象。为最大限度降低运行应用程序的存储成本,请定期删除应用程序不需要的对象。此外,请注意必须手动删除的对象,如 Elastic Beanstalk Amazon S3 存储桶的内容中所列出。要确保不会不必要地保留私有信息,请在不再需要这些对象时,将它们删除。

  • 删除不希望再在应用程序中使用的应用程序版本。删除应用程序版本时,可以选择 Delete versions from Amazon S3(从 Amazon S3 中删除版本)以删除相关的源包,即应用程序源代码的副本和 Elastic Beanstalk 于部署应用程序或上传应用程序时上传到 Amazon S3 的配置文件。要了解如何删除应用程序版本,请参阅管理应用程序版本

  • 删除不需要的已轮换日志。或者,下载它们或将它们移动到 Amazon S3 Glacier 进行进一步分析。

  • 删除不会再在任何环境中使用的已保存配置。

删除 Elastic Beanstalk Amazon S3 存储桶

当 Elastic Beanstalk 创建存储桶时,还会创建适用于新存储桶的存储桶策略。该策略有两个用途:

  • 允许环境写入存储桶。

  • 防止意外删除存储桶。

由于 Elastic Beanstalk 创建的策略适用于其为环境创建的存储桶,因此除非您有意先删除存储桶策略,否则您将无法删除这些存储桶。您可以从 Amazon S3 控制台中存储桶属性的权限部分删除存储桶策略。

警告

我们建议您从 Elastic Beanstalk Amazon S3 存储桶中删除特定的不必要对象,而不是删除整个存储桶。

如果删除 Elastic Beanstalk 已在您的账户中创建的某个存储桶,并且在相应区域仍具有现有应用程序和正在运行的环境,则您的应用程序可能停止正常运行。例如:

  • 当环境扩展时,Elastic Beanstalk 应该能够在 Amazon S3 存储桶中找到该环境的应用程序版本,并使用它来启动新的亚马逊实例。EC2

  • 创建自定义平台时,Elastic Beanstalk 将在创建过程中使用临时 Amazon S3 存储。

有关删除 S3 存储桶的含义的更多信息,请参阅 A mazon S3 用户指南删除存储桶中列出的注意事项。

删除 Elastic Beanstalk 存储桶(控制台)

删除 S3 存储桶的一般步骤也在 A mazon S3 用户指南的删除存储桶中进行了介绍。由于接下来要在以下过程中删除由 Elastic Beanstalk 创建的存储桶,因此我们添加了其他步骤,首先删除存储桶策略。

  1. 打开 Amazon S3 控制台

  2. 通过选择存储桶名称打开 Elastic Beanstalk 存储桶的页面。

  3. 选择权限选项卡。

  4. 选择 Bucket Policy(存储桶策略)。

  5. 选择 Delete(删除)。

  6. 返回 Amazon S3 控制台主页,然后选择 Elastic Beanstalk 存储桶。

  7. 选择删除存储桶

  8. 通过在文本字段中输入存储桶名称来确认要删除该存储桶,然后选择删除存储桶