首页 > 解决方案 > AWS EC2 部署的 .env 和 .gitignore 问题

问题描述

所以我使用 react.js (MERN) 制作了一个应用程序。该应用程序有两个 3rd 方 API。我将 ID 密钥存储在一个.env文件中。为了安全起见,在将代码推送到 Github 时,我将代码.env列在了一个.gitignore文件中。但是有了这个,我应该如何让我的 EC2 实例访问隐藏在.gitignore?

标签: amazon-web-servicesdeploymentenvironment-variablesgitignore

解决方案


你有多种方法可以做到这一点。下面是其中的一些。

  1. 将您的 .env 文件存储到具有适当权限的 S3 并进行静态加密。每次从 SCM(源代码管理)部署应用程序时,您的部署脚本都会将 .env 从 S3 拉到应用程序工作目录。但要做到这一点,您的实例必须具有一个角色,该角色具有适当的策略绑定,以便能够访问存储 .env 的 S3 存储桶。
  2. 利用 AWS Secret Manager。这样,您可以直接使用 AWS SDK 从您的应用程序中获取变量,而无需 .env 文件,它的作用是 AWS Secret Manager 存储您的变量(替换 .env 文件)并在应用程序中使用 AWS SDK,您可以检索这些值并可以直接与应用程序逻辑集成。https://aws.amazon.com/blogs/aws/aws-secrets-manager-store-distribute-and-rotate-credentials-securely/

推荐阅读