【发布时间】:2026-01-11 20:50:01
【问题描述】:
我们正在将网站迁移到 AWS 环境并在 EC2 上运行 apache2。我们计划使用 AWS 机密管理器来存储一些凭证,例如 RDS(数据库)和电子邮件凭证。我还在 apache 中使用环境变量来存储 AWS 凭证,但由于它是用于检索秘密的 AWS 凭证,我想知道是否有任何方法可以在 apache 启动时运行脚本以使用 aws- sdk 来检索这些秘密。
或者有其他关于如何做的建议吗?我可以在需要这种访问权限的 PHP 代码中做到这一点,但我现在只是在探索什么是可能的。如果 apache 启动时能加载一些配置选项就好了。
【问题讨论】:
-
那么你想要从你的秘密管理器配置中生成你的 apache 环境变量的要求是什么? :)
-
基本上运行一个 php 脚本来通过 aws-sdk 获取一些值。我可以通过使用 ExecStartPre= 修改 apache2.service (systemd) 来做到这一点吗?
-
废话,但这不起作用,因为那时我需要找到某种方法来获取它的 aws 凭据。 (它们可通过站点配置中的 apache2 环境获得)
-
如果您在 EC2 实例上运行,您应该使用 IAM 角色而不是 IAM 凭证,关于预填充它可能最好尝试避免接触 apache 创建的文件。我不认为创建一个可以在代码部署时运行或在 cron 上运行的小脚本是可能的?是否有任何特定原因必须在 Apache 启动时启动? :)
-
我正在尝试从 AWS Secrets 获取凭据以添加到可用于在 apache 中运行的 php 脚本的环境变量。
标签: amazon-web-services amazon-ec2 apache2 aws-secrets-manager aws-php-sdk