このドキュメントでは、Spring Cloud Foundry Connector で Kf marketplace にリストされていない MySQL インスタンス(Cloud SQL for MySQL を含む)にアプリをバインドする方法について説明します。これにより、Marketplace のプランでプロビジョニングされたサービスへのバインドと同じように、MySQL の認証情報がアプリに挿入されます。
始める前に
- MySQL がインストール済みで、Kf クラスタでアクセス可能であることを確認します。
- アプリ用のデータベースが作成済みであることを確認します。
- アプリを実行するスペースをターゲットにしていることを確認します。
ユーザー提供のインスタンスを作成する
Kf がアプリを MySQL インスタンスに正しくバインドするには、最小環境変数が URI(例: mysql://username:password@host:port/dbname
)である必要があります。必要に応じて、追加の Key-Value ペアを含めることもできます。URI 文字列の作成については、MySQL のドキュメントをご覧ください。基本的なデプロイの場合、次の例で十分です。
kf cups service-instance-name -p '{"username":"username", "password":"password", "uri":"mysql://username:password@mysql-host:3306/database"}' -t "mysql"
アプリをバインドする
これで、ユーザー提供のサービスが作成されたので、アプリをインスタンス名にバインドできるようになりました。
kf bind-service application-name service-instance-name
アプリを再起動して、変更を有効にします。
kf restart application-name
アプリに新しい環境変数が提供されていることを確認します。
kf vcap-services application-name
ユーザー提供のインスタンスを更新する
環境に変更があり(URI のパスワードやホストの更新、新しい Key-Value ペアの追加など)、その変更をバインドされているアプリに渡す必要がある場合は、ユーザー提供のインスタンスを更新できます。
kf uups service-instance-name -p '{"uri":"new-uri", "some-new-key": "some-new-value"}'
kf unbind-service application-name service-instance-name
kf bind-service application-name service-instance-name