3. ジョブフロー

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

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

を実施します。

Tip

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

3.1. 作業概要の作成

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

作業実施日時

2023/04/03 12:00:00

作業対象

db01(RHEL8)

作業内容

Webサーバーへの作り直し

3.1.1. 作業概要登録

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

オペレーション名

実施予定日時

Webサーバーへの再構築

2023/04/03 12:00:00

3.2. パラメータ設計

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

3.3. 作業対象の登録

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

3.3.1. 機器情報の更新

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

HW機器種別

ホスト名

IPアドレス

ログインパスワード

Ansible利用情報

ユーザ

パスワード

Legacy/Role利用情報

認証方式

SV

web01

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

root

(パスワード)

パスワード認証

3.4. 作業手順の登録

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

  • パッケージ管理

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

3.4.1. ジョブフローの作成

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

OUT

IN

Start

ホスト名設定

ホスト名設定

パッケージ管理

パッケージ管理

End

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

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

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

項目

変更前

変更後

ホスト名

db01

web01

mariadb-server パッケージ

インストール済み

アンインストール済み

httpd パッケージ

未インストール

インストール済み

3.5.1. パラメータ設定

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

ホスト名

オペレーション

パラメータ

オペレーション名

ホスト名

web01

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

"{{ __inventory_hostname__ }}"

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

ホスト名

オペレーション

代入順序

パラメータ

オペレーション名

パッケージ名

状態

web01

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

1

mariadb-server

absent

web01

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

2

httpd

present

3.5.2. 作業実行

  1. 事前確認

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

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

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

3.6. まとめ

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

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

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