2019.04.11

【MuleSoftクイックスタートガイド】最初のAPIのデプロイと管理

  • このエントリーをはてなブックマークに追加
  • follow us in feedly
gettyimages (10479)

※この記事は、下記Mulesoftの記事を、許可を得ていち早く翻訳したものです。 https://developer.mulesoft.com/guides/quick-start/deploying-and-managing-your-first-api

このガイド3ではガイド1ガイド2からの続きで以下のことを行います。

  • アプリケーションをCloudHubにデプロイする。
  • アプリケーションをAPI Gatewayを登録し権限とSLAを設定する。
  • InsightとLogsを使用してアプリケーションのパフォーマンスを計測します。

アプリケーションをAnypoint Platformに配布する理由

Anypoint Platformはアプリケーションの迅速で簡単なデプロイ、管理、および状況の視覚化を提供します。Anypoint Platformを完全に活用することであなたやあなたの組織は次のことが可能になります。

  • 各接続先に既に動作しているAPIを利用することによりプロジェクトの完了を加速させます。
  • APIの提供を視覚化することで重複もしくは平行したデプロイを防ぎます。
  • 組織をまたがるユーザやクライアントのアクセス管理を容易にします。

準備

  1. ガイド1ガイド2の両方を完了していれば、あなたはこのガイドの準備ができています。次のセクションに進んでください。
  2. スキップしている場合は、ExchangeにAPI仕様を追加する必要があります。
    このページDownloadAS LAMLからAPI仕様をダウンロードしてください。zipファイルがダウンロードされます。
    ・Design CenterにzipファイルをアップロードしExchangeに公開してください。詳細はこちらを参照。
  3. 次にAnypoint Studioにプロジェクトをインポートします。
    ・Anypoint StudioのExchangeアイコンをクリックします。
    ・サイドバーのProvided by MuleSoftを選択します。
    Quick Start - eCommerce Products APIを検索します。
    Openボタンを選択してanypoint Studioにプロジェクトをインポートします。

APIをゲートウェイに登録する

API仕様がExchangeに公開され、アプリケーションのデプロイの準備が完了していれば、API Managerを通じて以下のプロセスが開始できます。

  • APIの登録
  • セキュリティポリシー、SLAの設定
  • APIのライフサイクル全体にわたる分析の表示

API Managerの設定

アプリケーションをデプロイして登録するには、まずAPI Managerを設定する必要があります。API ManagerにはAnypoint Platformのホーム画面でMangement CenterAPI Managerの順に選択してAPI Manager画面へ遷移します。API Manager画面で Manage APIManage API from Exchangeを選択します。

すべての組織には、デフォルトでSandbox環境とDesign環境があり、それぞれ独立した構成、ポリシー、およびプロキシが使用できます。 Sandbox環境では通常、利用可能なリソースが限られているため、展開ターゲットまたはワーカーサイズを調整する必要があります。

Manage API from Exchange画面で以下の情報を指定します。

  • API Name: QuickStart-Store
  • API Version: “v1.0”
  • Asset Version: {{Most recent}}
  • Manage type: Basic Endpoint
  • Implementation URL:
  • Check this box…Mule 4 or above..: Checked 代替テキスト

[Save]をクリックすると、AutodiscoveryIDを含む新しい画面が表示されます。 次の手順で使用するには、このIDをクリップボードにコピーしてください。

ゲートウェイ自動検出を追加する

アプリケーションをゲートウェイに登録するには、API自動検出をアプリケーションに追加して設定する必要があります。 API自動検出コンポーネントを追加するには

  • Global Elementsをクリックしてアプリケーションでグローバルにアクセスできる要素を表示する
  • Createボタンを押下する
  • Component configurationsをクリックして展開する
  • API Autodiscoveryを選択してOKボタンをクリック 代替テキスト

この時点で、次のように自動検出設定を構成するように求める新しいモーダルが表示されます。

  • API id: {{上記でコピーしたID}}
  • Flow Name: quickstart-store-main

プロジェクトのXMLファイルはこのようになります。 quickstart-store.xml

組織の資格情報を取得する

ゲートウェイに登録できるアプリを制御するには、適切な組織、環境、およびAPIバージョンにプロビジョニングするためにAPI IDと一緒に使用できるクライアントIDとシークレットを提供する必要があります。開始するには、Access ManagementEnvironmentsの順に選択します。API Managerから環境と一致する環境名をクリックするとモーダル画面が表示されます。次のステップのためにこのウィンドウを開いたままにしてください。 代替テキスト

Anypoint Studioからデプロイする

テスト済みでエラーのないアプリケーションはAnypoint StudioからいくつかのクリックだけでCloudHubにデプロイできます。

デプロイを開始するには、Anypoint Studioで対象のプロジェクトを右クリックAnypoint PlatformDeploy to CloudHubを選択します。Application Deployment画面が開きます。この画面でランタイムのバージョンやリソースの割り当てなど、(前回のステップと同様に)公開する環境を選択することができます。

選択したいデプロイメント名はすでに使用されている可能性があります。その場合は利用可能なデプロイ用の別の名前を入力してください。また、worker sizeの制限に達する可能性があります。worker sizeを「0.1 vCore」に減らすと、アカウントは十分にプロビジョニングされるはずです。

上記のステップから、アプリケーションはAPI IDを介してどのAPIを関連付ける必要があるかを認識しますが、登録に必要な認証パラメーターはありません。プロパティファイルを使用してアプリ自体に組み込むのではなく、必要に応じてアプリが自動的に認証されて更新されるように(sandbox環境からproduction環境へ移行する際などにプロジェクトを編集する必要がないように)するために、画面のpropertiesタブに「client_id」と「client_secret」を配置します。各フィールドの値を上記で取得した値に変更します。

これでアプリケーションをデプロイする準備が整いました。Deploy Applicationボタンをクリックします。新しい画面が表示されますのでOpen in BrowserボタンをクリックしてRuntime Mangerを表示します。

InsightとLogsの表示

Runtime Managerで、デプロイされたアプリ名をクリックしてデプロイ統計(CPU /メモリ負荷など)を表示したり、デプロイ設定をログに記録したり変更したりします。 代替テキスト

ポリシーの設定

API Manager画面に移動しQuickStart-StoreのStatus列がActiveで横に緑色の点が表示されていることを確認してください。これはアプリケーションがゲートウェイに正常に登録され管理できることを意味しています。

レート制限ポリシーを設定します。

  1. 「v1.0」リンクをクリック
    APIの設定画面へ遷移します。
  2. PoliciesApply New PoliciesRate limitingConfigure Policy
    Apply Rate limiting policy画面が表示されます。
  3. 以下のように設定します。
    ・# of Reqs: 1
    ・Time Period: 1
    ・Time Unit: Minute

Applyボタンを押下してください。 以下のCURLコマンドでテストしてください。(デプロイしたアプリケーション名に変更してください。)

curl -X GET http://{{YOUR ROOT URL}}/api/products/1295527d-d3c7-11e7-9c84-06bf056d193e

すべての商品情報を含む応答が返されます。 1分以内にもう一度同じ要求を再試行すると、「Quota has been exceeded.」というエラー応答が表示されます。

次のステップ

これで完了です!アプリケーションがデプロイされ分析と管理が可能になりました。アプリはゲートウェイに登録されており、ポリシーを設定したり、SLA層を設定することもできます。また、API Managerから自分のAPIを利用するためのアクセスが許可されているクライアントアプリケーションを表示することもできます。

他の人がこのアプリケーションを利用するように促すには、API ManagerのView API in Exchangeリンクをクリックして、API’s portalでAPIの説明を編集し、クライアントアプリを通じてその利用を促進します。

23 件
     
  • banner
  • banner

関連する記事