Ansibleを使ってみた

今更ですが

エンジニアたるもの流行りものには敏感でなければ。というよりも、既にデファクトスタンダードになっているようなので、今更ではあるものの実際に使ってみて、どんなものかは把握しておかなければ……

というわけでAnsibleでWebサーバを立てるということをやっていきたいと思います。(超簡単でした)

Ansibleとは

構成管理ツール
インフラエンジニアで、仕事でサーバを立てる機会がある方ならば分かると思いますが、同じ環境がいくつも欲しい場合があるのです。それも素早く。

そんな時に、自動で同じ環境を構築出来るのがAnsibleというわけです。
よくAnsibleは冪等性が保証されるとか言われているあれがそれです。

もしかするとVMに詳しい方なら、dockerみたいなものと言われた方がピンとくるのかもしれません。
今からDockerfileを書くということです。

とにかく使ってみる

環境

  • AWS(当然無料枠)
  • CentOS7

手順

  • ansibleインストール
  • hosts設定
  • playbook記述
  • 実行

インストールから

# アップデート&インストール
# yum -y update; yum -y install ansible;
# yum list installed | grep ansible

ansibleがインストールされていればOKです。

hosts

今回はお試しなのでサーバ一台構築しておしまいですが、通常は複数のホストに対して、それぞれのミドルウェアを入れて結合していくのが普通です。
ansibleはそれが可能。

# vi /etc/ansible/hosts
[webserver]
localhost

ローカルホストの1台分のみ記述。
[ ]内の文字列はグループ名で、グループ毎に設定を適用することも可能。

playbook

これは構築手順書みたいなもの。
ansibleはこの手順書の通りにインストールやチューニングをしていく。

# vi /etc/ansible/webserver-ansible.yml
- hosts: localhost
  connection: local

  tasks:
    - name: Install HTTPD
      yum:
        name: httpd
        state: latest

    - name: Run HTTPD
      service:
        name: httpd
        state: started
        enabled: yes

なんとなく分かるかもしれないけど、一応上から説明をしていくと、httpdの最新版(latest)をインストールし、httpdを起動し、ついでに起動実行も有効にしている。

これで準備は完了。

実行

# ansible-playbook -i hosts weberver-ansible.yml
# systemctl status httpd

エラーがなく問題なくapacheが起動していれば成功。
こんな簡単に構築出来るもんなんですね……凄い。

コメントを残す

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

CAPTCHA