連載
» 2016年11月30日 05時00分 公開

Ansibleで始めるサーバ作業自動化入門(終):WebブラウザでAnsibleの実行を管理するAnsible Towerのインストールと使い方 (1/4)

本連載では、「マニュアルやシェルスクリプトを使ったサーバ管理に課題を持つ方」を対象に、Ansibleの基本的な使い方を紹介。今回は、Ansibleの実行をWebブラウザから管理するツール「Ansible Tower」について、概要と便利機能、インストール手順、使い方などを解説。

[今泉俊幸,株式会社ビーブレイクシステムズ]

 「マニュアルやシェルスクリプトを使ったサーバ管理に課題を持つ方」を対象に、Ansibleの基本的な使い方を紹介する本連載「Ansibleで始めるサーバ作業自動化入門」。前回の「プレイブックを再利用しやすくするRoleの基本と共有サービスAnsible Galaxyの使い方」では、Ansibleの推奨ディレクトリ構成である「Role」と、全世界のAnsibleユーザーがRoleを共有する仕組みである「Ansible Galaxy」を紹介しました。

Ansible Towerとは

 今回は、Ansibleの実行をWebブラウザから管理できるようにするツール「Ansible Tower」を紹介します。

 Ansible Towerを利用することで、プレイブックの実行をスケジューリングしたり、ユーザーに特定のプレイブックの実行のみを許可するような権限制御を行ったりすることができます。これは、例えば「客先の本番環境に直接アクセスできないため、客先のシステム担当者にリリース作業を任せたい」というような場合に便利です。また、「どのプレイブックをいつ誰が実行したのか」のログが残るため、「複数環境で異なるタイミングでリリース作業をする」場合などでも、作業の漏れがないか確認できるようになります。

 Ansible Towerは有償のツールですが、被管理ホスト数が10以下である場合は無償ライセンスで使用可能です。ライセンスについての最新の情報はこちらのページを参照してください。

 まずは、Ansible Towerのインストール方法とライセンス認証から説明し、プレイブックを実行するために最低限必要な手順、Ansible Towerの便利な機能を紹介します。今回は2016年11月の執筆時点の最新バージョンであるAnsible Tower 3.0.2の無償ライセンスを使って進めます。

Ansible Towerをインストールするための推奨スペック

 現在Ansible TowerがサポートしているOSは以下の3つです。

  • Red Hat Enterprise Linux 7(64-bit)
  • CentOS 7(64-bit)
  • Ubuntu 14.04 LTS(64-bit)

 以下のOSもサポート対象ではありますが、Ansible Tower 3.0から非推奨となっており、いずれサポートが外れる予定とのことなので、利用しない方がよいでしょう。

  • Red Hat Enterprise Linux 6(64-bit)
  • CentOS 6(64-bit)
  • Ubuntu 12.04 LTS(64-bit)

 また、必要となるマシンスペックは以下の通りです。

  • メモリ:2GB以上(推奨4GB以上)
  • ディスク容量:「/var/」ディレクトリに20GB以上の空きがあること

 上記の要件はAnsible Towerのインストール時にチェックされ、満たさない場合はインストールが失敗します。

 加えて、Ansible Towerを動かすマシンはそれ以外の用途では使わず、Ansible Tower専用として動作させることが推奨されています。都合が良いマシンがない場合は、Vagrantなどで作った仮想マシンにAnsible Towerをインストールして動かしてみるといいでしょう。

 なお、Ansible Towerにはhttpsで接続するため、仮想マシン上で動作させる場合は仮想マシンの443ポートをホストの適当なポートにマッピングしておいてください。VagrantであればVagrantfileに以下の行を追加することで対応できます(ホスト側のポートは443ではなく任意の値で構いません)。

config.vm.network "forwarded_port", guest: 443, host: 443

Ansible Towerのインストール

  Ansible Towerはパッケージマネージャからインストールできず、専用のインストールプログラムを使います。

 まず、以下のようなコマンドで最新版のAnsible Towerをダウンロードし、解凍します。もし最新版以外を利用したい場合はこちら(http://releases.ansible.com/ansible-tower/setup/) から任意のバージョンを選択可能です。

$ wget http://releases.ansible.com/ansible-tower/setup/ansible-tower-setup-latest.tar.gz 
$ tar xvzf ansible-tower-setup-latest.tar.gz

 ファイルを解凍すると、「ansible-tower-setup-3.0.2/」のようなバージョン番号を含んだディレクトリが作成されます。この中にインストール用のシェルスクリプトが含まれていますが、インストールの前にAnsible TowerとAnsible Towerが依存するツールのパスワードを設定する必要があります。展開したディレクトリ直下の「inventory」ファイルを編集し、以下の項目のパスワードを入力して保存します。

  • admin_password
  • redis_password
  • pg_password

 それぞれ、Ansible Towerの管理者パスワード、キャッシュ管理を行うRedisのパスワード、Ansible Towerのデータを保持するPostgreSQLのパスワード(ユーザー「awx」のパスワード)です。

 inventoryファイルに上記パスワード設定後、同ディレクトリ内のsetup.shをroot権限で実行してください。Ansible Towerと依存するツールのインストールが行われます。

 インストール時に自動でHTTPサーバの起動まで行ってくれるため、インストール完了後、ブラウザで「https://{ホスト名}」を開くとすぐにAnsible Towerにアクセスできます。

Tips 必須スペックのエラーチェックを無視する

 メモリが2GB未満、もしくはディスクの空き容量が20GB未満の場合にsetup.shを実行するとインストールは失敗します。

 ただし、Ansible TowerのインストールはAnsibleを使って行われており、上記のスペックのチェックについてもプレイブックで行われています。このため、インストール用プレイブックで上記チェックを無視するよう修正してしまえば、必要スペックに達していない場合でもインストールすることが可能です。

 メモリ、ディスク容量のチェックはAnsible Towerを解凍したディレクトリ内の「roles/preflight/tasks/main.yml」の以下の名称のタスクが対応しています。

  • Preflight check - Fail if this machine lacks sufficient RAM
  • Preflight check - Does /var meet minimum disk space requirement

 上記タスクについて「ignore_errors: yes」の行を追加すればチェックを無視してインストールを行えます。

 必須スペックを満たさない状態でもAnsible Towerを動かすことはできるようですので、「検証用に取りあえず使っていない低スペックマシンで動かしてみたい」ような場合は上記チェックを無効にしてインストールしてしまってもよいかと思います。


Ansible Towerのライセンス認証

 Ansible Towerにアクセスすると、まず以下のようなログイン画面が表示されます。

 USERNAMEには「admin」を、PASSWORDにはインストール時にinventoryファイルの「admin_password」に設定したパスワードを入力するとログインできます。

 ただし、初回のログインでまだライセンスが未認証の場合は、ライセンス認証の画面が表示されます。Ansible Towerを利用するためにはライセンスの登録が必要なため、無償ライセンスの取得を行います。「REQUEST LICENSE」をクリックし、ライセンス取得ページを開きます。

 ライセンス取得ページの「FREE TOWER TRIAL - SELF-SUPPORT UP TO 10 NODES」のラジオを選択、必須項目を入力し「SUBMIT」ボタンをクリックしてください。

 しばらくすると登録したメールアドレスに「Ansible Tower by Red Hat License」というタイトルでライセンス認証用のファイルが添付されたメールが送信されます。ここに添付されたファイルをダウンロードし、先ほどのライセンス認証画面の「LICENSE FILE」に添付しSUBMITボタンを押下することでライセンス認証は終了です。

 ライセンス認証を終えてログインに成功すると、以下のようなダッシュボード画面が表示されます。

 この画面上部のメニューからプレイブックを実行するために必要な情報を登録していきます。

       1|2|3|4 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。