開発運用

Ubuntu 18.04でAnsibleを設定

Ansibleは、ITインフラストラクチャの自動化ツールで、複数のサーバーやシステムを効率的に管理するために使用されます。Ubuntu 18.04でAnsibleをインストールし、設定する手順を以下に示します。

1. 依存関係のインストール

最初に、Ubuntu 18.04にAnsibleをインストールするために必要な依存関係をインストールします。これには、software-properties-commonパッケージが必要です。このパッケージは、PPA(Personal Package Archive)を管理するためのツールです。

bash
sudo apt update sudo apt install -y software-properties-common

2. Ansibleリポジトリの追加

Ansibleは、公式のUbuntuリポジトリに含まれていますが、最新バージョンを使用するためには、Ansibleの公式PPAを追加する必要があります。以下のコマンドでPPAを追加します。

bash
sudo add-apt-repository ppa:ansible/ansible sudo apt update

3. Ansibleのインストール

リポジトリを追加した後、次にAnsibleをインストールします。以下のコマンドでインストールが可能です。

bash
sudo apt install -y ansible

インストールが完了したら、Ansibleのバージョンを確認して、正しくインストールされたかを確認します。

bash
ansible --version

4. インベントリファイルの作成

Ansibleのインベントリファイルは、管理するサーバーの情報を格納するファイルです。Ubuntuでは、通常/etc/ansible/hostsにインベントリファイルが作成されます。このファイルを編集して、管理対象のホストを追加します。

bash
sudo nano /etc/ansible/hosts

以下のように、管理対象のホストを記述します。

ini
[web] 192.168.1.10 192.168.1.11 [db] 192.168.1.20

5. Ansibleの基本的なコマンド

Ansibleが正しくインストールされたかを確認するために、次のコマンドを実行してみましょう。これは、インベントリファイルに登録されたホストに対して、pingを実行するコマンドです。

bash
ansible all -m ping

もしすべてのホストが正常に応答すれば、Ansibleは正常にセットアップされています。

6. SSHキーの設定(必要に応じて)

Ansibleは、SSHを使ってリモートホストに接続します。もしパスワードなしで接続するためには、SSHキーを設定する必要があります。以下の手順で、SSHキーを生成し、リモートホストにコピーします。

  1. ローカルマシンでSSHキーを生成します。
bash
ssh-keygen -t rsa -b 2048
  1. 生成した公開鍵をリモートホストにコピーします。
bash
ssh-copy-id user@remote_host

これにより、パスワードなしでリモートホストにアクセスできるようになります。

7. Ansible Playbookの作成と実行

Ansibleの最も強力な機能は、Playbookを使った自動化です。Playbookは、YAML形式で書かれた一連のタスクを定義するファイルです。以下は、簡単なPlaybookの例です。

yaml
--- - name: Install nginx on web servers hosts: web become: yes tasks: - name: Install nginx apt: name: nginx state: present - name: Start nginx service service: name: nginx state: started

このPlaybookは、webグループに属するサーバーにnginxをインストールし、サービスを起動します。Playbookを実行するには、以下のコマンドを使用します。

bash
ansible-playbook -i /etc/ansible/hosts playbook.yml

8. Ansibleの設定ファイルのカスタマイズ

Ansibleは、設定ファイルを変更することで、より高度な設定を行うことができます。設定ファイルは、/etc/ansible/ansible.cfgにあります。このファイルを編集することで、デフォルトの設定を変更することができます。

例えば、デフォルトのインベントリファイルの場所を変更するには、ansible.cfgファイルで以下の設定を行います。

ini
[defaults] inventory = /path/to/your/inventory

9. Ansibleの高度な機能

Ansibleには、さらに多くの高度な機能があります。例えば、Ansible Galaxyを利用して、既存のロールをインストールして使用することができます。Galaxyは、Ansibleのためのロールやコレクションのリポジトリです。

以下のコマンドで、Ansible Galaxyからロールをインストールすることができます。

bash
ansible-galaxy install geerlingguy.apache

インストール後、Playbookでそのロールを使用することができます。

まとめ

以上が、Ubuntu 18.04にAnsibleをインストールし、基本的な設定を行う手順です。Ansibleを使うことで、サーバーの管理や自動化が効率的に行えるようになります。さらに、Playbookを活用すれば、複雑なインフラの管理も簡単に行えるようになります。

Back to top button