IBM Cloud Docs
はじめに

はじめに

このチュートリアルでは、 サンプル・アプリ を使用して、 IBM Cloud 内の Cloud Foundry アプリケーションを IBM Cloud® Messages for RabbitMQ サービスに接続する方法を示します。 このアプリケーションは、アプリの Web インターフェースを介して提供されるデータを使用するデータベースに対する、作成、読み取り、書き込みの操作を実行します。

既にデプロイメントを作成しており、RabbitMQに接続する場合は、接続ストリングの取得 および RabbitMQ 管理プラグインを使用した接続にスキップできます。

開始前に

Messages for RabbitMQ サービス・インスタンスの作成

IBM Cloud カタログの Messages for RabbitMQ ページ から Messages for RabbitMQ サービスを作成します。

サービスをプロビジョンするサービス名、地域、組織、およびスペースを選択し、 「データベース・バージョンの選択」 フィールドで _「最新の優先バージョン」_を選択します。 この例では、サービス名は「example-rabbitmq」です。

**「作成」**をクリックしてサービスをプロビジョンします。 プロビジョンが完了するまでに、しばらく時間がかかることがあります。 サービスがプロビジョニングされている間は、IBM Cloud _ダッシュボード_に戻ります。

プロビジョニングが完了するまで、アプリケーションをサービスに接続することはできません。

GitHub から Hello World サンプル・アプリを複製します

以下のコマンドを使用して、Hello World アプリを端末からローカル環境に複製します。

git clone -b node git@github.com:IBM-Cloud/clouddatabases-helloworld-cloudfoundry-examples.git

アプリの依存関係をインストールします

npm を使用して依存関係をインストールします。

端末で、サンプル・アプリが配置されている場所にディレクトリーを変更します。

package.json ファイルにリストされている依存関係をインストールします。

npm install

IBM Cloud CLI ツールをダウンロードしてインストールします

端末またはコマンド・ラインから IBM Cloud と通信するために使用するのが IBM Cloud CLI ツールです。 詳しくは、IBM Cloud CLI のダウンロードとインストールを参照してください。

IBM Cloud への接続

コマンド・ライン・ツールで IBM Cloud に接続し、プロンプトに従ってログインします。

ibmcloud login

フェデレーテッド・ユーザー ID がある場合は、ibmcloud login --sso コマンドを使用して、シングル・サインオン ID でログインします。 詳しくは、『フェデレーテッド ID を使用したログイン』を参照してください。

正しい IBM Cloud 組織とスペースをターゲットにしていることを確認します。

ibmcloud target --cf

サービスの作成時に使用したのと同じ値を使用して、提供されているオプションから選択します。

データベース・サービスの Cloud Foundry 別名を作成します。

IBM® Cloud Foundry が非推奨になりました。 2022 年 11 月 30 日以降、新しい IBM® Cloud Foundry アプリケーションを作成できなくなり、既存のユーザーのみがアプリケーションをデプロイできるようになります。 サポート終了は 2023 年 6 月 1 日に行われます。 2023 年 6 月 1 日にまだ存在するインスタンスはすべて削除されます。 詳しくは、IBM Cloud Foundry の非推奨を参照してください。

データベース・サービスに IBM® Cloud Foundry 別名を指定して、 IBM® Cloud Foundry アプリケーションでデータベース・サービスをディスカバーできるようにします。

ibmcloud resource service-alias-create alias-name --instance-name instance-name

別名は、データベース・サービス・インスタンス名と同じにすることができます。 例えば、ステップ 1 で作成したデータベースの場合、以下のコマンドを使用します。

ibmcloud resource service-alias-create example-rabbitmq --instance-name example-rabbitmq

アプリケーションのマニフェスト・ファイルを更新します

IBM Cloud は、マニフェスト・ファイル manifest.yml を使用して、アプリケーションをサービスに関連付けます。 マニフェスト・ファイルを作成するには、以下の手順に従います。

エディターで、新しいファイルを開き、以下のテキストを追加します。

---
applications:
- name:    example-helloworld-nodejs
  routes:
  - route: example-helloworld-nodejs.us-south.cf.appdomain.cloud
  memory:  128M
  services:
    - example-rabbitmq

route 値を固有のものに変更します。 選択する経路によって、アプリケーションの URL のサブドメインが決まります (<route>.{region}.cf.appdomain.cloud)。 {region} がアプリケーションのデプロイ場所と一致していることを確認してください。

name 値を変更します。 選択した名前が、IBM Cloud ダッシュボード内に表示されます。

servicesデータベース・サービスの Cloud Foundry 別名の作成で作成したサービスの別名と一致するように、 値を更新します。

アプリケーションを IBM Cloud にプッシュします。

ステップ 1 でサービスのプロビジョニングが完了していない場合、このステップは失敗します。 IBM Cloud _ダッシュボード_で進行状況を確認できます。

アプリをプッシュすると、マニフェスト・ファイル内で指定されているサービスにそのアプリが自動的にバインドされます。

ibmcloud cf push

アプリが Messages for RabbitMQ サービスに接続されていることを確認します

Messages for RabbitMQ サービス・ダッシュボードに移動します。

ダッシュボード・メニューから_接続_を選択します。 アプリケーションが _接続済みアプリケーション_の下にリストされます。

対象のアプリケーションがリストされない場合は、ステップ 7 と 8 を繰り返し、manifest.yml 内に正しい詳細情報を入力したことを確認します。

アプリの使用

これで、<route>.{region}.cf.appdomain.cloud/にアクセスすると、 Messages for RabbitMQ コレクションの内容が表示されます。 単語とその定義を追加すると、データベースに追加されて表示されます。 アプリを停止して再始動すると、既に追加済みの単語と定義がその時点でリストされます。

アプリのローカルでの実行

アプリケーションを IBM Cloud にプッシュする代わりに、ローカル環境でアプリケーションを実行して Messages for RabbitMQ サービス・インスタンスへの接続をテストできます。 サービスに接続するには、サービス資格情報のセットを作成する必要があります。

  • メインメニューから_サービス資格情報_を選択して、「サービス資格情報」ビューを開きます。
  • **「新規資格情報 (New Credential)」**をクリックします。
  • 資格情報の名前を選択して、**「追加 (Add)」**をクリックします。
  • この時点で、新しい資格情報がリストされます。 表の対応する行で**「資格情報の表示」をクリックして資格情報を表示し、「コピー」**アイコンをクリックして資格情報をコピーします。
  • 選択したエディターで、以下を使用し、示されているように資格情報を挿入して、新しいファイルを作成します。
{
  "services": {
    "messages-for-rabbitmq": [
      {
        "credentials": INSERT YOUR CREDENTIALS HERE
      }
    ]
  }
}
  • サンプル・アプリが配置されているディレクトリー内で、このファイルを vcap-local.json として保存します。

アプリケーションを GitHub または IBM Cloud にプッシュする際に誤って資格情報が公開されないように、この資格情報が含まれているファイルが、関係する無視ファイル内にリストされていることを確認してください。 アプリケーション・ディレクトリー内で .cfignore.gitignore を開くと、これらの両方で vcap-local.json がリストされていることを確認できます。 これは、アプリを GitHub または IBM Cloud にプッシュする際にアップロードされるファイル内には含まれません。

この時点で、ローカル・サーバーを開始します。

npm start

この時点で、アプリは http://localhost:8080 で実行されています。 Messages for RabbitMQ データベースに単語と定義を追加できます。 アプリを停止して再始動すると、追加した単語がページの最新表示時に表示されます。

次のステップ

Best Practices for RabbitMQ on IBM Cloudを確認してください。

サンプル・アプリケーション の動作について詳しくは、アプリケーションの README ファイル、または server.js のコード・コメントを参照してください。これらのコメントには、アプリケーションの機能に関する情報が記載されています。

Messages for RabbitMQ サービスの検討作業を開始するには、サービス・ダッシュボードに関する以下のトピックを参照してください。