AWS Elastic Beanstalk で Tomcat を実行しています。コードが実行されている EC2 インスタンスのプライベート IP アドレスを含む JVM オプションを追加する必要があります。
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)