AWS Elastic Beanstalk option_settings env变量,带有实例ip

时间:2017-07-02 03:13:52

标签: amazon-web-services amazon-ec2 elastic-beanstalk

我正在使用Elastic Beanstalk Go Platform部署应用程序。

我需要为实例的当前私有ip设置一个环境变量。(我需要这个环境变量才能在我的应用程序本身可用,一旦它通过{{运行1}}。)

在我的Procfile文件中,我已经尝试过所有但尚未运气的事情:

.ebextensions/options.config

此示例将{ "option_settings": [ { "namespace": "aws:elasticbeanstalk:application:environment", "option_name": "PRIVATE_IP", "value": { "Fn::GetAtt": [ "Ec2Instance", "PrivateIp" ] } } ] } 字面设置为整个PRIVATE_IP json字符串。功能是否在Fn::GetAtt...中解释?还有另一种方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

我不确切知道如何在.ebextensions中实现此解决方案,但AWS有一个特殊的网址http://169.254.169.254/latest/meta-data/,您可以使用它来请求此信息。查看更多信息here。对于IP地址,您可以使用http://169.254.169.254/latest/meta-data/public-ipv4。此URL检查http源并回复您的实例信息。

我认为您可以配置YAML以发出curl请求并获取数据。但是,您可能不需要在部署时保存此信息,因为该URL在运行时可用于您的实例。您可以直接在代码中提出此请求。