3. リソースプラン

3.1. はじめに

本書では、Exastro Suite における リソースプラン設定 について説明します。
リソースプランの設定はシステム管理者のみ可能です(オーガナイゼーションユーザーからはアクセス出来ません)。

3.2. リソースプランとは

オーガナイゼーションごとに使用可能なリソース量を管理するためのものです。
プランに複数のリソースの上限値を設定しておき、オーガナイゼーション毎にプランを割り当てることで使用リソースを制限することができます。
表 3.8 リソースプラン設定例

オーガナイゼーション

リソースプラン

ワークスペース数

ユーザー数

ロール数

org1

スタンダードプラン

上限20

上限30

上限30

org2

プレミアムプラン

上限50

上限100

上限100

3.2.1. リソースプラン設定手順

オーガナイゼーションへリソースプランを適用する場合は、あらかじめリソースプランを登録する必要があります。
登録したリソースプランを適用する方法は、 オーガナイゼーション作成 を参照してください。

3.2.2. 運用とシステムの動きについて

例) 1月まで「最大ワークスペース数=5のリソースプラン」、2月から「最大ワークスペース数=3のリソースプラン」に変更
運用とシステムの動き
  1. ユーザーから「最大ワークスペース数=3」へのリソースプラン変更申し込みがあった場合、登録済みデータが「ワークスペース数=4」であるため、2月からリミット値が超過することをシステム管理者から警告します。
  2. 登録済みデータが「ワークスペース数=4」であるため、リミット値であるリソースプランの「最大ワークスペース数=5」を超過せずユーザーはワークスペースの追加が出来ます。
  3. 登録済みデータが「ワークスペース数=5」であるため、リミット値であるリソースプランの「最大ワークスペース数=5」を超過したワークスペースの追加が出来ません(エラーになります)。
  4. 「最大ワークスペース数=3」を超過しているが、利用停止等のシステム的な規制はありません。
  5. 登録済みデータが「ワークスペース数=5」であるため、リミット値であるリソースプランの「最大ワークスペース数=3」を超過したワークスペースの追加が出来ません(エラーになります)。
  6. 登録済みデータを「ワークスペース数=5」から「ワークスペース数=2」に削除することが出来ます。
  7. 登録済みデータが「ワークスペース数=2」であるため、リミット値であるリソースプランの「最大ワークスペース数=3」を超過せずユーザーはワークスペースの追加が出来ます。

3.3. リソースプラン設定

3.3.1. 前提条件

本作業には下記のコマンドが必要となるため、事前にインストールをしてください。
  • 作業クライアントに必要なアプリケーション

    • curl

    • git

    • jq

注釈

画面からリソースプランを作成する際は、前提条件は必要ありません

3.3.2. 事前準備

オーガナイゼーションの作成を行います。
オーガナイゼーションの詳細については、 Organization (オーガナイゼーション) を参照してください。

注釈

画面からリソースプランを作成する際は、事前準備は必要ありません

3.3.3. リソースプラン設定の流れ

リソースプランを登録する流れは以下の通りとなります。

※リソースプランの適用は、 オーガナイゼーション作成 または 変更 をご参照ください。

3.3.4. 現状のリソースプラン項目確認

リソースプラン項目の確認方法には、下記の3通りの方法があります。
リソースプラン項目確認の画面操作はありません。
リソースプラン作成時に、設定が必要な項目が表示されます。

3.3.5. リソースプラン登録

リソースプランの登録方法には、下記の3通りの方法があります。
メニューより リソースプラン管理 を選択します。
../../_images/plan_menu.png
リソースプラン一覧が表示されますので、作成 ボタンを押下して、新しいリソースプランを登録することができます。
../../_images/plan_list_0.png
  • リソースプラン登録
    • 登録するリソースプランのjsonファイルを設定
      取得した toolsフォルダ配下にある、 add-plan.sample.json を コピーして使用してください。
    ../../_images/plan_create.png
    表 3.9 項目説明

    項目名

    説明

    リソースプランID

    リソースプランに割り当てる一意のIDを指定します。
    ここで指定した ID を使って、オーガナイゼーションへのリソースプランを紐づけることができます。

    リソースプラン名

    リソースプランに割り当てる名前を指定します。

    説明

    リソースプランの説明を記載します。

    リソースプラン制限値設定

    オーガナイゼーションにおける、リソースの制限を指定します。
    各項目の最大値、既定値は以下の通り
    ita.organization.ansible.execution_limit:【最大:1000】【既定:25】
    platform.roles:【最大:1000】【既定:1000】
    platform.users:【最大:10000】【既定:10000】
    platform.workspaces:【最大:1000】【既定:100】

注釈

ita.organization.ansible.execution_limitについて

ita.organization.ansible.execution_limitは、IT AutomationのAnsibleドライバのMovement同時実行数(オーガナイゼーション毎)の上限となります。
オーガナイゼーションごとの同時実行数上限は、設定した内容となりますが、Exastro システム全体での最大同時実行数があるため、システム設定値で設定されている値が同時実行数上限となります。
よって、システム全体の最大同時実行数を超えるMovement同時実行は、実行されず、実行待ちとなります。

3.3.6. リソースプラン確認

リソースプランの確認方法には、下記の3通りの方法があります。
メニューより リソースプラン管理 を選択します。
../../_images/plan_menu.png
リソースプラン一覧が表示され、登録されているリソースプランを確認することができます。
../../_images/plan_list_1.png

Tip

現在リソースプランの変更や削除は未対応となっております。

注釈

作成したリソースプランの適用は、 オーガナイゼーション作成 または 変更 を参照してください。

3.3.7. 使用状況確認

オーガナイゼーション毎のリソース使用状況(ワークスペース数、ユーザー数、ロール数)を確認できます。
リソース使用状況の確認方法には、下記の2通りの方法があります。

Tip

オーガナイゼーション毎の使用状況確認の画面操作はありません。
「設定ファイルとスクリプトによる実行」または「Rest APIによる実行」をご利用ください。

以下の手順で実行

  • オーガナイゼーション毎の使用状況確認
    • コマンド
      ./get-usage-list.sh
      
    • コマンド実行後に入力(入力例)
      organization id : 取得するorganization idを入力します(省略時は全オーガナイゼーション)
      
      your username : システム管理者自身のユーザー名を入力します
      your password : システム管理者自身のパスワードを入力します
      
    • 成功時の結果表示
      "result": "000-00000" が、成功したことを示しています。
      < HTTP/1.1 200 OK
      < Date: Mon, 30 Jan 2023 08:18:57 GMT
      < Server: Apache/2.4.37 (Red Hat Enterprise Linux) mod_wsgi/4.7.1 Python/3.9
      < Content-Length: 432
      < Content-Type: application/json
      <
      { [432 bytes data]
      * Connection #0 to host platform-auth left intact
      {
        "data": [
          {
            "organization_id": "org1",
            "usages": [
              {
                "current_value": 0,
                "id": "platform.workspaces"
              },
              {
                "current_value": 1,
                "id": "platform.users"
              },
              {
                "current_value": 0,
                "id": "platform.roles"
              }
            ]
          }
        ],
        "message": "SUCCESS",
        "result": "000-00000",
        "ts": "2023-01-30T08:18:57.887Z"
      }