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