Ansible · 2 min read · Dec 20, 2025
Ubuntu 18.04 LTSにAnsibleをインストールして設定する方法

Ansibleは、ソフトウェアのプロビジョニング、構成管理、アプリケーションのデプロイを自動化するために使用できる無料のオープンソースソフトウェアです。PuppetやChefとは異なり、Ansibleを使用する前にクライアントサーバー環境を設定する必要はありません。中央の場所から複数のホストを管理できます。このツールは非常にシンプルでありながら、複雑なマルチティアITアプリケーション環境を自動化するための強力なツールです。Ansibleは、通常のSSHチャネルを介してリモートマシンから情報を取得し、タスクを実行します。
このチュートリアルでは、Ubuntu 18.04サーバーにAnsibleをインストールして使用する方法を学びます。
要件
- OpenSSHサーバーがインストールされた2つのUbuntu 18.04サーバーシステム。
- サーバーシステムに静的IPアドレス192.168.0.101が設定され、クライアントシステムに192.168.0.104が設定されています。
- 両方のシステムにsudo権限を持つ非rootユーザーが設定されています。
始めに
始める前に、次のコマンドでシステムを最新のバージョンに更新します:
sudo apt-get update -y
sudo apt-get upgrade -yシステムが最新の状態になったら、変更を適用するためにシステムを再起動します。
Ansibleのインストールと設定
デフォルトでは、Ubuntu 18.04のデフォルトリポジトリには最新のAnsibleバージョンはありません。したがって、Ansible PPAをサーバーに追加する必要があります。次のコマンドを実行してこれを行います:
sudo apt-add-repository ppa:ansible/ansible次に、リポジトリを更新し、次のコマンドでAnsibleをインストールします:
sudo apt-get update -y
sudo apt-get install ansible -yインストールが完了したら、次のコマンドでAnsibleのバージョンを確認できます:
sudo ansible --version出力:
ansible 2.7.1
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.15rc1 (default, Nov 12 2018, 14:31:15) [GCC 7.3.0]
次に、Ansibleホストファイルで管理したいクライアントシステムを定義する必要があります。次のコマンドで/etc/ansible/hostsファイルを編集します:
sudo nano /etc/ansible/hosts次の行を追加します:
[Client]
node1 ansible_ssh_host=192.168.0.104
作業が完了したら、ファイルを保存して閉じます。
クライアントシステムのSSHキーを設定する
AnsibleはSSHを使用してクライアントホストと通信します。したがって、クライアントホストのためにキーに基づくSSH認証を設定する必要があります。
まず、次のコマンドでSSHキーのペアを生成します:
ssh-keygen出力:
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:bTVjTCKqxD8rnIw7/6mB6ZH9cnhzzOFg+/+x4clSOow root@ubuntu1804
The key's randomart image is:
+---[RSA 2048]----+
| . . . |
| . . . + |
| o . * |
| . o . o o |
| . o S o |
| O .oo.. . |
| * Bo.* + oo |
| ..oo+=.E =o = |
| ooo*++...+* |
+----[SHA256]-----+
次に、次のコマンドでこの公開鍵をクライアントシステムにコピーします:
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]出力:
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
Ansibleを使った作業
Ansibleは現在インストールされ、設定されています。Ansibleをテストする時が来ました。
Ansibleサーバーで、次のコマンドを使用してAnsibleを使ってクライアントシステムにpingを試みます。
ansible -m ping Client出力:
node1 | SUCCESS => {
"changed": false,
"ping": "pong"
}
Ansibleホストファイルに複数のクライアントが設定されている場合は、次のコマンドで全てのクライアントシステムにpingを送信できます:
ansible -m ping all次のコマンドでクライアントシステムのApacheウェブサーバーの状態を確認できます:
ansible -m shell -a 'service apache2 status' Client出力:
node1 | CHANGED | rc=0 >>
* apache2 is running
クライアントシステムのパーティションサイズを確認するには、次のコマンドを実行します:
ansible -m shell -a 'df -h' Client出力:
node1 | CHANGED | rc=0 >>
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 138G 48G 83G 37% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 1.9G 4.0K 1.9G 1% /dev
tmpfs 384M 1.2M 383M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 1.9G 67M 1.9G 4% /run/shm
none 100M 36K 100M 1% /run/user
/dev/sda5 225G 35G 180G 16% /Data
おめでとうございます!Ubuntu 18.04サーバーにAnsibleを正常にインストールして設定しました。これで、Ansibleを使用してリモートで簡単なタスクを実行できます。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。