以编程方式从映像启动新的 Amazon EC2 时如何传递环境变量?

2024-06-19

我正在使用 AWS Java API RunInstance() 从自定义 AMI 映像启动新的 EC2 实例。如何将环境变量传递到新的 EC2 实例,例如数据库 url、AWS 凭证等?


http://alestic.com/2009/06/ec2-user-data-scripts http://alestic.com/2009/06/ec2-user-data-scripts解释了如何使用用户数据执行此操作。有关使用 Java 的陷阱,请参阅AmazonEC2 与用户数据一起启动 https://stackoverflow.com/questions/7491839/amazonec2-launch-with-userdata.

请注意,我看到有人提到这不适用于 Windows,仅适用于 Unix。

[更新]有关设置环境变量的更多数据:https://forums.aws.amazon.com/message.jspa?messageID=139744 https://forums.aws.amazon.com/message.jspa?messageID=139744

[经过多次测试]对我来说,将环境变量回显到 /etc/environment 效果最好,如下所示:

 reservation = connection.run_instances(image_id = image_id,
  key_name = keypair,
  instance_type = 'm1.small',
  security_groups = ['default'],
  user_data = '''#!/bin/sh\necho export foozle=barzle >> /etc/environment\n''')

然后登录时:

ubuntu@ip-10-190-81-29:~$ echo $foozle
barzle
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以编程方式从映像启动新的 Amazon EC2 时如何传递环境变量? 的相关文章

随机推荐