AWS Spring

Spring Bootでローカル環境からAWSを利用する際の設定

Spring Bootでローカル環境(EC2以外)からAWSを利用する際の設定をメモしておきます。

環境

設定ファイルに定義する内容

application.ymlまたはapplication.propertiesに以下内容を定義してやればOKです。

application.yml

application.properties

アクセスキー IDやシークレットアクセスキー、リージョン名は${設定名}で環境変数化していますが、ap-northeast-1のように値を直に書いても問題ありません。

アクセスキー IDやシークレットアクセスキーはAWSにアクセスするための認証情報です。これらはローカル環境以外(EC2など)でAWSを利用する際にも必須の設定値です。

cloud.aws.stack.auto=falseについては、ローカル環境ではCloudFormationのスタック名を自動取得できないため、このような設定を行っています。EC2上で動作させる場合、この設定は行う必要はありません。ちなみに、ローカル環境でこの設定を行わない場合、アプリケーション起動時に以下のようなエラーが出ます。

cloud.aws.region.auto=falsecloud.aws.region.static=${AWS_REGION}については、ローカル環境ではリージョン名を自動取得できないため、リージョン名を固定値で設定しています。EC2上で動作させる場合、この設定は行う必要はありません。ちなみに、ローカル環境でこの設定を行わない場合、アプリケーション起動時に以下のようなエラーが出ます。「EC2上で動作していないので、リージョン名を自動取得できません」と言われていますね。

まとめ

Spring Bootでローカル環境からAWSを利用する際の設定でした。

参考リンク

-AWS, Spring

© 2024 Reasonable Code