AzureでのREST APIのデプロイと管理 - Cloud

author
Talendドキュメンテーションチーム
EnrichVersion
Cloud
EnrichProdName
Talend Cloud
task
ジョブデザインと開発
ジョブデザインと開発 > Testing APIs
EnrichPlatform
Talend API Designer
Talend API Tester
Talend Management Console
Talend Studio

AzureでのREST APIのデプロイと管理

Talend Cloud API DesignerでAPIをデザインし、Talend Studioでサービスを作成した後は、負荷分散とAPI管理でAzureを使用できます。

このドキュメントでは、Talend Studioで利用できるDemoRESTサービスを使ったエンドツーエンドの実装を解説します。次の操作方法を説明します。
  • Azure仮想マシンにリモートエンジンを作成する
  • Remote Engineクラスターでサービスをデプロイする
  • Azureにロードバランサーを作成する
  • AzureにAPI管理サービスを作成する

APIとデータサービスをデザインする方法の詳細は、Talend Cloud API Services Platform入門ガイドを参照してください。

Azure版Remote Engineの作成

Microsoft Azureマーケットプレイスで入手できるAzure版Talend Cloud Remote Engineを使えば、Talend Remote Engineで仮想マシンを作成できます。 詳しい手順は、Microsoft Azure版Talend Cloud Remote Engineガイドを参照してください。

始める前に

  • Microsoft Azureで関連する権限を有していること。
  • Talend Cloudに関連する権限を有していること。

手順

  1. Talend Cloud Management Console[Engines] (エンジン) ページに移動し、Remote Engineを2つ作成します。
    それぞれDemoREST-RE1DemoREST-RE2のような名前を付けます。どちらのRemote Engineにも少なくともマイクロサービス実行プロファイルが必要です。
  2. Azureでマーケットプレイスに移動し、Azure版Talend Cloud Remote Engineを作成します。
  3. [Basics] (基本)タブでサブスクリプションを選択し、DemoREST-RG1といった名前で新しいリソースグループを作成します。
    このプロセスでAzure版Remote Engineをインストールする場合は、Remote Engineごとに個別のリソースグループが必要です。仮想マシンをすべて同じリソースグループに含める場合は、仮想マシンを作成して各自にRemote Engineをインストールする必要があります。詳細は、Azureでの仮想マシンに関するドキュメンテーションを参照してください。
  4. 仮想マシンにDemoREST-VM1といった名前を付けて認証設定を構成します。

    例え

  5. [Virtual Machine Settings] (仮想マシンの設定)タブで、ストレージアカウントとパブリックIPアドレスを作成します。
    パブリックIPアドレスのSKUは使用するロードバランサーと一致していることが必要です。デフォルトでは[Basic] (基本)ですが、この例では[Standard] (標準)に変更する必要があります。
  6. 仮想ネットワークを設定します。
    最初のRemote Engineの作成中に仮想ネットワークを作成し、2番目のRemote Engineでそれを再利用することもできます。

    例え

  7. [Remote Engine Settings] (Remote Engineの設定)タブで、DemoREST-RE1 Remote Engineの事前認証キーを入力してリージョンを選択します。
  8. 同じ手順を繰り返してAzure版Talend Cloud Remote Engineをもう1つ作成します。
    1. 新しいリソースグループ(DemoREST-RG2など)を作成します。
    2. 仮想マシンにDemoREST-VM2という名前を付けます。
    3. 最初の仮想マシンに作成したものと同じDemoREST-VNet仮想ネットワークを使用します。
    4. DemoREST-RE2 Remote Engine用の事前認証キーを使用します。

タスクの結果

仮想マシンが作成され、それぞれにRemote Engineがインストールおよびペアリングされた状態で起動します。

受信ポートルールの作成

仮想マシンに対して外部アクセスを許可するルールを作成します。

手順

  1. 作成したDemoREST-VM1仮想マシンを開き、[Networking] (ネットワーク)をクリックします。
  2. [Add inbound port rule] (受信ポートルールの追加)をクリックし、新しいルールを作成します。
  3. ルールを設定します。
    この例では、任意のソースから任意のデスティネーションへのトラフィックがルールによって許可されます。次のように設定されています。
    パラメーター
    [Source] (ソース) Any
    [Source port ranges] (ソースポートの範囲) *
    [Destination] (デスティネーション) Any
    [Destination port ranges] (デスティネーションポートの範囲) *
    [Protocol] (プロトコル) Any
    [Action] (アクション) Allow
    優先度 1010
    [Name] (名前) ExternalAccess
  4. [Add] (追加)をクリックします。
    受信ポートルールのリストに新しいルールが追加されます。
  5. DemoREST-VM2に同じルールを作成する場合は、以上のステップを繰り返します。

Remote Engineクラスターでのマイクロサービスのデプロイ

Remote Engineクラスターを作成し、Talend Studioからマイクロサービスをインポートしてデプロイします。

始める前に

  • Remote Engineを作成済みであること。
  • Talend Studioがインストールされていること。

このタスクについて

この例ではジョブがマイクロサービスとしてデプロイされていますが、 Talend Runtimeを使ってジョブをデプロイすることもできます。そのためには、各仮想マシンに Talend Runtimeのインスタンスをインストールし、Talend Studioのジョブで[OSGi Bundle] (OSGiバンドル)ビルドタイプを選択する必要があります。

Remote Engineクラスターの作成

手順

  1. Talend Cloud Management Console[Engines] (エンジン)ページに移動し、[ADD] (追加) > [Remote Engine cluster] (Remote Engineクラスター)をクリックします。
  2. 関連する環境とワークスペースを選択します。
  3. クラスターの名前(DemoREST-REC)を入力します。
  4. [SAVE] (保存)をクリックします。
    クラスターが作成され、Remote Engineを追加できるようになります。
  5. [Engines] (エンジン)ページでRemote Engineクラスターをクリックして[Cluster details] (クラスター詳細)パネルを開き、[Engines] (エンジン)をクリックします。
  6. [Remote Engine]の右にある鉛筆アイコンをクリックします。
  7. 作成した2つのRemote Engineを選択します。

    例え

タスクの結果

Remote Engineクラスターが作成されます。このクラスターを使って自分のサービスをデプロイできます。

ESBデモプロジェクトのインポート

デモジョブ、ルート、サービスをTalend Studioにインポートします。

このタスクについて

Talend Studioには複数のデモプロジェクトが用意されており、さまざまなコンポーネントや機能をテストできます。

手順

  1. Talend Studio[Integration] (統合)パースペクティブで、アイコンをクリックします。
  2. ダイアログボックスが開いたら、[ESB Demos] (ESBデモ)を選択し、[Finish] (終了)をクリックします。

タスクの結果

デモプロジェクトが[Repository] (リポジトリー)にインポートされました。ジョブ、ルート、サービスを使ってTalend Cloud API Services Platformのその他の機能を確認できます。

Talend Cloudへのマイクロサービスへの公開

始める前に

Talend StudioTalend Cloudアカウントに接続していること。

手順

  1. 自分の[Repository] (リポジトリー)で、[Job Designs] (ジョブデザイン) > [Standard] (標準)ノードを展開し、DemoRESTジョブを開きます。
  2. [Job] (ジョブ)タブに移動し、[Deployment] (デプロイ)をクリックします。
  3. [Build Type] (ビルドタイプ)ドロップダウンリストで、[Microservice for ESB] (ESB用のマイクロサービス)を選択します。
  4. ジョブを保存します。
  5. [Repository] (リポジトリー)でジョブを右クリックし、[Publish to Cloud] (クラウドに公開)をクリックします。
  6. 該当するワークスペースを選択し、[Finish] (終了)をクリックします。

タスクの結果

アーティファクトとドラフトタスクがTalend Cloud Management Consoleに作成されます。これで、タスクを設定してデプロイできるようになります。

タスクの設定とデプロイ

手順

  1. Talend Cloud Management Console[Management] (管理)ページに移動し、該当するワークスペースで[Tasks] (タスク)をクリックします。
  2. DemoRESTタスクを開き、[EDIT] (編集)をクリックします。
  3. [Artifact] (アーティファクト)ステップの詳細が正しいことを確認し、[CONTINUE] (続行)をクリックします。
  4. [Runtime] (ランタイム)ドロップダウンリストで、Remote Engineクラスターを選択します。
  5. ポートで[Custom] (カスタム)オプションを選択し、[Port number] (ポート番号)フィールドに5066と入力します。
  6. デプロイ戦略で[Parallel] (並列)オプションを選択します。
  7. [SAVE DRAFT] (下書きの保存)をクリックします。
  8. Remote Engineがすべてペアリングされ利用可能になっていることを確認し、[DEPLOY] (デプロイ)をクリックします。

マイクロサービスのテスト

Talend Cloud API Testerを使い、デプロイしたマイクロサービスをテストします。

始める前に

Talend Cloud API TesterGoogle Chrome拡張機能をインストール済みであること。詳細は、Talend Cloud API Testerユーザーガイドを参照してください。

手順

  1. Talend Cloud API Testerを開き、左パネルの下部にある[Project] (プロジェクト)ボタンをクリックして新しいプロジェクトを作成します。
  2. プロジェクトの名前(DemoRESTなど)を入力して[Create] (作成)をクリックします。
  3. ウィンドウの右上にある[Add an environment] (環境を追加)をクリックし、DemoREST-VM1という名前で新しい環境を作成します。
    これにより、ベースURLの環境変数を作成し、リクエストで直接変更しないようにできます。
  4. [Name] (名前)カラムにbaseURLと入力し、関連するURLを[Value] (値)カラムに入力します。
    この例ではhttp://<DemoREST-VM1>:5066/servicesと入力します。<DemoREST-VM1>の部分は、仮想マシンに関連付けられているパブリックIPアドレスに置き換えます。
  5. オプション: DemoREST-VM2の環境を作成します:
    1. [Add an environment] (環境を追加]をクリックして名前を入力します。
    2. [Copy variables from] (変数のコピー元)チェックボックスを選択し、ドロップダウンリストでDemoREST-VM1を選択します。
    3. [Create] (作成)をクリックします。
    4. baseURL[Value] (値)カラムを、関連するIPアドレスで更新します。
  6. [Close] (閉じる)をクリックします。
  7. [Add a request] (リクエストの追加)をクリックしてGet all customersという名前のリクエストを作成した後、そのリクエストを開いて${"baseURL"}/customersというURIを入力します。
  8. [Save] (保存)[Send] (送信)の順にをクリックし、リクエストを送信します。
    顧客のリストが返されます。