IBM Cloud アプリケーションの接続

IBM Cloud で実行しているアプリケーションを、IBM Cloud® Databases for MongoDB デプロイメントにバインドすることができます。

Kubernetes サービス・アプリケーションの接続

Cloud Databases デプロイメントを Kubernetes Service アプリケーションに接続するには、2 つのステップを実行します。 最初のステップとして、デプロイメントをクラスターにバインドし、その接続ストリングをシークレット内に保管する必要があります。 2 番目のステップでは、その接続ストリングを使用するようにアプリケーションを構成します。

Kubernetes Service の接続のチュートリアルにあるサンプル・アプリは、 Node.js を使用するサンプル・アプリケーションを提供し、このサンプル・アプリケーションを Cloud Databases デプロイメントにバインドする方法を示しています。

Kubernetes Service アプリケーションをデプロイメントに接続する前に、デプロイメントとクラスターが両方とも同じリージョンとリソース・グループ内にあることを確認してください。

デプロイメントのバインディング

  1. パブリックまたはプライベート・エンドポイント
  • パブリック エンドポイント- デフォルトのパブリック サービス エンドポイントを使用して配置に接続する場合は、cluster service bind コマンドにクラスタ名、リソース グループ、およびインスタンス名または CRN を指定して実行できます。

    ibmcloud ks cluster service bind <YOUR_CLUSTER_NAME> <RESOURCE_GROUP> <INSTANCE_NAME_OR_CRN>
    
  • プライベート エンドポイント- プライベート エンドポイントを使用する場合 (配置で有効になっている場合)、最初にデータベースのサービス キーを作成する必要があります。 Kubernetes は、データベースにバインドするときにそのサービス・キーを使用します。

    ibmcloud resource service-key-create <YOUR-PRIVATE-KEY> --instance-name <INSTANCE_NAME_OR_CRN> --service-endpoint private  
    

    --service-endpoint private を使用してプライベート・サービス・エンドポイントが選択されます。 この後、cluster service bind コマンドを使用して、プライベート・エンドポイントを介してデータベースを Kubernetes クラスターにバインドします。

    ibmcloud ks cluster service bind <YOUR_CLUSTER_NAME> <RESOURCE_GROUP> <INSTANCE_NAME_OR_CRN> --key <YOUR-PRIVATE-KEY>
    
  1. 検証 - クラスターの名前空間内に Kubernetes シークレットが作成されたことを検証します。 以下のコマンドを実行すると、アカウントのデプロイメントのインスタンスにアクセスするための API キーが表示されます。

    kubectl get secrets --namespace=default
    

    サービスのバインドについての詳細は、Kubernetes Service の資料を参照してください。

Kubernetes アプリ内での構成

アプリケーションを Kubernetes サービスにバインドすると、クラスターの秘密から環境変数が作成されます。 デプロイメントの接続情報は、 JSON オブジェクトとして BINDING 内に保持されます。 この JSON オブジェクトをアプリケーションにロードして解析し、アプリケーションのドライバーがデータベースに接続するために必要とする情報を取り出します。

接続文字列の取得 ページには、JSONフィールドの参照が含まれています。

詳細については、Kubernetes Service ドキュメント を参照してください。