在 aws ec2 实例中为 React/Node 应用存储 API 密钥的位置?

Where to store API keys for React/Node app in aws ec2 instance?

我在 ec2 ubuntu 实例中有一个 react/node 应用程序(位于 /home/ubuntu/app-name)。它始终使用 AWS 云部署和 Bitbucket 管道进行部署。我有一些需要在应用程序中使用的 API KEYS,但我不想将它们存储在我的存储库中。我可以在哪里保存这些密钥并在需要时取回它们?

您可以在 AWS 中使用 Secrets Manager。 AWS Secrets Manager 可帮助您保护访问您的应用程序、服务和 IT 资源所需的秘密。该服务使您能够轻松地轮换、管理和检索数据库凭据、API 密钥以及整个生命周期中的其他秘密。

这是符合您标准的最佳文章。 https://aws.amazon.com/blogs/security/how-to-connect-to-aws-secrets-manager-service-within-a-virtual-private-cloud/

对于您的用例,我会推荐 AWS EC2 Parameter Store。使用允许访问 Parameter Store 中的凭证的实例配置文件启动 EC2 实例,并使用您选择的语言的 AWS SDK 或使用 AWS CLI 获取密钥(例如,在实例用户数据中引导实例时) .

有关详细信息,请参阅 https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html

我最终选择了 AWS EC2 Parameter Store。在这两个选项中,它们都完成了相同的事情(存在细微差别)。就我的目标而言,参数存储可以实现同样的效果,而且它是免费的,而在撰写本文时,您使用 AWS Secret Manager 每月按每个秘密收费。