IT自動化を活用せよ!「オープンソースの構成管理ツールAnsible入門」最終回
ITライフハック / 2014年11月11日 10時0分
■はじめに
本連載の第一回目では、システム担当者により手作業で行われてきた構成管理の課題、そうした課題を解決すべく登場した構成管理ツールの一つAnsibleについて紹介した。
第二回目では、Ansibleを使う具体的なメリットについて解説し、第三回目では「いきなり本番環境で始めてしまうのは怖い」という読者に向けて、チュートリアル環境の構築方法を途中までお伝えした。
今回は第三回目の続きとなり、Ansibleを実際にインストールし、構成管理作業をスタートするところまでを解説する。
AnsibleはPythonパッケージ管理システムを使用してもインストールできるが、ここでは、チュートリアル環境として使用するCentOS 6に統合が容易なEPELリポジトリからのインストールを行う。
まず、EPELのミラーサイトの1つから、リポジトリ登録用のRPMパッケージをダウンロード・インストールする。
———————————————————————————–
$ sudo rpm –import http://ftp.tsukuba.wide.ad.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6
$ sudo rpm -ivh http://ftp.tsukuba.wide.ad.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
———————————————————————————–
yumコマンドでEPELリポジトリからAnsibleのCentOS 6向けパッケージをインストールする。
———————————————————————————–
$ sudo yum -y install ansible
———————————————————————————–
以下のコマンドでAnsibleがインストールされたことを確認する
(Ansible のバージョン番号が表示されればOK)。
———————————————————————————–
$ ansible –version
———————————————————————————–
必要なソフトウェアのインストールは以上で完了。以下、実際に仮想環境を構築していく。
———————————————————————————–
$ vagrant init centos65
———————————————————————————–
カレントディレクトリにVagrantfile が生成されているので、これを以下の内容になるようテキストエディタで編集を行う。
<編集 ファイル1>
※要ダウンロード
編集が終わったら、以下のコマンドで仮想サーバ群を起動(物理マシンのスペックによるが相応の時間がかかる)。
———————————————————————————–
$ vagrant up
———————————————————————————–
チュートリアルで使用する仮想環境(サーバ3台)はこれで構築完了。あらかじめ用意されたひな形(Box)を利用したとはいえ、VagrantがVirtualBoxとともに利用される理由の一端が体感できたのではないだろうか。
次に、Ansible の設定を行う。最低限必要なのが、インベントリ・ファイルだ。
これは、Ansibleが管理対象のホスト(サーバ)のアドレスや、それらをまとめたグリープなどを定義するファイルだ。ファイルのパスは、「/etc/ansible/hosts」である。まずは、以下の内容をテキストエディタで記述する。
<編集 ファイル2>
※要ダウンロード
インベントリ・ファイルが用意できたら、まずは疎通確認を行う。以下のコマンドは、Ansible実行ホストから、管理対象ホストにSSHでログインできるかどうかを確認する。
———————————————————————————–
$ ansible multi -m ping
———————————————————————————–
インベントリ・ファイルにおいて、「multi」は、「webapp」と「db」というホストのグループを含むグループ(本環境では、全管理対象サーバ)になる。
これで、以下のような出力が返ってくれば、Ansibleで仮想サーバ群を管理する
前提条件が整っているということになる。
———————————————————————————–
$ ansible multi -m ping
192.168.60.7 | success >> {
“changed”: false,
“ping”: “pong”
}
192.168.60.8 | success >> {
“changed”: false,
“ping”: “pong”
}
192.168.60.11 | success >> {
“changed”: false,
“ping”: “pong”
}
———————————————————————————–
Ansibleの様々な機能(モジュールという形で実現されている)の1つに、管理対象のホスト上でコマンドを実行するというものがある。これは単純な機能だが、管理対象のホストの数が多い場合は、意外と便利だ。
例えば、Vagrantによって各仮想サーバのホスト名が正しく設定されているかどうかを確認してみよう。
———————————————————————————–
$ ansible multi -a “hostname”
———————————————————————————–
以下のような結果が返ってくれば、Vagrantfileの内容に基づいて構築された仮想サーバのホスト名が設定されていることが確認できる。
———————————————————————————–
$ ansible multi -a “hostname”
192.168.60.7 | success | rc=0 >>ph-app01.devel
192.168.60.8 | success | rc=0 >>ph-app02.devel
192.168.60.11 | success | rc=0 >>ph-db01.devel
———————————————————————————–
以下のコマンドを実行するとどうなるだろうか。
———————————————————————————–
$ ansible multi -a “free -m”
192.168.60.11 | success | rc=0 >>
total used free shared buffers cached
Mem: 490 350 139 0 42 222
-/+ buffers/cache: 86 404
Swap: 991 0 991
192.168.60.8 | success | rc=0 >>
total used free shared buffers cached
Mem: 490 350 139 0 42 222
-/+ buffers/cache: 86 404
Swap: 991 0 991
192.168.60.7 | success | rc=0 >>
total used free shared buffers cached
Mem: 490 350 139 0 42 222
-/+ buffers/cache: 86 404
Swap: 991 0 991
———————————————————————————–
実行するまでもなくお分かりの人も多いと思うが、管理対象のホストのメモリーの使用状況が表示される。上述した「便利」さが体感できたのではないだろうか。
■最後に
Ansibleは、このような複数のホストに命令を送り込んで結果を得る、という基本機能を組み合わせることによりサーバ環境の状態を制御していく。
導入部としての連載はこれで一旦終了となる。環境準備の基本は押さえられたはずなので、今後は「プレイブック」を作成するなど発展的内容の学習につなげていっていただきたい。
■株式会社ファランクス
著者プロフィール:
藤田泰弘(ふじた・やすひろ)
株式会社ファランクスCTO(最高技術責任者)。1975年福井県生まれ。2002年東京大学経済学部卒業。大学在学中より携帯電話向けコンテンツサービスの開発に携わり、卒業後も同サービス開発会社で働く。主な担当はサービスインフラの設計・構築。ファランクスがアフィリエイト広告事業に参入するにあたり、大学時代からの知己であった経営陣からの誘いを受けて同社でのシステム全般の立ち上げに参画、現在に至る。
この記事に関連するニュース
-
WSL 2.4.4ではtar形式でのディストリビューションが配布でき、企業での利用が容易になってきた
ASCII.jp / 2024年11月24日 10時0分
-
重要ファイルの持ち出しを制御する情報漏洩対策ソフト「コプリガード Ver.7.0」を2024年11月11日に発売 ~管理外デバイスから共有フォルダーへのアクセス防止を可能にする新オプションを同時発売~
@Press / 2024年11月11日 10時0分
-
Windows Subsystem for Linuxガイド 第41回 WSL GUI設定
マイナビニュース / 2024年11月7日 15時31分
-
Windows 11 向け更新プログラム「KB5044384」リリース、sfcコマンドの不具合解消
マイナビニュース / 2024年10月29日 8時48分
-
「消えない8.63GB」のファイルが消えた - 阿久津良和のWindows Weekly Report
マイナビニュース / 2024年10月27日 16時0分
ランキング
-
1ビューカード、顧客との通話内容を録音したSDカード20枚を紛失
ASCII.jp / 2024年11月25日 17時5分
-
2メルカリ、不正利用へのサポート強化と補償方針を発表 ネットで意見「当たり前」「個人的には期待」「悪意のあるやつは排除して」
iza(イザ!) / 2024年11月25日 13時21分
-
3HD-2D版『ドラクエ3』勇者「俺だけバラモス倒せなかった…」←なんで? 嘆きの声続出の理由
マグミクス / 2024年11月25日 17時25分
-
4スタバ福袋当選発表に悲喜こもごも SNS「3度目の正直来た」「外れてうつになりそう」
iza(イザ!) / 2024年11月25日 12時11分
-
5「不要なスマホなどをdポイントと交換」 ドコモ、小型機器の買い取りに挑戦 都内の25店舗で
ITmedia Mobile / 2024年11月25日 16時21分
記事ミッション中・・・
記事にリアクションする
記事ミッション中・・・
記事にリアクションする
エラーが発生しました
ページを再読み込みして
ください