このドキュメントでは、Spring Cloud Foundry Connector で Kf marketplace(Memorystore を含む)にリストされていない Redis インスタンスにアプリをバインドする方法について説明します。これにより、マーケットプレイスのプランでプロビジョニングされたサービスへのバインドと同じように、Redis の認証情報がアプリに挿入されます。
始める前に
- Redis がインストールされており、Kf クラスタでアクセス可能なことを確認します。
- アプリ用に Redis が設定済みであることを確認します。
- アプリを実行するスペースをターゲットにしていることを確認します。
ユーザー提供のインスタンスを作成する
Kf がアプリを Redis インスタンスに正しくバインドするには、最小環境変数が URI(例: redis://:password@host:port
)である必要があります。必要に応じて、追加の Key-Value ペアを含めることもできます。基本的なデプロイでは、次の例で十分です。
AUTH が構成されていない Redis の場合
kf cups service-instance-name -p '{"uri":"redis://redis-host:6379"}' -t "redis"
AUTH が構成された Redis の場合
kf cups service-instance-name -p '{"uri":"redis://:password@redis-host:6379"}' -t "redis"
アプリをバインドする
これで、ユーザー提供のサービスが作成されたので、アプリをインスタンス名にバインドできるようになりました。
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