VPC 中的 Elastic Beanstalk 环境变量

Elastic Beanstalk Environment Variables in VPC

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

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

谢谢!!

However, if my instance is in a private subnet in a VPC, does this mean that no one can access those environment variables?

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

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

Or should I nevertheless use something like AWS Secrets Manager?

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

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

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

您的应用程序还需要使用 AWS CLI 或 SDK 从相应的服务中获取机密。取决于你想如何处理这个问题,有很多可能的场景,在我看来现在不在讨论范围内。