써봤어
S
솔루션 & 전문가
최적의 툴과 검증된 파트너를 찾아보세요.
R
솔루션 평가
실제 사용자의 솔직한 평가를 확인하세요.
E
경험 공유
현업 엔지니어들의 생생한 경험담입니다.
커뮤니티기술 블로그교육 +
평가 쓰기경험 쓰기
⭐️ 메신저커뮤니티솔루션평가경험블로그교육 +
이용약관개인정보처리방침

© 2026 Trydit. All rights reserved.

← Back to List
📚 Automation Zero to Hero Series

Ansible을 활용한 100대 서버 동시 설정 관리

Automator•2025.12.19•automation

💡 Summary

Problem:서버 설정 변경 시 각 서버에 SSH 접속하여 수작업으로 진행
Solution:Ansible
Result:Playbook 하나로 모든 서버의 설정을 5분 안에 동기화 완료

1. 반복적인 서버 관리의 비효율성

서버가 1~2대일 때는 직접 접속해서 apt install nginx를 입력해도 문제가 없습니다. 하지만 관리해야 할 서버가 100대가 된다면? 명령어 하나를 100번 입력해야 하고, 중간에 한 서버에서 에러가 나면 어디까지 진행되었는지 파악하기도 힘듭니다. 이러한 Configuration Management 문제를 해결하기 위해 Agent를 설치할 필요가 없어 도입이 간편한 Ansible을 선택했습니다.

2. Ansible의 특징 (Idempotency)

Ansible의 가장 강력한 특징은 멱등성(Idempotency)입니다. "Nginx를 설치해"라고 백 번 명령해도, 이미 설치되어 있다면 아무런 변경도 가하지 않습니다. 이 덕분에 스크립트를 여러 번 실행해도 시스템 상태가 꼬이지 않고 항상 원하는 상태(Desired State)를 유지할 수 있습니다.

3. 인벤토리(Inventory) 구성

관리 대상 서버 목록을 hosts.ini 파일에 정의합니다. 그룹핑을 통해 웹 서버, DB 서버를 나누어 관리할 수 있습니다.

[webservers]
192.168.1.101
192.168.1.102

[dbservers]
192.168.1.201

[all:vars]
ansible_user=ubuntu
ansible_ssh_private_key_file=~/.ssh/id_rsa

4. Playbook 작성 (site.yml)

실제 수행할 작업을 YAML 형식으로 정의합니다.

---
- name: 웹 서버 설정
  hosts: webservers
  become: true
  
  tasks:
    - name: Nginx 설치
      apt:
        name: nginx
        state: present
        update_cache: yes
    
    - name: index.html 배포
      copy:
        src: ./index.html
        dest: /var/www/html/index.html
        mode: '0644'
      notify: Restart Nginx

  handlers:
    - name: Restart Nginx
      service:
        name: nginx
        state: restarted

5. 실행 및 결과

다음 명령어로 100대의 서버에 동시 적용합니다.

ansible-playbook -i hosts.ini site.yml

Execution Result:

PLAY [웹 서버 설정] ***************************************************************

TASK [Gathering Facts] **********************************************************
ok: [192.168.1.101]
ok: [192.168.1.102]
...

TASK [Nginx 설치] *************************************************************
changed: [192.168.1.101]
changed: [192.168.1.102]
...

PLAY RECAP **********************************************************************
192.168.1.101              : ok=3    changed=2    unreachable=0    failed=0
...

6. 마치며

Ansible을 도입함으로써 서버 세팅 시간을 며칠에서 몇 분 단위로 단축시켰습니다. 이제 Infrastructure as Code 개념을 OS 설정 레벨까지 확장하여, 서버가 불의의 사고로 유실되더라도 언제든 똑같은 상태로 즉시 복구할 수 있는 재해 복구(DR) 체계를 갖추게 되었습니다.

Was this helpful?

🛠️

Introduction to Ansible

Interested in the tool mentioned in this experience? Check out official pricing, verified sales partners, and expert engineers who can help you adopt it.

View Solution InfoFind Experts