添加专用IP地址作为ebextension JVM选项

问题描述 投票:0回答:1

我在AWS弹性豆茎运行Tomcat。我需要添加一个JVM选项,包括任何EC2实例代码运行上的私有IP地址。

我需要添加此属性,以使JMX:-Djava.rmi.server.hostname=1.2.3.4

我已经尝试这些不同的方式,但它只是增加了文字字符串作为ENV财产。如果我硬编码的IP地址,但它是一个自动缩放设置,所以IP将永远是不同的,它工作得很好。

option_settings:
  aws:elasticbeanstalk:application:environment:
    java.rmi.server.hostname: { "Fn::GetAtt" : [ "AWS::EC2::Instance", "PrivateIp"] }
    java.rmi.server.hostname: '`Fn::GetAtt: [ AWS::EC2::Instance, PrivateIp ]`'

如果我不能在option_settings做到这一点,是有办法,我可以创建一个脚本追加到CATALINA_OPTS变量?我试过了:

"/opt/elasticbeanstalk/hooks/appdeploy/post/HL_01_add_catalina_opts.sh":
    mode: "000771"
    content : |
      #!/bin/bash
      CATALINA_OPTS="${CATALINA_OPTS} -Djava.rmi.server.hostname=$(hostname -I)
amazon-web-services amazon-ec2 amazon-elastic-beanstalk ebextensions
1个回答
0
投票

我能加入这个ebextension得到它的工作:

container_commands:
  add_catalina_opts:
    command: echo -e "\nCATALINA_OPTS=\"${CATALINA_OPTS} -Djava.rmi.server.hostname=$(hostname -I)\"\n" >> /usr/share/tomcat8/conf/tomcat8.conf

该tomcat8.conf文件在Tomcat启动脚本执行的,所以附加属性可以是Tomcat部署之前被添加到该文件。

© www.soinside.com 2019 - 2024. All rights reserved.