Ansible 설치 · 3 min read · Dec 20, 2025

우분투 18.04 LTS에 Ansible 설치 및 구성하는 방법

Ansible은 소프트웨어 프로비저닝, 구성 관리 및 애플리케이션 배포를 자동화하는 데 사용할 수 있는 무료 오픈 소스 소프트웨어입니다. Puppet이나 Chef와 달리 Ansible을 사용하기 전에 클라이언트-서버 환경을 설정할 필요가 없습니다. 중앙 위치에서 여러 호스트를 관리할 수 있습니다. 이 도구는 복잡한 다계층 IT 애플리케이션 환경을 자동화하는 데 매우 간단하면서도 강력합니다. Ansible은 일반 SSH 채널을 통해 원격 머신에서 정보를 검색하고 작업을 수행합니다.

이 튜토리얼에서는 우분투 18.04 서버에 Ansible을 설치하고 사용하는 방법을 배웁니다.

요구 사항

  • OpenSSH 서버가 설치된 두 개의 우분투 18.04 서버 시스템.
  • 서버 시스템에 192.168.0.101의 정적 IP 주소가 설정되어 있고 클라이언트 시스템에 192.168.0.104가 설정되어 있습니다.
  • 두 시스템 모두에 sudo 권한이 있는 비루트 사용자 계정이 설정되어 있습니다.

시작하기

시작하기 전에 다음 명령어로 시스템을 최신 버전으로 업데이트하십시오:

sudo apt-get update -y  
sudo apt-get upgrade -y

시스템이 최신 상태가 되면 변경 사항을 적용하기 위해 시스템을 재시작하십시오.

Ansible 설치 및 구성

기본적으로 우분투 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 서버에서 다음 명령어를 사용하여 클라이언트 시스템에 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

축하합니다! 우분투 18.04 서버에 Ansible을 성공적으로 설치하고 구성했습니다. 이제 Ansible을 사용하여 원격으로 간단한 작업을 쉽게 실행할 수 있습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.