ユーザー提供のサービスとしての MySQL の設定

このドキュメントでは、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

関連ドキュメント