RDSを使用してJava 8 Elastic Beanstalkインスタンスを作成した後、RDS接続の詳細は環境変数として表示されません(実行中の他のインスタンスで表示されます)。RDS環境変数はAWSのElastic Beanstalkインスタンスで使用できませんか?
printenv
コマンドを実行した後、これらの値が使用可能であると予想されていましたが、そうではありません。
RDS_HOSTNAME = foo.com
RDS_USERNAME = fooの
RDS_PASS =バー
これらは、彼らがしているアプリケーションの焼成中にサーバ設定
database:
driverClass: com.mysql.jdbc.Driver
user: ${RDS_USERNAME}
password: ${RDS_PASSWORD}
url: jdbc:mysql://${RDS_HOSTNAME}/${RDS_DB_NAME}
によって必要とされています使用できない場合、ログにはJava例外が表示されます。環境変数を見つけます。
io.dropwizard.configuration.UndefinedEnvironmentVariableException:環境変数 'RDS_USERNAME'が定義されていません。式 '$ {RDS_USERNAME}'を代用できませんでした。 org.apache.commons.lang3.text.StrSubstitutor.resolveVariableでio.dropwizard.configuration.EnvironmentVariableLookup.lookup(EnvironmentVariableLookup.java:41) (StrSubstitutor.java:934)org.apache.commons.lang3で で。 text.StrSubstitutor.substitute(StrSubstitutor.java:855) at org.apache.commons.lang3.text.StrSubstitutor.substitute(StrSubstitutor.java:743) at org.apache.commons.lang3.text.StrSubstitutor.replace( io.dropwizard.configuration.BaseConfigurationFactory.build(BaseConfigurationFactory.java:83)io.dropwizard.cliで でio.dropwizard.configuration.SubstitutingSourceProvider.open(SubstitutingSourceProvider.java:39) でStrSubstitutor.java:403) 。 ConfiguredCommand.parseConfiguration(ConfiguredCommand.java:124)io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:72)のio.dropwizard.cli.Cli.run(Cli.java:75)の at io.dropwizard.Application.run(Application.java:
{"CONFIG":"dev.yml","RDS_HOSTNAME":"foo.com","RDS_PASSWORD":"foo","M2":"/usr/local/apache-maven/bin","M2_HOME":"/usr/local/apache-maven","RDS_DB_NAME":"foo","JAVA_HOME":"/usr/lib/jvm/java","RDS_USERNAME":"foo","GRADLE_HOME":"/usr/local/gradle","RDS_PORT":"3306"}
任意のアイデアのためにこれらの値を復元する方法:私は
sudo /opt/elasticbeanstalk/bin/get-config environment
EC2インスタンス上で以下のコマンドを実行した場合93)
は、しかしそれは、JSONの値アウトを出力しますec2 -ユーザー?
私が試してみました:
- を
- EBインスタンスを再起動する彼らはなぜ、
eb deploy
任意のアイデア後にそれらを設定するスクリプトへ
cat
値インスタンスを再構築この特定のインスタンスでは表示されませんか? インスタンスの詳細
Environment details foo: foo-service
Application name: foo-service
Region: eu-west-2
Platform: arn:aws:elasticbeanstalk:eu-west-2::platform/Java 8 running on 64bit Amazon Linux/2.6.0
Tier: WebServer-Standard
あなたは、/ etc /環境でそれらを初期化しようとすることはできますか?環境変数が存在することを確認する必要があるとき、私はそれを確認してそこに追加します。すべてのユーザーシェルはその変数をそのように設定します。 –