CloudHub API

CloudHub 管理 API (CloudHub API) を使用すると、Anypoint Runtime Manager の次の機能にプログラムでアクセスできます。

  • アプリケーションの管理:

    • CloudHub でアプリケーションを作成、デプロイ、開始、終了、リスト、削除する。

    • ワーカー数、Mule Runtime Engine バージョン、システムプロパティなどのアプリケーションのメタデータを更新する。

    • アプリケーションやワーカーの統計情報を取得する。

    • アプリケーションのトランザクションやトランザクションのイベントを取得する。

    • 再生データを確認し、トランザクションのフローを再生して、アプリケーションの再生データを削除する。

    • 静的 IP アドレスを管理して、アプリケーションに関連付けられている未使用の IP アドレスを解放する。

    • アプリケーションの Mule パッケージをダウンロードする。

    • スケジュールの全部または一部を更新、有効化、無効化、または実行する。

  • ログ、通知、アラートの管理:

    • アプリケーションのログレベルを追加、更新、取得する。

    • アプリケーションまたはインスタンスのログファイルをダウンロードする。

    • 通知を作成、更新、取得する。

    • 通知を既読または未読としてマークする。

    • アプリケーションによってトリガーされるアラートを作成、更新、削除する。

    • アラートとアラート履歴を取得する。

  • ロードバランサーの管理:

    • ロードバランサーを作成、更新、削除する。

    • 組織内のロードバランサーをリストする。

    • ロードバランサールールをテストして、入力に適用されるルールの数を返す。

  • VPC、VPN、TGW の管理:

    • VPC を作成、更新、リスト、削除する。

    • VPN 接続を作成、削除する。

    • Anypoint Platform 組織への複数の AWS トランジットゲートウェイアタッチメントを追加、変更、削除する。

  • 永続的なキューの管理:

    • 永続的なキューの統計情報を取得する。

    • 永続的なキューからエントリをクリアする。

  • 以下に関する追加情報を取得する:

    • サポート対象の Mule バージョン

    • 現在の組織 (使用状況の統計情報を含む)

    • ワーカー (スレッドダンプとワーカー領域を含む)

    • ユーザー (権限を含む)

    • 使用可能なドメイン名

サポートされているリソース、メソッド、必須プロパティ、予想される応答の対話型リファレンスについては、 「CloudHub API」​を参照してください。

CloudHub API は、クラウドベースバージョンの Runtime Manager にデプロイされたアプリケーションのみを管理します。 API を使用したオンプレミスアプリケーションの管理については、 「Runtime Manager REST サービス」​を参照してください。

CloudHub API の使用

アプリケーションの操作に慣れてから開始してください。

CloudHub API ではどの HTTP クライアントでも使用できます。 Java を使用する場合は、JSON 用の Jackson​ がサポートされている Jersey クライアント​または HttpClient​ を使用してください。

CloudHub API の操作にアクセスするには、以下を行う必要があります。

  1. API を使用して認証するには認証ベアラートークン (​AUTH_BEARER_TOKEN​) を生成します。

    アクセストークンを取得するには、組織のシステム管理者ロールが割り当てられたユーザーの Anypoint Platform ユーザー名とパスワードが必要です。 「アクセス管理 API」​の 「認証」​を参照してください。

    ユーザー名により、アクセスする環境が指定されます。 たとえば、ユーザー名が ​consuela​ で環境が ​Development​ の場合、ユーザー名は ​consuela@Development​ になります。 環境を指定しない場合の API のデフォルトは ​Production​ です。

  2. 組織 ID (​ORG_ID​) を取得します。

    「アクセス管理 API」​の /api/me​ エンドポイントを参照してください。

  3. 環境 ID (​ENV_ID​) を取得します。

    「アクセス管理 API」​の /api/organizations/ORG_ID/environmentsORG_ID​ エンドポイントを参照してください。

アプリケーションのリストの取得

CloudHub にデプロイされたアプリケーションのリストを取得するには、次の ​curl​ コマンドを実行します。

curl -X GET \
  --url https://anypoint.mulesoft.com/cloudhub/api/applications \
  -H 'authorization: Bearer AUTH_BEARER_TOKEN' \
  -H 'X-ANYPNT-ENV-ID: ENV_ID' \
  -H 'X-ANYPNT-ORG-ID: ORG_ID'

データ形式

型を返すまたは受け入れるリソースやメソッドは、JSON データ形式を使用します。 アプリケーションの取得要求への応答として JSON 形式で受信するデータの例を示します。

{
  "versionId": "xxxxxxxx",
  "domain": "hello",
  "fullDomain": "hello.us-e1.cloudhub.io",
  "properties": {
    "foo":"bar"
  },
  "propertiesOptions": {},
  "status": "STARTED",
  "workers": {
    "type": {
      "name": "Micro",
      "weight": 0.1,
      "cpu": "0.1 vCores",
      "memory": "500 MB memory"
    },
    "amount": 1,
    "remainingOrgWorkers": 223.7,
    "totalOrgWorkers": 1000.0
  },
  "workerStatuses": [
    {
      "id": "i-xxxxxxxx",
      "host": "xxx.xxx.xxx.xxx",
      "port": 0,
      "status": "STARTED",
      "deployedRegion": "us-east-1",
      "staticIPEnabled": false
    }
  ],
  "lastUpdateTime": 1589868960908,
  "fileName": "hello.zip",
  "muleVersion": {
    "version": "4.3.0",
    "updateId": "xxxxxxxx",
    "latestUpdateId": "xxxxxxxx",
    "endOfSupportDate": 1633737600000
  },
  ...
}

レート制限

CloudHub 管理 API は、グローバル使用制限を適用しますが、いくつかの例外があります。

CloudHub 管理 API のグローバルレート制限

グローバルレート制限の例外​に示す例外を除いた CloudHub 管理 API エンドポイントのレート制限を下表に示します。

アプリケーションがレート制限に達すると、CloudHub は 503 状況コードを返します。

エンドポイント コントロールプレーン クライアント IP アドレスごとのレート制限 状況コード

指定されたエンドポイント以外のすべてのエンドポイント

米国

75 要求/秒

503

EU

25 要求/秒

Government Cloud

グローバルレート制限の例外

CloudHub 管理 API のグローバルレート制限​の例外を下表に示します。

アプリケーションがレート制限に達すると、CloudHub は下表の状況コードを返します。

エンドポイント コントロールプレーン クライアント IP アドレスごとのレート制限 状況コード

/api下のエンドポイント

/notifications

米国

75 要求/分

503

EU

25 要求/分

Government Cloud

v2/applications/{domain}下のエンドポイント

/logs

すべて

10 要求/秒

429

/deployments/{deploymentId}/logs

/instances/{instanceId}/logs

/instances/{instanceId}/log-file

1 要求/分

500

状況コードとエラー処理

CloudHub API をコールすると、次の状況コードが返されます。

状況コード 説明

200

操作に成功した。

201

リソース (アプリケーションなど) が作成された。

Location​ ヘッダーには、リソースの場所が含まれています。

404

リソースが見つからなかった。

409

リソース (サーバー、サーバーグループ、デプロイメントなど) の作成時に同じ名前のリソースがすでに存在していた。

429

レート制限に達したために操作に失敗した。

500

操作に失敗した。

詳細は、HTTP 本文を参照してください。

503

一時的なじょうたい (例: サーバーの過負荷、レート制限に達した) のために操作に失敗した。

操作を再試行します。

エラーが発生した場合 (500 状況コードなど)、HTTP 応答には JSON 応答とエラーメッセージが含まれます。

500
Content-Type: application/json
Server: Apache-Coyote/1.1
Date: Mon, 10 Aug 2015 00:12:55 GMT

{
  message : "Some error message."
}