ホスト名管理

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

パラメータ設計

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

パラメータシートの作成

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

設定項目

項目1設定値

項目の名前

ホスト名

項目の名前(Rest API用)

hostname

入力方式

文字列(単一行)

最大バイト数

64

正規表現

初期値

必須

一意制約

説明

備考

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

設定項目

設定値

項番

(自動入力)

パラメータシート名

サーバー基本情報

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

server_information

作成対象

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

表示順序

1

バンドル利用

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

最終更新日時

(自動入力)

最終更新者

(自動入力)

作業手順の登録

作業手順を登録するために、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登録
表 78 Movement 情報の設定値

Movement名

Ansible利用情報

ホスト指定形式

ヘッダーセクション

ホスト名設定

IP

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

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

Ansible Playbook 登録

Ansible Playbook の登録を行います。Ansible Playbook は運用手順書内に記載されたコマンドに該当します。
Ansible-Legacyモードではご自身で作成したPlaybookを利用することを想定しています。
Ansible-Legacyモードを使用することのメリットとして、自身の用途に合ったPlaybookを作成することで、自由に手順を作成できることが挙げられます。
ですが、Ansible-Legacyモードを利用するにはご自身でPlaybookを作成していただく必要があるため、Playbook作成の知識が必要となります。
本シナリオでは、 以下のPlaybookを利用します。以下をコピーして、yml形式でhostname.ymlを作成してください。
リスト 392 hostname.yml
- name: Set a hostname
  ansible.builtin.hostname:
    name: "{{ hostname }}"
Ansible-Legacy ▶ Playbook素材集 から、上記のPlaybookを登録します。
Playbook登録
表 79 Ansible Playbook 情報の登録

Playbook素材名

Playbook素材

hostname

hostname.yml

Movement と Ansible Playbook の紐付け

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

Movement名

Playbook素材

インクルード順序

ホスト名設定

hostname.yml

1

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

hostname.ymlでは、hostname という変数にホスト名を代入することで、対象サーバーのホスト名を設定することができます。
Ansible-Legacy ▶ 代入値自動登録設定 から、サーバー基本情報パラメータシートのホスト名の項目に入るパラメータを、Ansible Playbook の hostname に代入する設定を行います。
代入値自動登録設定
表 81 代入値自動登録設定の設定値

パラメータシート(From)

登録方式

Movement名

IaC変数(To)

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

Movement名:変数名

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

Value型

ホスト名設定

ホスト名設定:hostname

作業対象の登録

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

機器登録

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

HW機器種別

ホスト名

IPアドレス

ログインパスワード

ssh鍵認証情報

Ansible利用情報

ユーザ

ssh秘密鍵ファイル

Legacy/Role利用情報

認証方式

SV

server01

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

接続ユーザ名

(秘密鍵ファイル)

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

Tip

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

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

作業概要の作成

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

作業実施日時

2024/04/01 12:00:00

作業対象

作業対象サーバー(RHEL8)

作業内容

ホスト名の変更

作業概要登録

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

オペレーション名

実施予定日時

RHEL8のホスト名変更作業

2024/04/01 12:00:00

Tip

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

パラメータ設定

パラメータシートには、設定したいパラメータを機器ごとに登録します。
オペレーションには、作業概要登録で作成した RHEL8のホスト名変更作業 を選択します。オペレーションを選択することでオペレーションに対して、作業対象サーバとパラメータが紐付けされます。
本シナリオでは、server01 というホスト名を作業対象サーバに設定します。
入力用 ▶ サーバー基本情報 から、ホストに対するパラメータを登録します。
パラメータ登録
表 85 サーバー基本情報パラメータの設定値

ホスト名

オペレーション

パラメータ

オペレーション名

ホスト名

server01

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

server01

作業実行

  1. 事前確認

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

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

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

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

作業概要の作成

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

作業実施日時

2024/05/01 12:00:00

作業対象

作業対象サーバー(RHEL8)

作業内容

ホスト名の更新

作業概要登録

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

オペレーション名

実施予定日時

RHEL8のホスト名更新作業

2024/05/01 12:00:00

Tip

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

パラメータ設定

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

ホスト名

オペレーション

パラメータ

オペレーション名

ホスト名

server01

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

"{{ __inventory_hostname__ }}"

機器情報の更新

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

HW機器種別

ホスト名

IPアドレス

ログインパスワード

ssh鍵認証情報

Ansible利用情報

ユーザ

ssh秘密鍵ファイル

Legacy/Role利用情報

認証方式

SV

db01

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

接続ユーザ名

(秘密鍵ファイル)

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

作業実行

  1. 作業実行

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

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

まとめ

RHEL8 サーバに対してホスト名を設定するシナリオを通して、Exastro IT Automation の基本的な操作方法を学習しました。
また、Exastro IT Automation により自動化の最大のメリットである、繰り返し作業による作業の効率化について学習しました。
次のシナリオ では、より実用的なパラメータシートの管理方法について紹介をします。