こんにちは、nanaです!
ここ最近(?)の推し活は踊る大捜査線ですね!
まさか踊るをまた映画館で見れるなんて……
ドラマも大好きだったので、前編のOPもEDもグッとくるものがありました。
後編のラスト…ほんのり続きそうな流れでしたが、また動き出すのでしょうか…?
12月は特に推し活がないので、1月と2月の推し活を糧に頑張ります。
さて、今までは「1課の技術書」を毎月月末にアップしていましたが、今回から毎月5日前後にアップします。
そのかわり「1課の勉強会」を奇数月月末にあげます。
ブログ自体は両方とも続けていきますので、読んでいただけると嬉しいです!
※1課の技術書では1課メンバーが現場で携わっている技術や気になる技術の情報を、1課の勉強会では偶数月に行う勉強会で学んだ内容を書いてます。
今までUipathについて触れてきましたが、もうネタがない…;;
ということで、今回はAnsibleについて書いていきます!
今まで書いてきたUipathはRPAでしたが、Ansibleは構成管理ツールと呼ばれるものです。
構成管理ツールとは?
構成管理とはシステムを安定稼働させるためのハードウェア、ソフトウェア、ネットワークやライセンスなどの情報を管理することです。
ライフサイクル(※1)やバージョン管理(※2)も含めて構成管理と言われています。
システムを安定稼働するには構成管理を行うことが大切です。
手動でこれらを管理することはとても大変ですが、構成管理ツールを使用することで情報収集や設定などを一元管理できます。
また構成管理ツールでは、複数サーバのシステムアップデートや構築、設定管理を自動化できます。
それにより、工数の削減や人為的なミスを減らせます。
※1 製品の導入、保守、運用、廃棄などのシステムを運用するための一連の過程
※2 変更履歴・変更内容などの情報管理
今回はAnsibleという構成管理ツールについて触れていきます。
Ansible以外には何があるの?という方は過去のブログをご参照ください。
Ansibleとは?
・Red Hat社が提供するオープンソースの構成管理ツール
・オープンソースである「Ansible」と商用ソフトウェアとして提供されている「Red Hat Ansible Automation Platform」がある
・Ansibleで管理したいサーバへソフトウェアをインストールする必要はなく、エージェントレスで使用可能
・自動化の処理はYAML(※1)形式
※1 YAML(ヤムル、ヤメル):データ形式の一種
・「Ansible Automation Controller」をインストールすることでGUI操作も可能
では、Ansibleの基礎について、まとめていきます。
皆さん、どうぞお付き合いください!
Ansibleの構成
Ansibleでは主に下記の要素があります。
・ノード
・ansible.cfg
・インベントリ
・Playbook
・ロール
・モジュール
<ノード>
Ansibleではサーバ・機器のことを「ノード」と言います。
Ansibleをインストールした環境を「コントロールノード」、Ansibleで管理する環境を「ターゲットノード」と言います。
コントロールノードにインベントリやPlaybookといった設定ファイル、実行ファイルを格納し、その情報を元にターゲットノードに対して処理を実行します。
<ansible.cfg>
Ansible自身の設定を行うファイルです。
<インベントリ>
ターゲットノードの情報(ホスト名やIPアドレスなど)を管理するファイルです。
デフォルトのファイル名はhostsです。
ターゲットノードはグループ分けをすることも可能です。
役割ごとにグループ分けすると便利です。
またグループに対して変数(パラメータ)を持たせることもできます。
グループは[グループ名]、変数は[グループ名:vars]と宣言して、内容を記述します。
<Playbook>
Ansibleで実行する自動化する対象や処理などを定義するファイルです。
自動化タスクの「手順書」とも言われています。
<ロール>
実行する処理を定義したファイルです。
ロールはPlaybookで呼び出すことができます。
Playbookにも処理を定義することはできますが、ロールに記載することで同じ処理を複数のPlaybookで呼び出したり、
条件によって呼び出すロールを変更することができます。
処理が多い場合、ロールを分けることで可読性が上がります。
<モジュール>
タスクを実行するためのコマンドやスクリプトです。
Ansibleではたくさんのモジュールが準備されており、公式のモジュールの他に有識者が提供するコミュニティモジュールがあります。
Playbookの構成
Ansible ではPlaybookが重要です。
Playbookは下記の要素があります。
・タスク
・プレイ
<タスク>
実行する処理のことです。
モジュールを指定します。
<プレイ>
タスクと対象や変数などを含めた内容です。
Playbookとはプレイの一連の流れを指します。
プレイは4つの構成で成り立っています。
プレイの構成については次の章で説明します。
プレイの構成
プレイは下記、4つの構成で成り立っています。
・targets セクション
・vars セクション
・tasks セクション
・handlers セクション
<targets セクション>
実行対象を指定します。
必須項目です。
<vars セクション>
変数定義を設定します。
必要に応じて記述します。
<tasks セクション>
処理内容を記述するセクションです。
記述した順番に処理が流れます。
必須項目です。
<handlers セクション>
タスクの実行状況により、実行要否を判断する場合はhandlersセクションに記述します。
今回はAnsibleの基礎をまとめてみました!
Ansibleは今まで書いていたUipathとは異なり、GUI操作ではなくCUI操作がメインです。
モジュールなど独自のものもあり、慣れるまで大変ですが、一度作ってしまえば構築や定期的なメンテナンス作業がとても楽になります。
管理する機器がたくさんある場合にはとても便利なものです。
もし興味があれば、調べてみてください。
私も最近は新規で作成しておらず、忘れているところもあったので、勉強し直さないとな、となりました…
では、次回のブログでお会いしましょう!
nana
最新記事 by nana (全て見る)
- 1課の技術書 業務自動化編~Ansible Part1~ - 2024年12月5日
- 1課の技術書 業務自動化編~UiPath Part3~ - 2024年4月30日
- 1課の技術書 業務自動化編~Uipath Part2~ - 2023年10月31日
- 1課の技術書 業務自動化編~Uipath~ - 2023年3月31日
- 1課の技術書 業務自動化編~RPA~ - 2022年9月30日