IBM Cloud アプリケーションの接続
IBM Cloud で実行されているアプリケーションを IBM Cloud® Databases for Elasticsearch デプロイメントにバインドすることができます。
Kubernetes サービス・アプリケーションの接続
Cloud Databases デプロイメントを Kubernetes Service アプリケーションに接続するには、2 つのステップを実行します。 最初に、デプロイメントをクラスターにバインドし、その接続ストリングをシークレットに保管する必要があります。 2 番目のステップでは、その接続ストリングを使用するようにアプリケーションを構成します。
Connecting a Kubernetes service tutorial のサンプル アプリは、Node.js を使用するサンプル アプリケーションを提供し、サンプル アプリケーションを Cloud Databases デプロイメントにバインドする方法を示します。
Kubernetes Service アプリケーションをデプロイメントに接続する前に、デプロイメントとクラスターが両方とも同じリージョンとリソース・グループ内にあることを確認してください。
デプロイメントのバインディング
- パブリックまたはプライベート・エンドポイント
- パブリック・エンドポイント - デフォルトのパブリック・サービス・エンドポイントを使用してデプロイメントに接続している場合は、クラスター名、リソース・グループ、デプロイメント名を指定して
cluster service bindコマンドを実行できます。
ibmcloud ks cluster service bind <your_cluster_name> <resource_group> <your_database_deployment>
- プライベート・エンドポイント - プライベート・エンドポイントを使用する場合 (デプロイメント上でプライベート・エンドポイントが有効になっている場合) は、最初にデータベースのサービス・キーを作成して、Kubernetes がデータベースにバインドする際にそのサービス・キーを使用できるようにする必要があります。
ibmcloud resource service-key-create <your-private-key> --instance-name <your_database_deployment> --service-endpoint private
--service-endpoint private を使用してプライベート・サービス・エンドポイントが選択されます。 この後、cluster service bind コマンドを使用して、プライベート・エンドポイントを介してデータベースを Kubernetes クラスターにバインドします。
ibmcloud ks cluster service bind <your_cluster_name> <resource_group> <your_database_deployment> --key <your-private-key>
- 検証 - クラスターの名前空間内に Kubernetes シークレットが作成されたことを検証します。 以下のコマンドを実行すると、アカウント内でプロビジョンされているデプロイメントのインスタンスにアクセスするための API キーを受け取ります。
kubectl get secrets --namespace=default
詳細については、Kubernetesサービスのドキュメント を参照してください。
Kubernetes アプリ内での構成
アプリケーションを Kubernetes サービスにバインドすると、クラスターの秘密から環境変数が作成されます。 デプロイメントの接続情報は、 JSON オブジェクトとして BINDING 内に保持されます。 この JSON オブジェクトをアプリケーションにロードして解析し、アプリケーションのドライバーがデータベースに接続するために必要とする情報を取り出します。
接続ストリングのページに、JSON フィールドのリファレンスがあります。
詳細については、Kubernetesサービスのドキュメント を参照してください。