[Server] 管理ツール「Ansible」を覚えてみる #1「インストールと初期設定」

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

仕事でサーバーを管理する場合、1台や2台を管理しているだけならいいのですが、10台を超える場合に、いちいちsshでログインして各サーバーの設定を行っているような効率の悪い仕事をしていたら、とてもじゃないけど効率が悪いと言われても仕方がありません。

サーバー管理には、便利な管理ツールがたくさんあるようなので、その中で「Ansible」をチョイスしてみたので、備忘録と便利な使い方案などをメモしておきます。

ちなみにここで言っている「管理ツール」とは「複数サーバーの管理ツール」という事なのでpleskやwebminなどとは違うことを認識ください。

サーバー管理ソフトはたくさん存在する

1.Pappet
2.Chef
3.Salt
4.Ansible

性能の比較表が以下のサイトにあるので、見て欲しい。
http://demand-side-science.jp/blog/2014/ansible-in-wonderland-01/

どのツールもメリット、デメリットがあり、非常に悩みどころですが、僕は、ansibleの「エージェントへのインストール:無し」という点に注目して、どんどん膨らむサーバーリソースの管理において、クライアントであるエージェントのソフトインストールが無いという点は、運用管理においてとてもメリットがあると感じたのでansibleを採用しました。

環境構築

手元のPCがMac環境なので、とりあえずは、管理サーバーを構築するのではなく、MacにAnsibleをインストールして、エージェントサーバーの管理を行ってみたいと思います。

インストール

設定

任意フォルダにhostファイル(サーバー一覧リスト)を作ってアクセスして、コマンドを実行してみたいと思います。
ちなみに、hostファイルの名前は何でもいいです。

server.host

秘密鍵セット

ansibleの仕組みは、sshで対象サーバーにアクセスして、コマンドを打ち込んでいるだけのようなので、実はsshコマンドで大体できてしまいます。
でも、便利なモジュール群や、管理するサーバーリストを保持できる点で、メリットはありますので、安心ください。
ただ、エージェントサーバーの設定が全くいらないわけではなく、sshを秘密鍵でパスワード無しでログインできる状態にはしておかないとおけません。
サーバー管理者であれば、使用端末はその状態になっていてもおかしくないのですが、上記サーバーリストに対してログインアクセスの確認をしておきましょう。

起動テスト

全サーバーのhostnameを取得してみる

$ ansible all -i server.host -m shell -a “hostname”

サーバー毎にsuccessが返ってくれば問題なしです。
FAILEDが返ってくる場合は、sshアクセスに問題があります。
設定を確認してください。

準備完了

ここでエラーがなくなれば設定が完了です。
便利に使える状態になりましたので、あとは、どういう管理をするかの計画を立てて、実行するだけです。

ただ、サーバーの一元管理と言っても、超便利ツールではないので、もしもの時のリカバリーをできるように準備する事を怠らないようにしましょう。

管理する上でコマンドを叩く前の確認として、VagrantをローカルPCにセットして行うのもかなりいい準備なので、オススメします。

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です