Amazon web services 如何在启动时为root用户设置环境变量?

Amazon web services 如何在启动时为root用户设置环境变量?,amazon-web-services,amazon-ec2,amazon-cloudwatch,Amazon Web Services,Amazon Ec2,Amazon Cloudwatch,我正在尝试将内存使用监控添加到console.aws.amazon.com实例的监控选项卡中。这是一个运行Amazon Linux AMI 2013.09.2的实例,我找到了mon-put-instance-data.pl,让我收集内存统计数据,并将其作为自定义指标报告给CloudWatch 要使其正常工作,我需要将环境变量AWS_CREDENTIAL_FILE设置为指向包含AWSAccessKeyId和AWSSecretKey的文件。我通过键入: export AWS_CREDENTIAL_F

我正在尝试将内存使用监控添加到console.aws.amazon.com实例的监控选项卡中。这是一个运行Amazon Linux AMI 2013.09.2的实例,我找到了mon-put-instance-data.pl,让我收集内存统计数据,并将其作为自定义指标报告给CloudWatch

要使其正常工作,我需要将环境变量AWS_CREDENTIAL_FILE设置为指向包含AWSAccessKeyId和AWSSecretKey的文件。我通过键入:

export AWS_CREDENTIAL_FILE=/home/ec2-user/aws-scripts-mon/awscreds.template
为了避免反复输入,我正在寻找一种在启动时设置环境变量的方法。我已尝试将代码添加到这些文件中:

/etc/rc.local file
/etc/profile
/home/ec2-user/.bash_profile

当我切换到root user时,在两个文件中添加代码行似乎都有效,我应该把它放在哪里?如果我在/home/ec2 user/.bash_profile中设置变量,则该变量是为ec2 user设置的,而不是为root用户设置的。如果我然后sudo-Esu它可以工作,但我不知道这是否是最好的方法?

创建一个sh文件并将代码放入其中。然后将此sh文件放入/etc/profile.d/文件夹中

注意:使用root用户创建此sh文件

创建实例后,此sh文件将自动运行并为您创建环境变量,所有用户都可以访问此环境变量