ジョブフロー

本シナリオでは、前のシナリオ で構築したデータベース用のサーバを Web サーバに作り直す作業を題材にして、複数のジョブを一連の流れで実行するための方法について学習します。
具体的には、
  1. ホスト名管理 で作成したホスト名変更作業により db01 から web01 にホスト名を変更

  2. パッケージ管理 で作成したパッケージのインストールを使って DB 用のパッケージをアンインストール後に、Web サーバ用のパッケージをインストール

を実施します。

Tip

本シナリオに入る前に、 ホスト名管理パッケージ管理 を完了させておく必要があります。

パラメータ設計

本シナリオでは、 ホスト名管理パッケージ管理 で作成したパラメータシート(データシート)を使って、パラメーターの投入を行うため、パラメータシートを新たに作成する必要はありません。

作業手順の登録

本シナリオでは、 ホスト名管理パッケージ管理 で作成した下記の Movement を使うため、新たに Movement を作成する必要はありません。
  • ホスト名設定

  • パッケージ管理

しかし、これまでは Movement を単体で実行していましたが、これらを逐次実行するにはどうすればよいでしょうか。

ジョブフローの作成

複数の Movement を一連の作業として実行する方法に、Conductor という仕組みがあります。
Conductor を利用することで、複数の Movement をまとめて実行できるだけでなく、Movement の実行結果に応じて、後続処理を分岐させたり、ユーザ確認の為に一時停止するといった複雑なロジックを組み込む事が可能です。
Conductor ▶ Conductor編集/作業実行 から、ジョブフローを定義します。
ジョブフローの作成
1. 右上のペイン Conductor情報 ▶ 名称 に、 サーバー構築 と入力します。
2. 右下のペインに、 ホスト名管理パッケージ管理 で作成した ホスト名設定パッケージ管理 の2つの Movement があります。これらを画面中央にドラッグアンドドロップします。
3. 各 Node 間を下記の様に接続します。
表 105 Node 間の接続

OUT

IN

Start

ホスト名設定

ホスト名設定

パッケージ管理

パッケージ管理

End

4. 画面上部にある、  登録 を押下します。

作業対象の登録

作業実施を行う対象機器の登録情報を更新します。

機器情報の更新

作業対象となるサーバーは 前のシナリオ で登録した db01 を利用しますが、今回は DB サーバーを Web サーバーに作り直すため、ホスト名を更新しておきます。
作業対象となるサーバー db01 のホスト名を web01 に変更します。
Ansible共通 ▶ 機器一覧 から、作業対象である db01 のホスト名を web01 に更新します。
機器情報の更新
表 106 機器一覧の設定値

HW機器種別

ホスト名

IPアドレス

ログインパスワード

ssh鍵認証情報

Ansible利用情報

ユーザ

ssh秘密鍵ファイル

Legacy/Role利用情報

認証方式

SV

web01

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

接続ユーザ名

(秘密鍵ファイル)

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

サーバー再構築作業の実施

作業概要の作成

前のシナリオ と同様に、まずは作業計画を立てましょう。
表 107 作業の方針

作業実施日時

2024/04/03 12:00:00

作業対象

db01(RHEL8)

作業内容

Webサーバーへの作り直し

作業概要登録

基本コンソール ▶ オペレーション一覧 から、作業実施日時や作業名を登録します。
オペレーション登録
表 108 オペレーション登録内容

オペレーション名

実施予定日時

Webサーバーへの再構築

2024/04/03 12:00:00

パラメータ設定

本シナリオでは、db01 というホストに対して、 httpd というパッケージをインストールしますが、前のシナリオで mariadb-server というパッケージがインストール済みの状態となっています。
db01 というホストを web01 という Web サーバーに作り変えるため、ホスト名と導入パッケージを変更する必要があります。
表 109 サーバー再構築作業による変更内容

項目

変更前

変更後

ホスト名

db01

web01

mariadb-server パッケージ

インストール済み

アンインストール済み

httpd パッケージ

未インストール

インストール済み

入力用 ▶ サーバー基本情報 から、ホスト名に関するパラメータを登録します。
サーバ基本情報登録
表 110 サーバー基本情報パラメータの設定値

ホスト名

オペレーション

パラメータ

オペレーション名

ホスト名

web01

2024/04/03 12:00:00_Webサーバーへの再構築

"{{ __inventory_hostname__ }}"

入力用 ▶ 導入パッケージ から、パッケージに関するパラメータを登録します。
導入パッケージ登録
表 111 導入パッケージパラメータの設定値

ホスト名

オペレーション

代入順序

パラメータ

オペレーション名

パッケージ名

状態

web01

2024/04/03 12:00:00_Webサーバーへの再構築

1

mariadb-server

absent

web01

2024/04/03 12:00:00_Webサーバーへの再構築

2

httpd

present

作業実行

  1. 事前確認

    現在のサーバーの状態を確認しましょう。
    ホスト名を確認します。
    リスト 414 コマンド
    # ホスト名の取得
    hostnamectl status --static
    
    リスト 415 実行結果
    db01
    
    サーバに SSH ログインし、パッケージのインストール状態を確認します。
    リスト 416 コマンド
    rpm -q mariadb-server
    
    リスト 417 実行結果
    # 環境ごとにバージョンは異なります
    mariadb-server-10.3.35-1.module+el8.6.0+15949+4ba4ec26.x86_64
    
    リスト 418 コマンド
    rpm -q httpd
    
    リスト 419 実行結果
    package httpd is not installed
    
  2. 作業実行

    Conductor ▶ Conductor編集/作業実行 から、 選択 を押下します。
    サーバー構築 Conductor を選択し、選択決定 を押下します。
    次に、画面上部の  作業実行 で、オペレーションに Webサーバーへの再構築 を選択し、作業実行 を押下します。
    Conductor作業確認 画面が開き、実行が完了した後に、全ての Movement のステータスが「Done」になったことを確認します。
    Conductor作業実行
  3. 事後確認

    再度サーバに SSH ログインし、Web サーバーに作り直しされていることを確認します。
    ホスト名を確認します。
    リスト 420 コマンド
    # ホスト名の取得
    hostnamectl status --static
    
    リスト 421 実行結果
    web01
    
    サーバに SSH ログインし、パッケージのインストール状態を確認します。
    リスト 422 コマンド
    rpm -q mariadb-server
    
    リスト 423 実行結果
    # 環境ごとにバージョンは異なります
    is not installed
    
    リスト 424 コマンド
    rpm -q httpd
    
    リスト 425 実行結果
    httpd-2.4.37-51.module+el8.7.0+18026+7b169787.1.x86_64
    

まとめ

本シナリオでは、DB サーバーを Web サーバーに再構築するシナリオを通して、Exastro IT Automation のジョブフローである Conductor の運用方法について紹介をしました。
  • Conductor を利用することで、複数の Movement をまとめて実行することが可能です。

  • Conductor は様々な制御機能を持っています。

次のシナリオ では、これまで扱ってきた各機能の確認をします。