Open inabajunmr opened 6 years ago
パラメータストアだとストアから値取ってきて環境変数にセットしてアプリ機動的なデプロイツールがいる雰囲気ですかね https://dev.classmethod.jp/cloud/aws/parameter-store-application-config/
環境変数を経由するんじゃなく、
みたいなかんじかなぁ。
[IMO]
試してないですがymlの値って環境変数で純粋にオーバーライドできる認識なので
yes,それがいいたかった。 あと起動引数に純粋に渡したりもできる。
環境変数を経由するんじゃなく、 1.SpringBoot起動 2.パラメータストア解決できる人が起動(application.yml中の環境変数解決する人が動くタイミングで)
- あとは環境変数のときと同じ みたいなかんじかなぁ。
2でイケてるのがアレば良いんですが、 パラメータストアにアクセスするためにAWSのクレデンシャル設定が必要になるので、だったら環境変数に食わすってのが手頃で楽だと思ってます。
手前味噌であれですが、 TerraformでAWS環境を管理しているのであれば、パラメータストアの値をTerraformで変数に埋め込めるので、そのへんで自動的にプロビジョンする感じができます。
2でいうと、以下とかイメージしてるやつに近いですかね? https://github.com/wcurrie/aws-ssm-demo
2をすると仮定して、どのパラメータを使って起動するか?はprofileでやるかんじですかね
なんかあれだね、直接にしろ間接にしろ、結局どこかに書かないといけない訳だから、あんまり大差ないね。メモリに載せるのがいいのかしら。運用が面倒になりそうだけど・・・。
AWSだとインスタンスに対してIAM設定できるけど、結局ディスク上のどこかに書き込まれてるんかな
2をすると仮定して、どのパラメータを使って起動するか?はprofileでやるかんじですかね
そうなるんだろうね。
アプリのクレデンシャル管理をAWSにがっつり依存させる前提にするか、させないかという論点になりますかね?
クレデンシャルというか秘匿情報?という言い方ですかね
環境変数が楽でいいね、が結論でいいんじゃないw
あとはパラメータストアみたいなのもオプションで使えるといいね、的な。
具体的な構造はどうデプロイするか考えてからですかね
開発環境にもapplication.ymlをおいて、優先的に読み込ませるようにしました。
https://github.com/DGZ48/redman/pull/9#pullrequestreview-100676797