0
0

Exastro IT Automation(ver2.4.0)のクイックスタートをやってみた(Ansible Legacy)

Last updated at Posted at 2024-06-24

はじめに

Exastro IT Automationとは

システム構成(IaC+パラメータ)を管理するためのフレームワークです。
【Exastro-suite】より

今回は5月にリリースされたITAのver2.4を利用して、ITAをすぐに実施できる「クイックスタート」をやってみたいと思います。

ITAの標準的な連携機能であるAnsible Legacyを使って、Linuxサーバのホスト名変更作業を行い、構築作業の自動化を実施します。
手順については、Ansible Legacyのクイックスタート を参考にしました。

作業環境

今回は、以下の環境で進めていきます。
画像3.png

  • Exastro IT Automation 2.4.0
  • RHEL8(ITAサーバ用)
  • RHEL8(ターゲットマシン用)
  • Windows10(クライアント)
  • Google Chrome(Win10側)

作業フロー

自動化するための作業には、事前準備として1度だけ実施すべき作業と、繰り返し実施する作業があります。
今回のシナリオでは、1~6が事前準備にあたり。7~11と13~17は繰り返し実施する作業にあたります。

画像2.png

【事前準備】
1.パラメータシートの作成
2.ジョブ(Movement)の登録
3.Ansible Playbookの登録
4.ジョブ(Movement)とAnsible Playbookの紐付け
5.パラメータシートの項目とPlaybookの変数を紐付け
6.機器一覧にターゲットマシンを登録

【作業実行1回目】
7.作業名(オペレーション)の登録
8.パラメータシートにデータを登録
9.事前確認
10.作業実行
11.実行結果の確認

【作業実行2回目】
12.パラメータ設定を更新
13.作業名(オペレーション)の登録
14.機器一覧でターゲットマシンの情報を更新
15.事前確認
16.作業実行
17.実行結果の確認

事前準備

今回は、以下のPlaybookを使用します。
文字コードは「UTF-8」、改行コードは「LF」、拡張子は「yml」形式で作成してください。
※ファイルアップロードができなかったり、実行エラーが発生するため、インデントにご注意ください。

hostname.yml
- name: Set a hostname
  ansible.builtin.hostname:
    name: "{{ hostname }}"

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

パラメータシートとは

システムのパラメータ情報を管理するデータ構造のこと。
詳しくはこちらを参照。→パラメータシート作成機能

ホスト名を管理するためのパラメータシートを作成します。 「パラメータシート作成」メニューグループ → 「パラメータシート定義・作成」メニューを選択します。

画像8.png

項目の設定値は、以下のように登録しました。

設定項目 項目1設定値
項目の名前 ホスト名
項目の名前(Rest API用) hostname
入力方式 文字列(単一行)
最大バイト数 64
必須

画像9.png

パラメータシート作成情報の設定値は、以下のように登録しました。

設定項目 設定値
パラメータシート名 サーバー基本情報
パラメータシート名(REST用) server_information
作成対象 パラメータシート(ホスト/オペレーションあり)
表示順序 1

入力後は「作成」をクリックします。

2.ジョブ(Movement)の登録

Movementとは

Exastro IT Automation における、最小の作業単位のこと。1回の Movement 実行は、1回の ansible-playbook コマンドの実行と同じ。
詳しくはこちら→Movement一覧

ジョブ(Movement)の登録を行います。 「Ansible-Lagacy」メニューグループ → 「Movement一覧」メニューを選択します。

画像10.png

画像12.png

以下のように登録しました。

Movement名 ホスト指定形式
ホスト名設定 IP

入力後は、「編集確認」 → 「編集反映」をクリックします。

3.Ansible Playbookの登録

Playbookとは

Ansibleで実行するタスクを記述したもの。
詳しくはこちらを参照。→Playbook素材集

playbookを登録します。 「Ansible-Lagacy」メニューグループ → 「Playbook素材集」メニュー → 「登録」を選択し、事前に準備しておいた「hostname.yml」をアップロードします。

画像17.png

画像18.png

以下のように登録しました。

Playbook素材名 Playbook素材
hostname hostname.yml

入力後は、「編集確認」 → 「編集反映」をクリックします。

4.ジョブ(Movement)とAnsible Playbookの紐付け

MovementとPlaybookの紐づけについて

詳しくはこちらを参照。→Playbook素材集

「Ansible-Lagacy」メニューグループ → 「Movement-Playbook紐付」メニュー → 「登録」を選択します。

画像13.png

画像14.png

以下のように登録しました。

Movement名 Playbook素材 インクルード順序
ホスト名設定 hostname.yml 1

入力後は、「編集確認」 → 「編集反映」をクリックします。

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

代入値自動登録設定について

変数の紐づけ登録方式には、以下の3つのタイプがあります。

登録方式 説明
Value型 基本的なタイプであり、表の中の値を変数に紐づけるもの。
Key型 表の項目(列名)を変数に紐づけるもの。項目の設定値が空白の場合は紐づけ対象外となる。
Key-Value型 名称(Key)と設定値(Value)の両方を変数に紐づける

詳しくはこちらを参照。→ 代入値自動登録設定

「Ansible-Lagacy」メニューグループ → 「代入値自動登録設定」メニュー → 「登録」選択します。

画像15.png

画像16.png

以下のように登録しました。

メニューグループ:メニュー:項目 登録方式 Movement名 Movement名:変数名
代入値自動登録用:サーバー基本情報:ホスト名 Value型 ホスト名設定 ホスト名設定:hostname

入力後は、「編集確認」 → 「編集反映」をクリックします。

6.機器一覧にターゲットマシンを登録

「Ansible共通」メニューグループ → 「機器一覧」メニューを選択します。
登録をクリックします。
画像19.png

画像20.png

以下のように登録しました。

HW機器種別 ホスト名 IPアドレス ユーザ パスワード 認証方式
SV server01 ターゲットサーバーのIPアドレス root (パスワード) パスワード認証

入力後は、「編集確認」 → 「編集反映」をクリックします。

作業実行1回目

7.作業名(オペレーション)の登録

「基本コンソール」メニューグループ → 「オペレーション一覧」メニュー → 「登録」選択します。
画像21.png

画像22.png

以下のように登録しました。

オペレーション名 実施予定日時
RHEL8のホスト名変更作業 2024/04/01 12:00:00

入力後は、「編集確認」 → 「編集反映」をクリックします。

8.パラメータシートにデータを登録

今回はホスト名を「hostA」から「server01」に変更します。
「入力用」メニューグループ → 「サーバー基本情報」メニュー → 「登録」選択します。
画像23.png

画像24.png

以下のように登録しました。

入力後は、「編集確認」 → 「編集反映」をクリックします。

ホスト名 オペレーション名 パラメータホスト名
server01 2024/04/01 12:00:00_RHEL8のホスト名変更作業 server01

9.事前確認

実行する前に現在の状態を確認します。

#実行コマンド
hostnamectl status --static
# 結果(現在のホスト名が表示されます)
hostA

10.作業実行

作業実行について

詳しくはこちらを参照。→作業実行

「Ansible-Lagacy」メニューグループ → 「作業実行」メニューを選択します。 その後、実行するジョブ(Movement)を選択し、作業実行をクリックします。

画像25.png

オペレーション選択をクリックします。
画像31.png

実行するオペレーションを選択し、選択決定をクリックします。

画像27.png

作業実行をクリックします。
画像32.png

11.実行結果の確認

再度サーバに SSH ログインし、ホスト名が変更されていることを確認します。

#実行コマンド
hostnamectl status --static
# 結果
server01

作業実行2回目

12.パラメータ設定を更新

ITA独自変数とは

ITA 独自で定義している変数のこと。ログイン先のホスト名を変数で取得できるため、パラメータの一元管理が可能となる。
その他のITA独自変数はこちらを参照。→ITA独自変数

次はITA独自変数を使ってターゲットサーバーのホスト名を変更してみたいと思います。 「入力用」メニューグループ → 「サーバー基本情報」 → 「登録」をクリックします。

画像1.png

以下のように登録しました。

ホスト名 オペレーション名 パラメータホスト名
server01 2024/04/05 12:00:00_ITA独自変数によるホスト名変更作業 "{{ inventory_hostname }}"

入力後は、「編集確認」 → 「編集反映」をクリックします。

13.作業名(オペレーション)の登録

「基本コンソール」メニューグループ → 「オペレーション一覧」メニュー → 「登録」をクリックします。

画像34.png

以下のように登録しました。

オペレーション名 実施予定日時
ITA独自変数によるホスト名変更作業 2024/04/05 11:00:00

入力後は、「編集確認」 → 「編集反映」をクリックします。

14.機器一覧でターゲットマシンの情報を更新

「Ansible共通」メニューグループ → 「機器一覧」メニュー → 「登録」をクリックします。

画像35.png
※ssh鍵認証情報のパスフレーズは自動入力です。

以下のように登録しました。

ホスト名 IPアドレス ユーザ パスワード 認証方式
db01 ターゲットサーバーのIPアドレス root (パスワード) パスワード認証

入力後は、「編集確認」 → 「編集反映」をクリックします。

15.事前確認

実行する前に現在の状態を確認します。

#実行コマンド
hostnamectl status --static
# 結果
server01

16.作業実行

「Ansible-Lagacy」メニューグループ → 「作業実行」メニュー →「ホスト名設定 → 「作業実行」 → 「オペレーション選択」とクリックしていきます。

実行するオペレーションを選択し、選択決定をクリックします。
画像36.png

最後に、「作業実行」をクリックします。

17.実行結果の確認

再度サーバに SSH ログインし、ホスト名が変更されていることを確認します。

#実行コマンド
hostnamectl status --static
# 結果
db01

おわりに

今回はクイックスタートを実施し、Anislbeでサーバのホスト名変更を実施しました。

次回はAcsible Legacyのlearnを実施し、Linuxサーバ構築でよく行うパッケージのインストール作業を自動化してみたいと思います。

次回:パッケージ管理
Exastro IT Automation(ver2.4.0)のlearnをやってみた Ansible Legacy編 その①

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0