パラメータ集

本シナリオでは、ユーザー管理の設定を題材にパラメータ集の機能について学習します。

ユーザー管理

パラメータ設計

システムの構成情報のフォーマットを設計します。
システムにある全ての情報をパラメータとして管理する必要はありません。今後管理が必要になったタイミングで適宜追加や見直しをしましょう。

データシートの作成

まずは、「あるべきグループ、ユーザーの状態」である present (新規グループ、ユーザーを作成する状態) と absent (新規グループ、ユーザーを削除する状態) の選択肢を作成します。
具体的には、データシートを作成し、その中に選択肢として表示するパラメータを投入します。
Ansible-LegacyAnsible-LegacyRole のシナリオでデータシートを作成している場合、データシートの作成は不要です。
パラメータシート作成 ▶ パラメータシート定義・作成 から、データシートを登録します。
データシートの作成
表 138 データシートの項目の設定値

設定項目

項目1設定値

項目の名前

present-absent

項目の名前(Rest API用)

present-absent

入力方式

文字列(単一行)

最大バイト数

16

正規表現

初期値

必須

一意制約

説明

備考

表 139 パラメータシート作成情報の設定値

項目名

設定値

項番

(自動入力)

パラメータシート名

状態

パラメータシート名(REST)

state

作成対象

データシート

表示順序

99999

最終更新日時

(自動入力)

最終更新者

(自動入力)

選択肢を登録

パラメータリスト内に表示するパラメータを設定します。
入力用 ▶ 状態 から、パッケージのあるべきインストール状態を登録します。
選択肢を登録
表 140 状態の設定値

パラメータ

備考

present-absent

present

作成

absent

削除

パラメータシートの作成

パラメータシート作成 では、作業時に利用する設定値(パラメータ)を登録するためのパラメータシートを管理します。
パラメータシート
システムのパラメータ情報を管理するデータ構造のことです。
グループとユーザーを作成するためのパラメータシートを作成します。
利用する Ansible Playbook は以下のPlaybookになります、下記のパラメータが管理できるようにパラメータシートを作成しましょう。
以下の System_group_add.yml と System_user_add.yml は、Playbook素材集にデフォルトで登録されています。
リスト 309 System_group_add.yml
- name: Add group
  group:
    name: "{{ item }}"
    state: present
  with_items:
    - "{{ ITA_DFLT_Groups }}"
リスト 310 System_user_add.yml
- name: Add user
  user:
    name: "{{ item.0 }}"
    group: "{{ item.1 }}"
    state: present
  with_together:
    - "{{ ITA_DFLT_User_Names }}"
    - "{{ ITA_DFLT_User_Group_Names }}"
パラメータシート作成 ▶ パラメータシート定義・作成 から、グループとユーザーを作成するために、「グループ作成情報」と「ユーザー作成情報」を管理するパラメータシートを作成します。

Tip

パラメータシート作成情報で バンドル利用 を「利用する」にチェックを入れることで、1つの設定項目に対して複数のパラメータを設定することが可能になります。

グループのパラメータシート作成

パラメータシート作成
表 141 パラメータシート作成(グループ作成情報)の項目の設定値

設定項目

項目1設定値

項目2設定値

項目の名前

グループ名

状態

項目の名前(Rest API用)

ITA_DFLT_Groups

state

入力方式

文字列(単一行)

プルダウン選択

選択項目

32

入力用:状態:パラメータ/present-absent

正規表現

初期値

必須

一意制約

説明

備考

表 142 パラメータシート作成情報の設定値

項目名

設定値

項番

(自動入力)

パラメータシート名

新規グループ

パラメータシート名(REST)

New_groups

作成対象

パラメータシート(ホスト/オペレーションあり)

表示順序

1

バンドル利用

「利用する」にチェックを入れる(有効)

最終更新日時

(自動入力)

最終更新者

(自動入力)

ユーザーのパラメータシート作成

パラメータシート作成
表 143 パラメータシート作成(ユーザー作成情報)の項目の設定値

設定項目

項目1設定値

項目2設定値

項目3設定値

項目の名前

ユーザー名

グループ

状態

項目の名前(Rest API用)

ITA_DFLT_User_Names

ITA_DFLT_User_Group_Names

state

入力方式

文字列(単一行)

プルダウン選択

プルダウン選択

選択項目

32

入力用:新規グループ:パラメータ/グループ名

入力用:状態:パラメータ/present-absent

正規表現

初期値

必須

一意制約

説明

備考

表 144 パラメータシート作成情報の設定値

項目名

設定値

項番

(自動入力)

パラメータシート名

新規ユーザー

パラメータシート名(REST)

New_users

作成対象

パラメータシート(ホスト/オペレーションあり)

表示順序

2

バンドル利用

「利用する」にチェックを入れる(有効)

最終更新日時

(自動入力)

最終更新者

(自動入力)

作業手順の登録

作業手順を登録するために、Exastro IT Automation で扱う作業単位である Movement (ジョブ)を定義します。
定義した Movement に対して、Ansible Playbook を紐付け、更に Ansible Playbook 内の変数と パラメータシート作成 で登録したパラメータシートの項目の紐付けを行います。
Movement
Exastro IT Automation における、最小の作業単位のことを指します。
1回の Movement 実行は、1回の ansible-playbook コマンドの実行と同じです。

作業項目の設定

Exastro IT Automation では、Movement という単位で作業を管理します。Movementは作業手順書における作業項目に該当します。
Movement は、Ansible Playbook のような IaC (Infrastrucure as Code) を紐付けたり、IaC 内の変数とパラメータシートの設定値を紐付ける際に利用します。
Ansible-Legacy ▶ Movement一覧 から、ユーザー登録のための Movement を登録します。
Movement登録
表 145 Movement 情報の設定値

Movement名

Ansible利用情報

ホスト指定形式

ヘッダーセクション

新規ユーザー登録

IP

※ヘッダーセクションを参照

リスト 311 ヘッダーセクション
- hosts: all
  remote_user: "{{ __loginuser__ }}"
  gather_facts: no
  become: yes

Ansible Playbook 登録

Ansible Playbook の登録を行います。Ansible Playbook は運用手順書内に記載されたコマンドに該当します。
Ansible-Legacyモードではご自身で作成したPlaybookを利用することを想定しています。
Ansible-Legacyモードを使用することのメリットとして、自身の用途に合ったPlaybookを作成することで自由に手順を作成できることが挙げられます。
ver2.4.0 からはデフォルトでPlaybookが登録されています、自分の用途に合ったPlaybookを使用してみましょう。
本シナリオでは System_group_add.yml と System_user_add.yml を使用します。
こちらは既に登録されているので、新規で登録する必要はありません。
リスト 312 System_group_add.yml
- name: Add group
  group:
    name: "{{ item }}"
    state: present
  with_items:
    - "{{ ITA_DFLT_Groups }}"
リスト 313 System_user_add.yml
- name: Add user
  user:
    name: "{{ item.0 }}"
    group: "{{ item.1 }}"
    state: present
  with_together:
    - "{{ ITA_DFLT_User_Names }}"
    - "{{ ITA_DFLT_User_Group_Names }}"

Movement と Ansible Playbook の紐付け

Ansible-Legacy ▶ Movement-ロール紐付 から、Movement と Ansible Playbook の紐付けを行います。
本シナリオでは、 System_group_add.yml と System_user_add.yml を利用します。
Movement-Playbook紐付け
表 146 Movement-Playbook紐付け情報の登録

Movement名

Playbook素材

インクルード順序

新規ユーザー登録

~[Exastro standard] Add group

1

新規ユーザー登録

~[Exastro standard] Add user

2

パラメータシートの項目と Ansible Playbook の変数の紐付け

System_group_add.ymlでは、ITA_DFLT_Groups に作成したいグループ名を入れます。
System_user_add.yml では、ITA_DFLT_User_Names に作成したいユーザー名、ITA_DFLT_User_Group_Names にグループ作成で作成したグループ名を入れます。
Ansible-Legacy ▶ 代入値自動登録設定 から、パラメータシートの項目と Ansible Playbook の変数の紐付けを行います。
グループの代入値自動登録設定
表 147 グループの代入値自動登録設定の設定値

パラメータシート(From)

登録方式

Movement名

IaC変数(To)

メニューグループ:メニュー:項目

代入順序

Movement名:変数名

代入順序

代入値自動登録用:新規グループ:パラメータ/グループ名

1

Value型

新規ユーザー登録

新規ユーザー登録:ITA_DFLT_Groups

1

代入値自動登録用:新規グループ:パラメータ/グループ名

2

Value型

新規ユーザー登録

新規ユーザー登録:ITA_DFLT_Groups

2

代入値自動登録用:新規グループ:パラメータ/グループ名

3

Value型

新規ユーザー登録

新規ユーザー登録:ITA_DFLT_Groups

3

代入値自動登録用:新規グループ:パラメータ/グループ名

4

Value型

新規ユーザー登録

新規ユーザー登録:ITA_DFLT_Groups

4

代入値自動登録用:新規グループ:パラメータ/グループ名

5

Value型

新規ユーザー登録

新規ユーザー登録:ITA_DFLT_Groups

5

ユーザーの代入値自動登録設定
表 148 ユーザーの代入値自動登録設定の設定値

パラメータシート(From)

登録方式

Movement名

IaC変数(To)

メニューグループ:メニュー:項目

代入順序

Movement名:変数名

代入順序

代入値自動登録用:新規ユーザー:パラメータ/ユーザー名

1

Value型

新規ユーザー登録

新規ユーザー登録:ITA_DFLT_User_Names

1

代入値自動登録用:新規ユーザー:パラメータ/グループ

1

Value型

新規ユーザー登録

新規ユーザー登録:ITA_DFLT_User_Group_Names

1

代入値自動登録用:新規ユーザー:パラメータ/ユーザー名

2

Value型

新規ユーザー登録

新規ユーザー登録:ITA_DFLT_User_Names

2

代入値自動登録用:新規ユーザー:パラメータ/グループ

2

Value型

新規ユーザー登録

新規ユーザー登録:ITA_DFLT_User_Group_Names

2

代入値自動登録用:新規ユーザー:パラメータ/ユーザー名

3

Value型

新規ユーザー登録

新規ユーザー登録:ITA_DFLT_User_Names

3

代入値自動登録用:新規ユーザー:パラメータ/グループ

3

Value型

新規ユーザー登録

新規ユーザー登録:ITA_DFLT_User_Group_Names

3

代入値自動登録用:新規ユーザー:パラメータ/ユーザー名

4

Value型

新規ユーザー登録

新規ユーザー登録:ITA_DFLT_User_Names

4

代入値自動登録用:新規ユーザー:パラメータ/グループ

4

Value型

新規ユーザー登録

新規ユーザー登録:ITA_DFLT_User_Group_Names

4

代入値自動登録用:新規ユーザー:パラメータ/ユーザー名

5

Value型

新規ユーザー登録

新規ユーザー登録:ITA_DFLT_User_Names

5

代入値自動登録用:新規ユーザー:パラメータ/グループ

5

Value型

新規ユーザー登録

新規ユーザー登録:ITA_DFLT_User_Group_Names

5

作業対象の登録

作業を行う対象機器を登録します。

機器登録

作業対象となるサーバー server01 を機器一覧に登録します。
Ansible共通 ▶ 機器一覧 から、作業対象である server01 の接続情報を登録します。
機器一覧登録
表 149 機器一覧の設定値

HW機器種別

ホスト名

IPアドレス

ログインパスワード

ssh鍵認証情報

Ansible利用情報

ユーザ

ssh秘密鍵ファイル

Legacy/Role利用情報

認証方式

SV

server01

192.168.0.1 ※適切なIPアドレスを設定

接続ユーザ名

(秘密鍵ファイル)

鍵認証(パスフレーズなし)

Tip

今回のシナリオでは鍵認証で実行しますが、パスワード認証での実行も可能です。
認証方式は、作業対象サーバーへのログインの方法に応じて適宜変更してください。

ユーザー管理作業の実施

まずは、いつ、どこの機器に対して、何を、どうするかといった情報を簡単に整理しておきましょう。
表 150 作業の方針

作業実施日時

2024/04/01 12:00:00

作業対象

server01(RHEL8)

作業内容

新規ユーザー登録

作業概要登録

オペレーション登録では、作業を実施する際の作業概要を定義します。
先に決めた作業の方針を元にオペレーション情報を記入しましょう。
オペレーション
実施する作業のことで、オペレーションに対して作業対象とパラメータが紐づきます。
基本コンソール ▶ オペレーション一覧 から、作業実施日時や作業名を登録します。
オペレーション登録
表 151 オペレーション登録内容

オペレーション名

実施予定日時

新規ユーザー登録

2024/04/01 12:00:00

Tip

作業実施日時は、本シナリオでは適当な日時で問題ありませんが、作業日が定まっている場合は、正確な作業実施の予定日時を設定することを推奨します。
定期作業などの繰り返し行われる作業のように、作業日が定まっていない場合は現在の日時を登録しても問題ありません。

パラメータ設定

入力用 ▶ 新規グループ から、グループに対するパラメータを登録します。
グループのパラメータ登録
表 152 グループパラメータの設定値

ホスト名

オペレーション

代入順序

パラメータ

オペレーション名

グループ名

状態

server01

2024/04/01 12:00:00_新規ユーザー登録

1

test01

present

server01

2024/04/01 12:00:00_新規ユーザー登録

2

test02

present

入力用 ▶ 新規ユーザー から、ユーザーに対するパラメータを登録します。
ユーザのパラメータ登録
表 153 ユーザーパラメータの設定値

ホスト名

オペレーション

代入順序

パラメータ

オペレーション名

ユーザー名

グループ

状態

server01

2024/04/01 12:00:00_新規ユーザー登録

1

testuser01

test01

present

server01

2024/04/01 12:00:00_新規ユーザー登録

2

testuser02

test01

present

server01

2024/04/01 12:00:00_新規ユーザー登録

3

testuser03

test02

present

server01

2024/04/01 12:00:00_新規ユーザー登録

4

testuser04

test02

present

作業実行

  1. 事前確認

    現在のサーバーの状態を確認しましょう。
    グループ一覧を確認します。
    リスト 314 コマンド
    # グループ一覧の取得
    cat /etc/group|grep -E "test01|test02"
    
    リスト 315 実行結果
    # 何も表示されない
    
    ユーザー一覧を確認します。
    リスト 316 コマンド
    # ユーザー一覧の取得
    cat /etc/passwd|grep -E "test"
    
    リスト 317 実行結果
    # 何も表示されない
    
  2. 作業実行

    Ansible-Legacy ▶ 作業実行 から、新規ユーザー登録 Movement を選択し、 作業実行 を押下します。
    次に、作業実行設定 で、オペレーションに 新規ユーザー登録 を選択し、作業実行 を押下します。
    作業状態確認 画面が開き、実行が完了した後に、ステータスが「完了」になったことを確認します。
作業実行
  1. 事後確認

    再度サーバーに下記のグループとユーザーが設定されていることを確認しましょう。
    グループ一覧を確認します。
    リスト 318 コマンド
    # グループ一覧の取得
    cat /etc/group|grep -E "test01|test02"
    
    リスト 319 実行結果
    test01
    test02
    
    ユーザー一覧を確認します。
    リスト 320 コマンド
    # ユーザー一覧の取得
    cat /etc/passwd|grep -E "test"
    
    リスト 321 実行結果
    testuser01
    testuser02
    testuser03
    testuser04
    

ユーザー更新

次に先ほど作成したユーザーのユーザー名を更新するために、更新用のオペレーションとパラメータの入力をしてみましょう。
まずは、いつ、どこの機器に対して、何を、どうするかといった情報を簡単に整理しておきましょう。
表 154 作業の方針

作業実施日時

2024/05/01 12:00:00

作業対象

server01(RHEL8)

作業内容

ユーザー更新

作業概要登録

オペレーション登録では、作業を実施する際の作業概要を定義します。
先に決めた作業の方針を元にオペレーション情報を記入しましょう。
ユーザーの更新作業を実施するために、新規オペレーションを作成します。
オペレーション
実施する作業のことで、オペレーションに対して作業対象とパラメータが紐づきます。
基本コンソール ▶ オペレーション一覧 から、作業実施日時や作業名を登録します。
オペレーション登録
表 155 オペレーション登録内容

オペレーション名

実施予定日時

ユーザー設定変更

2024/05/01 12:00:00

Tip

作業実施日時は、本シナリオでは適当な日時で問題ありませんが、作業日が定まっている場合は、正確な作業実施の予定日時を設定することを推奨します。
定期作業などの繰り返し行われる作業のように、作業日が定まっていない場合は現在の日時を登録しても問題ありません。

パラメータ更新

次にグループ名を更新(変更)するために、パラメータの更新をしましょう。
まずは新しいグループを作成してみましょう。
入力用 ▶ 新規グループ から、グループに対するパラメータを登録します。
グループのパラメータ登録
表 156 グループパラメータの設定値

ホスト名

オペレーション

代入順序

パラメータ

オペレーション名

グループ名

状態

server01

2024/05/01 12:00:00_ユーザー設定変更

1

update_test01

present

server01

2024/05/01 12:00:00_ユーザー設定変更

2

update_test02

present

次にユーザーの所属グループを変更・更新しましょう。
入力用 ▶ 新規ユーザー から、ユーザーに対するパラメータを登録します。
ユーザのパラメータ更新
表 157 ユーザーパラメータの設定値

ホスト名

オペレーション

代入順序

パラメータ

オペレーション名

ユーザー名

グループ

状態

server01

2024/05/01 12:00:00_ユーザー設定変更

1

testuser01

update_test01

present

server01

2024/05/01 12:00:00_ユーザー設定変更

2

testuser02

update_test01

present

server01

2024/05/01 12:00:00_ユーザー設定変更

3

testuser03

update_test02

present

server01

2024/05/01 12:00:00_ユーザー設定変更

4

testuser04

update_test02

present

パラメータ表示

パラメータ登録

パラメータ集の機能を使用する前に、パラメータシートにホストを登録しましょう。
パラメータシートにホストを登録しないと、パラメータ集の機能、対象ホスト選択時に一覧に表示がされません。
パラメータシート作成 ▶ パラメータシート定義・作成 から、ホストを登録するために、「ホスト登録」というパラメータシートを作成します。
パラメータシート作成
表 158 パラメータシート作成(サーバー基本情報)の項目の設定値

設定項目

項目1設定値

項目の名前

ホスト

項目の名前(Rest API用)

host

入力方式

プルダウン選択

選択項目

Ansible共通:機器一覧:ホスト名

参照項目

初期値

必須

一意制約

説明

備考

表 159 パラメータシート作成(サーバー基本情報)のパラメータシート作成情報の設定値

設定項目

設定値

項番

(自動入力)

パラメータシート名

ホスト登録

パラメータシート名(REST)

host_register

作成対象

パラメータシート(ホスト/オペレーションあり)

表示順序

9999

バンドル利用

「利用する」にチェックを入れない(無効)

最終更新日時

(自動入力)

最終更新者

(自動入力)

入力用 ▶ ホスト登録 から対象のホストを登録していきます。
パラメータ登録
表 160 サーバー基本情報パラメータの設定値

ホスト名

オペレーション

パラメータ

オペレーション名

ホスト

server01

2024/04/01 12:00:00_新規ユーザ登録

server01

server01

2024/05/01 12:00:00_ユーザー設定変更

server01

パラメータ集

それでは今まで登録してきた内容をもとにパラメータ集を表示させてみましょう。
メインメニュー ▶ パラメータ集 を選択して、パラメータシートの情報を取得してみましょう。
パラメータ集
作成済みの複数のパラメータシートを検索条件に基づいて取得、またはパラメータシートへのデータの登録が行えます。

パラメータモード選択

最初にパラメータモードを選択します。パラメータモードには、ホストとオペレーションの2種類があります。
今回はパラメータシートの複数のオペレーションのデータを取得したいので、ホストを選択していきます。
表 161 パラメータモード選択

パラメータモード

ホスト

オペレーション選択

オペレーションタイムラインからオペレーションを選択します。
パラメータモードがホストの場合、オペレーションを1つ以上選択します。
今回は先ほど作成した、新規ユーザー登録 と ユーザー設定変更 の2つのオペレーションを選択していきます。

対象パラメータ選択

検索する対象となるパラメータを選択します。
選択ボタンを押下してパラメータシート一覧から、検索したいパラメータシートを選択します。
表 162 対象パラメータ選択

対象パラメータ

新規グループ

新規ユーザー

対象ホスト選択

選択可能なホストはパラメータシートに登録されているホストのみです。
選択ボタンを押下してホスト一覧から、対象ホストを選択します。
表 163 対象ホスト選択

対象ホスト

server01

パラメータ表示実行

それでは実際にパラメータ表示を実行していきましょう。
パラメータモードがホストの場合、オペレーション毎にパラメータシートの各項目の値が表示されます。
必要な項目の入力が終わると、対象ホスト選択の下のパラメータ表示ボタンが選択出来るようになりますので、こちらを選択していきます。
パラメータ表示を実行すると画像のように、選択したオペレーションごとに設定したパラメータを一覧表示で確認することが出来ます。
パラメータ登録

まとめ

本シナリオでは、グループとユーザー作成、更新作業を通してパラメータ集の操作方法を学習しました。
パラメータ集の機能を使えば、オペレーションごとに設定したパラメータを簡単に確認することが出来ます。
より詳細な情報を知りたい場合は、マニュアル を参照してください。