Red Hat Ansible Automation Platform
Red Hat Ansible Automation Platformは、インフラ構築やメンテナンスを自動化する構成管理ツールです。冪等性(べきとうせい)の担保、学習コストの低さ、自動化対象の多さなどの特長があります。
Ansibleで自動化を始めるまでのステップ
Ansibleで自動化を始めるまでの大まかなステップは以下の通りです。
本ページでは、AnsibleのインベントリーやPlaybook作成、モジュールについてなど、図解を交えわかりやすく紹介します。
|
Ansibleのインベントリーとは
インベントリーとは 自動化対象のホストをIPアドレスまたはホスト名で記述するリストファイルのこと で、Ansibleが提供する管理GUIから簡単に作成可能です。
※クリックすると拡大します
AnsibleのPlaybookとは
AnsibleのPlaybookとは、
自動化する作業をYAMLというデータ形式で記述したファイルのこと
です。
Playbookの基本構成は以下の通りです。
(1)YAMLファイルの宣言
(2)実行対象の指定
(3)タスクを指定
Playbookの作成方法
今回は、 WebサーバへApacheをインストールするPlaybook を例に作成方法を説明します。
説明 | 記述例 | |
1 | YAMLファイルであることを宣言します。 半角のハイフンを3つ記入します。 |
--- |
2 | Playbookの任意の名称を記述します。 名称のルールはありませんが、作業内容が判断できる名称をおすすめします。 (例)今回作成するPlaybookの名称は「Setup webserver」とします。 |
- name: Setup webserver |
3 | Playbookを実行する対象のホスト(インベントリー)を記述します。 | hosts: Web_Server |
4 | タスクの開始行であることを宣言します。 | tasks: |
5 | 実行するタスクの任意の名称を記述します。 各タスクに名前を付けることで、Playbookの実行状況やタスクごとの 実行結果を容易に確認できます。 (例)今回実行するタスクの名称は「install httpd」とします。 |
- name: install httpd
|
6 | 実行するタスクを記述します。 タスクは「モジュール」と「オプション」を記述します。 ※モジュールについてはこちら (例)今回はyumモジュールを利用し、httpdの最新バージョンをインストールする タスクを記述しています。 |
yum: name: httpd state: latest |
7 | 後続のタスクがある場合は「5」「6」の手順を繰り返します。 (例)後続タスクの名称は「start httpd service」とします。 タスクはserviceモジュールを利用し、サービスを起動します。 さらに、自動起動設定を有効化するタスクを記述しています。 |
- name: start httpd service service: name: httpd state: started enabled: yes |
Playbook作成時の注意点
YAMLはインデントの位置でデータ構造を判断するので、Playbookを作成する際、インデントは非常に重要です。
今回例示したPlaybookは、具体的に以下のようなインデントで記述する必要があります。
- name: Setup webserver
ワークフローテンプレートについて
Playbookを組み合わせたフローを
「ワークフローテンプレート」
と呼びます。
Ansibleの管理GUI上で各Playbookを連結させワークフローテンプレートの作成・実行が可能です。視覚的にもわかりやすく、直感的に操作できます。また、実行結果はログとして格納され、作業の証跡をきちんと残せます。
※クリックすると拡大します
Ansibleのモジュールとは
先述した通り、
Playbookでタスクを記述する際はモジュールを指定
します。
様々なサードパーティからモジュールが提供されており、モジュールの数は3,000種類を超えています。WindowsやLinuxサーバへの汎用的な操作はもちろん、特定のネットワーク機器や仮想環境への操作にも対応しています。
モジュール名 | 説明 |
copy | ローカルのファイルを管理ホストへコピーする(SCP) |
get_url | 外部からHTTPでファイルをダウンロードする |
file | ファイルのパーミッションや所有者などのプロパティを設定する |
yum, dnf, apt, pip, gem | パッケージ(RPM など)をインストール/アンインストールする |
service | プロセス起動/停止などを操作する |
user | OS ユーザの追加・削除・変更する |
uri | Web サーバからのコンテンツ取得や API リクエストを発行する |
lineinfile | テキストファイルの行や文字列を編集する |
※一部抜粋したサンプルです
Playbookの効率的な作成・運用方法
各担当者が作成したPlaybookを他の担当者や他部門と共有・利用することで、より効率よく自動化を推進できます。
管理GUI上で容易にPlaybookの管理や組み合わせができるので全社展開がしやすく、Ansibleが組織全体の自動化を促進するプラットフォームになります。
※クリックすると拡大します
Playbookの実行
Playbookの実行は、管理GUIまたはREST API連携により、CIツールや構成管理ツールなど他製品からの連携実行が可能です。
Ansibleのアクセス管理
インベントリーやPlaybookは、組織・チーム・ユーザーによるロールコントロールとアクセス制御が可能です。
運用担当・開発担当など、役割に応じた適切な職務分掌を実現します。
|
柔軟な通知方法
ワークフローテンプレートの実行時、正常終了・異常終了をトリガーとして様々な手段でユーザーに通知できます。
SNSやチャットツール、メールなど既存のコミュニケーションツールを活用した情報共有が可能です。
|
3時間でわかる!IaC体験ワークショップを開催中
Ansibleを使ったコードによる環境構築・メンテナンス(IaC)を体験していただくために
ハンズオン形式のワークショップ
を開催しています。
IaCの基本的な考え方やAnsibleの知識、操作方法のレクチャーに加え、弊社で用意したハンズオン環境を使い、サーバ構築やメンテナンス業務の自動化を習得していただきます。
ワークショップの日程や内容の詳細などは以下よりお気軽にお問い合わせください。
|
JP1のエージェント導入を自動化!Ansible×JP1
アシストでは統合運用管理製品JP1のエージェント導入作業を自動化するための、
オリジナルのPlaybook
を提供しています。
Playbookが導入設計書兼手順書の役割を果たすため、従来の作業で発生していた手順書作成工数や設定のダブルチェックがなど不要になり、作業コストを大きく削減します。また、自動化することで「設計した値」と「実装値」のズレといったオペレーションミスも防止できるといった様々なメリットがあります。
JP1のエージェント導入作業自動化についてご興味のある方は、以下の問い合わせボタンよりお気軽にお問い合わせください。
提供内容 | 対象製品 |
ガイド提供(Ansible構築・Playbook実行) JP1インストール用サンプルPlaybook作成・提供 JP1インストール以外のAnsible自動化要件ヒアリング および 自動化実装(※2) Ansible基本操作トレーニング(※2) ※2…別途ご相談のうえお見積します |
JP1/Base JP1/Automatic Job Management System 3 – Agent JP1/Extensible SNMP Agent JP1/SNMP System Observer – Agent for Process JP1/Performance Management – Base JP1/Performance Management – Agent Option for Platform JP1/Performance Management – Agent Option for Oracle |
システム運用管理の関連製品/サービス
ITサービスマネジメントに関するその他の課題
- 運用自動化が進まない! 着実に運用自動化を進める具体的な方法とは?
- 運用自動化でオペレーションミスを劇的に削減
- 【BCP対策】「人」の対応を前提としない、DRサイト運用自動化を実現
- インシデント管理の業務改善
- ヘルプデスク業務の可視化/改善
- 構成管理データベース(CMDB)の構築/改善
- サービスデスク、インシデント管理の情報蓄積/共有
- サービスデスクの確立と整備
- ヘルプデスクのスキルアップと脱「属人化」
- RPA導入で思ったより効果が出ない理由と対策
- JP1/AJS3ジョブ運用のリスクアセスメント
- インシデント対応のスピード向上/生産性向上
- GUI操作を含むオペレーション業務の自動化
- マスターデータ登録(移行)作業の自動化
- IT部門のビジネス貢献に向けて
- IT部門から OTxITを進める初めの一歩
- DXのために運用部門が今、やるべきこととは
- 運用管理ソフトJP1のバージョンアップ
- 運用管理ソフトJP1への移行(マイグレーション)