DGZ48 / redman

Infrared signal manager.
0 stars 1 forks source link

クレデンシャル/もしくは変更しうるプロパティをどうするか #10

Open inabajunmr opened 6 years ago

inabajunmr commented 6 years ago

https://github.com/DGZ48/redman/pull/9#pullrequestreview-100676797

win2cot commented 6 years ago

パラメータストアだとストアから値取ってきて環境変数にセットしてアプリ機動的なデプロイツールがいる雰囲気ですかね https://dev.classmethod.jp/cloud/aws/parameter-store-application-config/

環境変数を経由するんじゃなく、

  1. SpringBoot起動
  2. パラメータストア解決できる人が起動(application.yml中の環境変数解決する人が動くタイミングで)
  3. あとは環境変数のときと同じ

みたいなかんじかなぁ。

kashiwaguma-hiro commented 6 years ago

[IMO]

試してないですがymlの値って環境変数で純粋にオーバーライドできる認識なので

yes,それがいいたかった。 あと起動引数に純粋に渡したりもできる。

環境変数を経由するんじゃなく、 1.SpringBoot起動 2.パラメータストア解決できる人が起動(application.yml中の環境変数解決する人が動くタイミングで)

  1. あとは環境変数のときと同じ みたいなかんじかなぁ。

2でイケてるのがアレば良いんですが、 パラメータストアにアクセスするためにAWSのクレデンシャル設定が必要になるので、だったら環境変数に食わすってのが手頃で楽だと思ってます。

kashiwaguma-hiro commented 6 years ago

手前味噌であれですが、 TerraformでAWS環境を管理しているのであれば、パラメータストアの値をTerraformで変数に埋め込めるので、そのへんで自動的にプロビジョンする感じができます。

2でいうと、以下とかイメージしてるやつに近いですかね? https://github.com/wcurrie/aws-ssm-demo

inabajunmr commented 6 years ago

2をすると仮定して、どのパラメータを使って起動するか?はprofileでやるかんじですかね

win2cot commented 6 years ago

なんかあれだね、直接にしろ間接にしろ、結局どこかに書かないといけない訳だから、あんまり大差ないね。メモリに載せるのがいいのかしら。運用が面倒になりそうだけど・・・。

AWSだとインスタンスに対してIAM設定できるけど、結局ディスク上のどこかに書き込まれてるんかな

win2cot commented 6 years ago

2をすると仮定して、どのパラメータを使って起動するか?はprofileでやるかんじですかね

そうなるんだろうね。

kashiwaguma-hiro commented 6 years ago

アプリのクレデンシャル管理をAWSにがっつり依存させる前提にするか、させないかという論点になりますかね?

kashiwaguma-hiro commented 6 years ago

クレデンシャルというか秘匿情報?という言い方ですかね

win2cot commented 6 years ago

環境変数が楽でいいね、が結論でいいんじゃないw

あとはパラメータストアみたいなのもオプションで使えるといいね、的な。

inabajunmr commented 6 years ago

具体的な構造はどうデプロイするか考えてからですかね

win2cot commented 6 years ago

開発環境にもapplication.ymlをおいて、優先的に読み込ませるようにしました。