【发布时间】:2018-09-23 01:27:12
【问题描述】:
我需要将相同的 PHP 代码部署到 AWS Elastic beanstalk 上的 3 个环境。这些环境将在 New relic 上向不同的应用程序名称报告。
newrelic 许可证密钥无法部署到存储库。
请就实现这一目标的策略提出建议。
【问题讨论】:
标签: php apache amazon-ec2 amazon-elastic-beanstalk newrelic
我需要将相同的 PHP 代码部署到 AWS Elastic beanstalk 上的 3 个环境。这些环境将在 New relic 上向不同的应用程序名称报告。
newrelic 许可证密钥无法部署到存储库。
请就实现这一目标的策略提出建议。
【问题讨论】:
标签: php apache amazon-ec2 amazon-elastic-beanstalk newrelic
对于 AWS Elastic Beanstalk 中的 PHP,您的步骤如下:
在 Elastic BeanStalk 应用程序内的 .ebextensions 文件夹中, 创建一个名为 newrelic.config 的新文件。将以下内容添加到 文件:
packages:
yum:
newrelic-php5: []
rpm:
newrelic: INSERT_LINK_TO_AGENT
commands:
configure_new_relic:
command: newrelic-install install
env:
NR_INSTALL_SILENT: true
NR_INSTALL_KEY: INSERT_LICENSE_KEY
如果您使用密码保险库,那么您将遵循他们的最佳做法。如果不是,那么您可能需要创建一个 shell 脚本来替换安全 S3 存储桶中的许可证密钥。
将您的许可证密钥放入安全的 S3 存储桶中。然后使用类似于以下内容的 Bash 脚本:
#!/bin/bash
password=$(aws ssm get-parameters --region us-east-1 --names MySecureLicenseKey --with-decryption --query Parameters[0].Value)
# code to replace INSERT_LICENSE_KEY - need to update the path to where you have it land
sed 's/INSERT_LICENSE_KEY/$password/g' /etc/newrelic/newrelic.config
【讨论】: