Tanzu Platform Self Managed を試す - 利用者向け:DB接続情報の管理編
最新製品である Tanzu Platform のオンプレ版を試していきます。
ここではTPの利用者がDB接続情報の管理方法があります。
シリーズ
- Install編
- 管理者向け:Projectセットアップ編
- 利用者向け:Spaceへのデプロイ編
- 管理者向け:デプロイ先の軽量化編
- 管理者向け:通信のHTTPS化
- 管理者向け:DNSへの自動登録
- ここ> 利用者向け:DB接続情報の管理編
おまけ:「Tanzu Platform の知らなくてもいい話」シリーズ
Spring Boot 利用者向け:DBを接続
デプロイしたアプリケーションにDBの接続情報のバインド方法を記載していきます。 Spring Boot を使っているか否かで微妙に手順が異なります。まず Spring Boot を利用している場合について記載します。
まず、この記事 に従いアプリをデプロイします。そして、Postgresがあり、それに接続したいとします。 この際、Postgresの接続情報は知っている前提です。
[Space] > [Overview] からデプロイしたアプリケーションを選択します。 [Services] タブを選択します。そして [Create Service] を選択します。
[Attach Service]を選択します。
- Service Name : 適当な名前を設定します。
- Connector Name : 適当な名前を設定します。
- Binding Type : ダラッグリストから該当のサービスを選択します。
- Binding Details Same for all AT : 以下の画面ではYesにしていますが、この機能をうまく使えば、Availability Targetごとに違うシークレット情報を振り分けることができます。
- Binding Details : 必要な情報をいれていきます。ここでは Spring Cloud Bindingsのマッピングにしたがって、利用していきます。Postgresを選択している場合、host、port、database、username、passwordで十分なはずです。
- Egress Connector : DBが外部に存在する場合に入力の必要あり
アプリがデプロイ済みの場合は、[Bind Service(Optional)] で、[ADD SERVICE BINDING] でターゲットを決めます。
全部おわったら、[CREATE SERVICE]を選択します。 BINDされたことを確認します。
Spring Boot の場合、基本的にこれだけで Spring Cloud Bindings の仕組みでパスワードがアプリケーションに反映されます。
なお、UIが慣れたらもちろんCLIでもできます。
Spring Boot 以外利用者向け:DBを接続
Spring Boot 以外だと、Service Bindingの以下のマニュアルを読み込む必要があります。
https://servicebinding.io/application-developer/
最終的には、Lanage Specific Libraries
のライブラリをアプリケーションに追加する必要があります。
それが完了すれば、Spring Bootと同じやり方で、バインドが可能です。
ライブラリ追加がめんどくさい場合、ハック的な手段でマップする方法はあるにはあるのですが、マニアックなので別記事でとりあげるかもしれません。
以上DBとの接続方法のご紹介でした。