我需要在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}"
有人知道我怎么能实现这一目标吗?
不确定您是否真的可以进行内联,但是https://docs.aws.amazon.com/elasticbeanstalk/latest/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