MENU

NIC BLOG

Voice of the Staff

Ansible に興味のある方!

こんにちは、東京本部のごっちです。

東京本部のインフラ関連の情報発信として、今回はクラウドが叫ばれる中で急速に注目を浴び始めた【Ansible】とは何なの? 何ができるの?と思われている方に概要をご紹介します。

①Ansibleとは・・・?
Ansibleは、レッドハット社が開発をしているオープンソースソフトウェアです。
※Ansibleをコアとして、機能面を強化した Ansible Tower は有償製品です。こちらは別の機会にまた紹介をしようと思っています。

<Ansible Tower>
https://access.redhat.com/products/ansible-tower-red-hat

Ansible とは?を簡単に説明すると、"あるべき状態"を構築するツールです。playbookと呼ばれるファイルに、Python形式で命令を記述することで実行します。
同じようなプロビジョニングツールである、Chef や Puppet と比べるとかなりシンプルな構成になっています。

例えば、サーバAはパラメータが"ONであること"、"1であること"といった内容を記述することで、Ansibleがパラメータを"ON"や"1"に設定します。
その際の動作は、以下のような流れになります。

1) Ansibleが、playbook に記載の値が対象のパラメータに設定されているかCheck!

2) Checkして値が異なっていれば、playbook に記載された値を反映

もし、2)で値が同じであれば、Checkのみを行いAnsibleは変更をしません。

製品構成は以下の通り。

<マネージャ側> LinuxOS, Ansible

<エージェント側> 特になし

※Ansibleが動作するための前提パッケージを除くと、エージェント側には特に製品がいりません。エージェントレスなのも、Ansibleの特徴です。
ただし、Windowsを対象にした場合はエージェントに相当するパッケージが必要になってきます。

②ツールだと、プログラム言語が読めないといけない?
Ansibleは、Pythonで記述するツールではありますが 基本的に人間が読みやすい形式なので、Pythonが読めるに越したことはありませんが、読めないからと言ってまったくわからないレベルではありません。

例を記載すると、こんな感じになります。

- name: Gather all registered esxi ←概要。わかればなんでもOK

local_action: ←実行方法を記載

module: vmware_vm_facts ←利用するモジュールを指定

hostname: "{{ esxi_hostname }}" ←外部に記載している変数リストからホスト名を取得

username: "{{ esxi_user }}" ←外部に記載している変数リストからユーザ名を取得

password: "{{ esxi_pass }}" ←外部に記載している変数リストからパスワードを取得

簡素なコードの例をもってきましたが、どうでしょうか。こちらは、Ansibleの情報を取得する機能を利用した、ESXiの構成情報を取得するモジュールです。

このように、開発言語が得意じゃない!という方でもやりたいことを実現し、パーツを置いていくことでツールを組み立てることができます。

インストール方法や設定についての具体的な話は、また次回にご紹介したいと思います!

では最後に、Ansibleを導入・構築するときの簡単な項目を記載しておきます。備忘録のレベルではありますが。。。

●年を越したらきっと忘れてる備忘録!

・Ansibleで何をしたか?

 1) VMデプロイ、設定変更

・良かった点

 1) AnsibleでVMデプロイを簡略化

 2) GUIを経由しないVMのパラメータ操作

 3) VMに関するノウハウがなくても、Ansibleのパラメータ変更を変えるだけでOK

・苦労した点

 1) 自動化のスコープ定義

 2) 作成の時間をどれだけ取れるか

 3) VM作成の前提モジュール整理

 4) 必要なサーバの整理

 5) VMの展開に必要なVMテンプレートの整理

 6) 運用ポリシーをどう設定するか

 7) SSHユーザに何を使うか

それでは、またお会いしましょう!

東京本部 ごっち

▼

このように東京本部ではインフラチームが存在しており、日々サーバーの提案や構築、 今後はクラウドにも挑戦しようとしている部隊がいます。

気になる方はご連絡ください!!

東京本部 さとさん より

| 前の投稿 >

カテゴリ

このブログはNIC社員が定期的な(?)更新を行っています。
各担当者は普段の業務の合間をぬってブログの記事を作成していますので、日付順で表示した場合にはいろいろなカテゴリがごちゃまぜで表示されます。
カテゴリ別の表示をしていただくと、ひとつの流れとして読みやすくなると思います。

月別アーカイブ