Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerMuleSoft Accelerator は、ここでは「共通サービス」と呼ばれる多数の共通コンポーネントを利用します。これらのサービスを次に示します。
共通スケジューラー - 統合スケジュール
通知サービス - 通知を送信
セキュリティサービス - API セキュリティポリシー
通知サービスとスケジューラーサービスは、独立したアプリケーションとして設定およびインストールできます。通知サービスは、選択された通知対象に応じて複数のアプリケーションで構成されます。API Manager を使用して 1 つ以上のセキュリティポリシーを適用できます。
共通スケジューラーサービスは、スケジュールを実行し、API コールを実行する省略可能なコンポーネントです。共通スケジューラーサービスを使用する利点は、すべてのインテグレーションレベルのスケジュールを 1 か所で管理できることです。スケジューラーサービスのしくみの概要を次に示します。
このサービスは、対象デプロイメントプラットフォームに応じて 2 つの異なる方法で構築されます。Anypoint Platform は、スケジュールを処理するときに、CloudHub にデプロイされたアプリケーションに運用上の利点をもたらします。
スケジューラープロセスのワークフローの概要を以下に示します。
定義済みのスケジュールがトリガーされます。スケジュールには、SCHEDULE_TYPE や WATERMARK など、最後の実行に関する豊富な情報があります。
スケジュールサービスは、このイベント用に設定されたジョブをコールし、スケジュールの状況を現在のタイムスタンプで「TRIGGERED」に更新します。トリガー ID とコールバック URL が生成されます。
プロセスが完了すると、コールバック URL を介してスケジュール状況サービスへのコールバックが実行され、実行状況が報告されます。
サービス設定についての詳細は、「使用開始」ガイドおよびサービス自体の実装テンプレートを参照してください。
このソリューションでは、省略可能な通知プロセス API が提供されます。この API は、通知イベントをコンシュームし、SMS、メール、または Slack 経由で、これらのサービスに固有のシステム API を介して個人またはグループに通知を送信します。設計の概要を以下に示します。
ご覧のとおり、API はコール元のアプリケーションをブロックいないように、受信要求をキューに直接オフロードします。
通知プロセスのワークフローの概要を以下に示します。
モジュールが通知プロセス API をコールし、次の情報を提供します。
NOTIFICATION\_TYPE
— メール、SMS、Slack のいずれか
NOTIFICATION\_ADDRESS
— 宛先アドレス/番号
NOTIFICATION\_MESSAGE
— 通知メッセージのテキスト
API はダウンストリーム処理のためにメッセージをキューに配置し、すぐに成功応答を返します。
キューサブスクライバーはメッセージを受信し、NOTIFICATION\_TYPE
に基づいて適切なシステム API に転送します。
システム API はメッセージを同期的に処理し、バックエンドサービスにポストします。
サービス設定についての詳細は、「使用開始」ガイドおよび個々の RAML 仕様と個々のサービス自体の実装テンプレートを参照してください。
ほとんどの API は、セキュアな通信のためにデフォルトで HTTPS プロトコルを使用します。ソリューションによって提供される API は、API Manager でクライアント ID 適用
ポリシーを適用することによって保護することもできます。基本認証
ポリシーもサポートされています。
API エンドポイントを公開したり、他の API をコールしたりするアプリケーションは、HTTPS プロトコル経由でそれらを実行します。デプロイメントを簡素化するために、リスナーは accelerator-common-core
ライブラリによって提供される自己署名証明書を使用します。このアプローチは、対象デプロイメントリージョンで共有 CloudHub ロードバランサーを使用する場合には正常に機能しますが、専用ロードバランサーで実行されている場合は通常、証明書を置き換える必要があります。
このセクションでは、デプロイされた API のクライアント ID 適用
ポリシーを有効にする手順について説明します。
続行するには、組織の Anypoint サブスクリプションに API Manager が含まれている必要があります。
管理 API インスタンスを作成する最も簡単な方法は、既存の Exchange アセットを使用することです。手順は次のとおりです。
API RAML Definition (API RAML 定義) アセットを MuleSoft Exchange からダウンロードし、独自の Exchange インスタンスにアップロードします。必ず正しいビジネスグループを選択してください。
API Manager で、同じビジネスグループを選択し、対象環境を選択します。[Manage API (API を管理)]
ボタンをクリックし、[Manage API from Exchange (Exchange から API を管理)]
オプションを選択します。
[API Name (API 参照名)]
項目に、管理する API の名前を入力し始めます。アセットタイプとバージョン項目に自動的に値が入力されます。
[Mule version (Mule バージョン)]
オプションまでスクロールダウンし、有効にします。[Implementation URI (実装 URI)]
項目のコンテンツをクリアします。
後で API を見つけやすくするため、[Advanced options (詳細オプション)]
セクションを展開し、[Label (表示ラベル)]
項目に API の完全な表示名 (「Accelerator Jira Experience API (アクセラレーター Jira エクスペリエンス API)」
など) を入力します。
[Save (保存)]
をクリックして API インスタンスを作成します。概要ページで、[Autodiscovery (自動検出)]
表示ラベルの下にある API ID
値をコピーします。
Exchange で API アセットを見つけ、アセットページの右上隅にあるメニュー (「3 つのドット」メニュー内にある場合があります) から [Request access (アクセス権の要求)]
オプションを選択します。前に作成した API を選択し、使用するアプリケーションを選択 (必要に応じて作成) します。 必ずクライアント ID とクライアントシークレットの値をコピーしてください。
ローカルの Maven settings.xml
ファイル (アクセラレーターデプロイメント専用に設定したファイル) で、上記でコピーした値を使用して、対象デプロイメントプロファイル (CloudHub-DEV
など) の accelerator-api.client-id
プロパティと accelerator-api.client-id
プロパティの値を設定します。
セキュリティを強化するには、API コンシューマーごとに個別のアプリケーションを作成します。API 間のコールの場合、各クライアント ID/シークレットのペアをデプロイメントプロファイルに追加し、コンシュームする API の pom.xml
ファイル内のプロパティ名参照を更新する必要があります。
各アプリケーションには、実装している API ID に対応する設定要素が含まれている必要があります。アクセラレーターアプリケーションには、このサポートがすでに含まれています。次のように更新するだけです。
実装プロジェクトで、src/main/mule
フォルダー内にある global.xml
ファイルを開きます。
エディターが開いたら、[Configuration XML (設定 XML)]
タブを選択して XML ソースを表示します。
api-gateway:autodiscovery
要素を見つけてコメントを解除します。値はそのままにしておきます。
src/main/resources/config
フォルダー内にある対象デプロイメント環境を表すプロパティファイル (config-dev.yaml
など) で、autodiscoveryID
プロパティを見つけて、上記の API ID
値からコピーした値に設定します。必ず二重引用符を保持してください (これはすべての YAML 設定プロパティに適用されます)。
更新されたアプリケーションをデプロイし、ログファイルを監視します。「Your application is started (アプリケーションが起動しました)」
というメッセージの直前に、次のようなメッセージが表示されます。
API ApiKey{id='16422525'} is now unblocked (available).
API Manager の API インスタンスの状況が「Available (使用可能)」と表示されていることを確認します。
次の手順では、クライアント ID 適用ポリシー
を特定の API に適用する方法について説明します。
API Manager で、ポリシーを適用する API を見つけ、バージョンの表示ラベルをクリックして API 設定ページを表示します。
左側のナビゲーションメニューから [Policies (ポリシー)]
項目を選択し、[Apply New Policy (新しいポリシーを適用)]
ボタンをクリックします。
最新バージョンのクライアント ID 適用
ポリシーを選択し、[Configure Policy (ポリシーを設定)]
をクリックします。
ポリシーの設定ページで、[Credentials origin (ログイン情報の取得元)]
設定の [HTTP Basic Authentication Header (HTTP 基本認証ヘッダー)]
オプションを選択します。
[Apply (適用)]
ボタンをクリックしてポリシーを作成し、API に適用します。
しばらくしてからポリシーが有効になります。
すべての API にポリシーを適用する簡単な方法は、自動ポリシーとしてデプロイすることです。既存のアプリケーションは更新され、新しいデプロイメントではポリシーが自動的に取得されます。ポリシー自体を設定する手順は同じです。
API Template Project (API テンプレートプロジェクト) は、新しい API 仕様の実装を迅速に作成できる汎用実装テンプレートです。
Maven Archetype Plugin (Maven アーキタイププラグイン) は、開発者が新しい API の開発を開始するのに役立つ、アクセラレーターのベストプラクティスを使用して事前に構築された Maven アーキタイプです。
「使用開始」ガイドには、これらのサービスの設定と使用に関する詳細情報が記載されています。機能の観点からのこれらのサービスについての詳細は、左側のナビゲーションページを参照してください。
『MuleSoft Accelerators』 メインページ。