在部署时从ELB env变量设置Newrelic APP名称

时间:2018-04-12 19:13:19

标签: php apache amazon-ec2 elastic-beanstalk newrelic

我需要在AWS Elastic beanstalk上将相同的PHP代码部署到3个环境。这些环境将在New relic上报告不同的应用程序名称。

无法将新的许可证密钥部署到存储库。

请告知实现此目标的策略。

1 个答案:

答案 0 :(得分:2)

对于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

来自:https://docs.newrelic.com/docs/agents/php-agent/frameworks-libraries/aws-elastic-beanstalk-installation-php

如果您使用的是密码保险库,则可以遵循其最佳做法。如果不是,那么您可能必须创建一个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

灵感来自:https://aws.amazon.com/blogs/mt/use-parameter-store-to-securely-access-secrets-and-config-data-in-aws-codedeploy/