VPC 中的 Elastic Beanstalk 环境变量

Posted

技术标签:

【中文标题】VPC 中的 Elastic Beanstalk 环境变量【英文标题】:Elastic Beanstalk Environment Variables in VPC 【发布时间】:2020-11-09 08:08:22 【问题描述】:

我有一个 Django 应用程序的 Elastic Beanstalk 实例。我想设置环境变量,但是,我知道它不如使用 AWS Secrets Manager 之类的安全。

但是,如果我的实例位于 VPC 的私有子网中,这是否意味着没有人可以访问这些环境变量?还是我仍然应该使用 AWS Secrets Manager 之类的东西?

谢谢!!

【问题讨论】:

【参考方案1】:

但是,如果我的实例位于 VPC 的私有子网中,这是否意味着没有人可以访问这些环境变量?

不知道你是什么意思。 EB 环境变量将在 EB 控制台中可用,这意味着可以使用 AWS CLI、EB CLI 或 SDK 访问它们。只有您的实例位于私有子网中,而不是 EB 服务本身。

但是,您可以使用 IAM 来控制谁可以访问 EB 服务以及他们可以执行哪些操作。如果您的帐户中有多个用户,这一点尤其重要。

还是我应该使用 AWS Secrets Manager 之类的东西?

这个或AWS Systems Manager Parameter Store 通常被认为是比 EB 环境变量更好的选择。它们仍不会位于私有子网中,但您可以使用 IAM 规则控制对它们的访问。

但是,如果您决定使用 AWS Secrets ManagerParameter Store,则必须同时升级您的 EB 实例和应用程序。

具体来说,EB 实例将需要 IAM 角色才能访问机密。由于您使用的是 NAT 网关,因此无需更改 VPC。

您的应用程序还需要使用 AWS CLI 或 SDK 从相应的服务中获取密钥。根据您的处理方式,有很多可能的情况,在我看来,这些情况目前超出了范围。

【讨论】:

谢谢马尔辛!说得通。你会推荐Parameter store 还是Secrets manager 嗨。没问题。 Parameter Store 是免费的,Secrets Manager 不是。但是您可以使用 SM 自动轮换数据库凭证。因此,如果您的首要任务是安全,那么 SM 是更好的选择。 非常感谢!真的很感谢!!!我会在 1 分钟内接受答案 - 因为你回答得这么快,所以我不会接受 :-)!! @NGI。哈哈哈。当我检查 SO 时你碰巧发了:-)

以上是关于VPC 中的 Elastic Beanstalk 环境变量的主要内容,如果未能解决你的问题,请参考以下文章

从 VPC 中的 Elastic Beanstalk 实例访问 RDS

无法在 VPC 中启动 Elastic beanstalk

没有 NAT 的私有 VPC 中的 Elastic Beanstalk 应用程序

如何使用 CLI 为 Elastic Beanstalk 配置 VPC

在 VPC 内部署现有的 Elastic Beanstalk 而不删除关联的 RDS

Elastic Beanstalk 无法在自定义 VPC 和子网中启动