首页 > 解决方案 > 在 AWS elasticbeanstalk 配置文件中引用环境变量

问题描述

我需要在 AWS elasticbeanstalk 环境设置期间获取 EC2 实例的公共 IP 地址。

目前我有一个 .ebextentsions/my.config 文件,其中设置了 Tomcat JVM 选项。

我正在尝试将 rmi 主机名设置为 EC2 实例的公共 IP 地址:

 - namespace:  aws:elasticbeanstalk:container:tomcat:jvmoptions
   option_name:  "java.rmi.server.hostname"
   value:  "{client_external_IP_addr}"

有谁知道我怎么能做到这一点?

标签: amazon-elastic-beanstalk

解决方案


不确定您是否真的可以内联,但https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions-functions.html似乎认为您可以使用 GetAtt 或 Ref 来获取值。完全未经测试,但您必须首先定义一个捕获 AWS::EC2::EIP 的资源,可能像这样:

Resources:
  myIP:
    Type: AWS::EC2:EIP

然后你可以尝试:

- namespace:  aws:elasticbeanstalk:container:tomcat:jvmoptions
   option_name:  "java.rmi.server.hostname"
   value:  !Ref myIP

推荐阅读