Cloud Databases インスタンスの展開と接続
目標
このチュートリアルでは、Cloud Databasesインスタンスをデプロイし、訪問者が単語とその定義を入力できるWebページを作成してWebフロントエンドに接続する手順を説明します。 これらの値は、Cloud Databases上で動作するデータベースに格納される。 Terraformを使ってデータベースのインフラをインストールし、ウェブアプリケーションは人気の高い Expressフレームワークを使う。 アプリケーションはローカルで実行することも、Dockerて実行することもできる。
生産性の向上
デプロイプロセスを開始するには、いくつかの生産性向上ツールをインストールする必要があります:
- IBM Cloud アカウント が必要です。
- Node.jsと npm- 公開 npm レジストリからパッケージをインストールする
- Terraform- インフラストラクチャのコード化とデプロイ
- オプションの Docker- アプリケーションを非ローカルで実行します
アカウントにインフラストラクチャーをデプロイするための API キーを取得する
以下 の手順に従って、IBM Cloudを作成してください。TerraformがあなたのアカウントにインフラをプロビジョニングできるようにするAPIキーです。 最大 20 個の API キーを作成できます。
安全上の理由により、API キーをコピーまたはダウンロードできるのは作成時のみになります。 API キーを紛失した場合は、新しい API キーを作成する必要があります。
プロジェクトを複製する
プロジェクトをCloud Databasesからクローンしてください。Hello WorldプロジェクトGitHubリポジトリの。
git clone https://github.com/IBM-Cloud/clouddatabases-helloworld-examples.git
インフラを導入する
このステップでは、使用するデータベース・サービスのインスタンスをデプロイする。 GitHubリポジトリには様々なCloud Databasesリソースのフォルダがあります。
-
GitHub のメインプロジェクトフォルダから、任意の
terraformサービスフォルダ(例:mysql/terraform)に移動します。 -
あなたのマシンで、以下のフィールドを持つ
terraform.tfvarsという名前のドキュメントを作成する:ibmcloud_api_key = "<YOUR_API_KEY_FROM_STEP_1>" region = "<YOUR_REGION>" admin_password = "<CREATE_15_CHARACTER_PASSWORD>"terraform.tfvarsドキュメントには、秘密にしておきたい変数が含まれているため、 GitHub リポジトリではこのドキュメントは無視されます。 -
次のコマンドを使用して、インフラストラクチャをインストールします
terraform init terraform apply --auto-approveTerraformスクリプトは、アプリケーションの実行に必要な設定データを出力するので、ルートフォルダにコピーする:
terraform output -json >../config.json
アプリをローカルで実行する
-
ローカル・マシンからデータベースに接続するには、サービス・フォルダーにいることを確認してから、ノードの依存関係をインストールし、以下のコマンドでサービスを実行する:
npm installnpm run start成功すれば、接続されていることが出力される:
#Connected! #Server is listening on port 8080 -
ブラウザを開き、http://localhost:8080 ブラウザのウィンドウに表示されるデータベースのロゴが入ったウェルカムページがお出迎えです。
-
インターフェイスをテストするには、単語とその定義を入力する。 データ・ペアはデータベースに追加され、ページ下部のリストに表示される。
Docker コンテナからアプリを実行する(オプション)
Code Engineのようなサービスからアプリケーションをホスティングするための最初のステップは、アプリのコードをDockerコンテナ内にコンテナ化し、そこから実行することだ。
-
Dockerアカウントにログインしていることを確認してください。 選択したデータベースのサービス・フォルダで、以下のコマンドを入力する:
docker build -t database-hello-world:1.0 . docker run -p 8080:8080 database-hello-world:1.0 -
ブラウザを開き、http://localhost:8080。ステップ4 と同じウェルカムページが表示されます。
おめでとうございます。Cloud Databasesデプロイメントにデータをフィードするフロントエンドを持つアプリを作成しました!