1. ホスト名管理

本シナリオでは、簡単な例として、ホスト名の設定を題材に Exastro IT Automation の基本操作を学習します。

1.1. パラメータ設計

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

1.1.1. パラメータシートの作成

パラメータシート作成 では、作業時に利用する設定値(パラメータ)を登録するためのパラメータシートを管理します。
パラメータシート
システムのパラメータ情報を管理するデータ構造のことです。
ホスト名を管理するためのパラメータシートを作成します。
パラメータシート作成 ▶ パラメータシート定義・作成 から、ホスト名を管理するために、「サーバー基本情報」というパラメータシートを作成します。
パラメータシート作成
表 1.11 パラメータシート作成(サーバー基本情報)の項目の設定値

設定項目

項目1設定値

項目の名前

ホスト名

項目の名前(Rest API用)

hostname

入力方式

文字列(単一行)

最大バイト数

64

正規表現

初期値

必須

一意制約

説明

備考

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

設定項目

設定値

項番

(自動入力)

メニュー名

サーバー基本情報

メニュー名(REST)

server_information

作成対象

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

表示順序

1

バンドル利用

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

最終更新日時

(自動入力)

最終更新者

(自動入力)

1.2. 作業手順の登録

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

1.2.1. 作業項目の設定

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

Movement名

Ansible利用情報

ホスト指定形式

ヘッダーセクション

ホスト名設定

IP

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

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

1.2.2. Ansible Role 登録

Ansible Role の登録を行います。Ansible Role は運用手順書内に記載されたコマンドに該当します。
手作業で Ansible Role を作成することも可能ですが、Ansible-Legacy-Role モードは、作成済みの Ansible Role を利用することを想定しています。
本シナリオでは、 Exastro Playbook Collection を利用します。
Ansible-LegacyRole ▶ ロールパッケージ管理 から、ダウンロードした OS-RHEL8.zip を登録します。
ロールパッケージ管理
表 1.14 Ansible Role パッケージ情報の登録

ロールパッケージ名

ロールパッケージファイル(ZIP形式)

OS-RHEL8

OS-RHEL8.zip

1.2.3. Movement と Ansible Role の紐付け

Ansible-LegacyRole ▶ Movement-ロール紐付 から、Movement と Ansible Role パッケージの紐付けを行います。
本シナリオでは、 ホスト名管理用の Ansible Role パッケージ を利用します。
Movement-ロール紐付け
表 1.15 Movement-ロール紐付け情報の登録

Movement名

ロールパッケージ名:ロール名

インクルード順序

ホスト名設定

OS-RHEL8:OS-RHEL8/RH_hostname/OS_build

1

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

OS-RHEL8 Ansible Role パッケージでは、VAR_RH_hostname という変数にホスト名を代入することで、対象サーバーのホスト名を設定することができます。
Ansible-LegacyRole ▶ 代入値自動登録設定 から、サーバー基本情報パラメータシートのホスト名の項目に入るパラメータを、Ansible Role パッケージの VAR_RH_hostname に代入する設定を行います。
代入値自動登録設定
表 1.16 代入値自動登録設定の設定値

パラメータシート(From)

登録方式

Movement名

IaC変数(To)

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

Movement名:変数名

Movement名:変数名:メンバー変数

代入値自動登録用:サーバー基本情報:ホスト名

Value型

ホスト名設定

ホスト名設定:VAR_RH_hostname

1.3. 作業対象の登録

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

1.3.1. 機器登録

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

HW機器種別

ホスト名

IPアドレス

ログインパスワード

ssh鍵認証情報

Ansible利用情報

ユーザ

ssh秘密鍵ファイル

Legacy/Role利用情報

認証方式

SV

server01

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

接続ユーザ名

(秘密鍵ファイル)

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

Tip

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

1.4. ホスト名変更作業実施(1回目)

1.4.1. 作業概要の作成

具体的なパラメータの設定や作業手順を考える前に、作業計画を立てるところから初めます。
まずは、いつ、どこの機器に対して、何を、どうするかといった情報を簡単に整理しておきましょう。
表 1.18 作業の方針

作業実施日時

2023/04/01 12:00:00

作業対象

server01(RHEL8)

作業内容

ホスト名の変更

1.4.2. 作業概要登録

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

オペレーション名

実施予定日時

RHEL8のホスト名変更作業

2023/04/01 12:00:00

1.4.3. パラメータ設定

パラメータシートには、設定したい値を機器ごとにパラメータを登録します。
本シナリオでは、server01 というホスト名、RHEL8 サーバに設定します。
入力用 ▶ サーバー基本情報 から、ホストに対するパラメータを登録します。
パラメータ登録
表 1.20 サーバー基本情報パラメータの設定値

ホスト名

オペレーション

パラメータ

オペレーション名

ホスト名

server01

2023/04/01 12:00:00_RHEL8のホスト名変更作業

server01

1.4.4. 作業実行

  1. 事前確認

    まずは、現在のサーバーの状態を確認しましょう。
    サーバに SSH ログインし、現在のホスト名を確認します。
    リスト 1.2 コマンド
    # ホスト名の取得
    hostnamectl status --static
    
    リスト 1.3 実行結果
    # 結果は環境ごとに異なります
    localhost
    
  2. 作業実行

    Ansible-LegacyRole ▶ 作業実行 から、ホスト名設定 Movement を選択し、 作業実行 を押下します。
    次に、作業実行設定 で、オペレーションに RHEL8のホスト名変更作業 を選択し 選択決定 を押下します。
    最後に、実行内容を確認し、作業実行 を押下します。
    作業状態確認 画面が開き、実行が完了した後に、ステータスが「完了」になったことを確認します。
作業実行
  1. 事後確認

    再度サーバに SSH ログインし、ホスト名が変更されていることを確認します。
    リスト 1.4 コマンド
    # ホスト名の取得
    hostnamectl status --static
    
    リスト 1.5 実行結果
    server01
    

1.5. ホスト名変更作業実施(2回目)

1.5.1. 作業概要の作成

具体的なパラメータの設定や作業手順を考える前に、作業計画を立てるところから初めます。
まずは、いつ、どこの機器に対して、何を、どうするかといった情報を簡単に整理しておきましょう。
表 1.21 作業の方針

作業実施日時

2024/05/01 12:00:00

作業対象

server01(RHEL8)

作業内容

ホスト名の更新

1.5.2. 作業概要登録

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

オペレーション名

実施予定日時

RHEL8のホスト名更新作業

2024/05/01 12:00:00

Tip

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

1.5.3. パラメータ設定

本シナリオでは、server01 というホスト名をパラメータ値として設定しました。
しかし、機器一覧 でもホスト名を管理しており、ホスト名の管理が多重管理状態となっています。
Exastro IT Automation では、機器の情報を ITA独自変数 で取得することができ、ログイン先のホスト名は __inventory_hostname__ という、変数を使うことで取得できるため、パラメータの一元管理が可能となります。
入力用 ▶ サーバー基本情報 から、ITA 独自変数を使って機器一覧に登録してあるホスト名を登録してみましょう。
パラメータ設定
表 1.23 サーバー基本情報パラメータの設定値

ホスト名

オペレーション

パラメータ

オペレーション名

ホスト名

server01

2024/05/01 12:00:00_RHEL8のホスト名更新作業

"{{ __inventory_hostname__ }}"

1.5.4. 機器情報の更新

作業対象となるサーバー server01 のホスト名を db01 に変更します。
Ansible共通 ▶ 機器一覧 から、作業対象である server01 のホスト名を db01 に更新します。
パラメータ登録
表 1.24 機器一覧の設定値

HW機器種別

ホスト名

IPアドレス

ログインパスワード

Ansible利用情報

ユーザ

パスワード

Legacy/Role利用情報

認証方式

SV

db01

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

root

(パスワード)

パスワード認証

1.5.5. 作業実行

  1. 作業実行

    Ansible-LegacyRole ▶ 作業実行 から、ホスト名設定 Movement を選択し、 作業実行 を押下します。
    次に、作業実行設定 で、オペレーションに RHEL8のホスト名更新作業 を選択し 選択決定 を押下します。
    最後に、実行内容を確認し、作業実行 を押下します。
    作業状態確認 画面が開き、実行が完了した後に、ステータスが「完了」になったことを確認します。
作業実行
  1. 事後確認

    再度サーバに SSH ログインし、ホスト名が変更されていることを確認します。
    リスト 1.6 コマンド
    # ホスト名の取得
    hostnamectl status --static
    
    リスト 1.7 実行結果
    db01
    
以降は、 Ansible共通 ▶ 機器一覧 から、ホスト名を変更し、作業実行をするだけでホスト名の更新を行うことが可能です。

1.6. まとめ

本シナリオでは、RHEL8 サーバに対してホスト名を設定するシナリオを通して、Exastro IT Automation の基本的な操作方法やコンセプトについて紹介をしました。
次のシナリオ では、より実用的なパラメータシートの管理方法について紹介をします。