この記事は最終更新日から1年以上が経過しています。
Ansible とは
構成管理するためのツールです。サーバにミドルウェアのインストールや各種設定を自動化してくれます。
Ansible 以外にも Puppet 、Chef などがあります。
比較すると大体こんな感じです。
Puppet | Chef | Ansible | |
---|---|---|---|
開発言語 | Ruby | Ruby | Python |
エージェント | 必要 | 必要 | 不要 |
コード記述言語 | 独自言語 | Ruby | YAML |
処理実行順序 | 記述通りでない | 記述順 | 記述順 |
Ansible の内部処理的には
Playbook から Python コード生成
↓
管理対象ホスト にファイルを転送 ( sftp )
↓
Python コード実行( ssh )
↓
Pythonコード削除( ssh )
となります。
管理サーバから各ホストに対して構成管理する場合は、エージェントのインストールは必要ありませんがssh できる必要があります。
install
AmazonLinux の場合、インストールは EPEL リポジトリからインストールします。
(Python のパッケージ管理システムの pip でもインストールが可能のようです。)
$ sudo yum --enablerepo=epel install ansible |
Java を install してみる
Ansible は 、playbook にサーバの構成を定義します。
Java を install する場合、以下の様になります。
- hosts: localhost connection: local gather_facts: no tasks: # ======================================================== # Javaのインストール # ======================================================== - name: javaの存在確認 shell: which java register: java_which failed_when: java_which.rc not in [0, 1] - name: Java インストール yum: name=java-1.8.0-openjdk-devel when: java_which.rc == 1 |
以下のコマンドで実行します。
$ ansible-playbook -K playbook.yaml |
この記事を書いた人
-
新卒3年目で脱新人を目指してます。
フロントに興味を持ち始めた今日このごろ。
趣味は 麻雀 プログラミング 音楽。
運動不足を感じているため、ダンスを始めようかと思っています。
最近書いた記事
- 2019.06.26コンテナイメージの縮小
- 2019.05.27Chromeのユーザ切り替えで複数のAWS環境の管理をわかりやすくする
- 2019.04.15ECRのライフサイクルポリシー
- 2019.03.29KongでOAuth2の認証手順