Getting Started with Ansible Infrastructure Automation
AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

Ansible로 인프라 자동화 시작하기

카테고리

인프라/DevOps/보안

서브카테고리

DevOps

대상자

  • DevOps 엔지니어, 시스템 관리자, 클라우드 개발자
  • 초보자 대상 (SSH/Python 기반의 간단한 설정과 YAML 기반의 playbook 사용 가능)

핵심 요약

  • Ansible은 agentless 자동화 도구로 SSH + Python만으로 작동 (become: false, ansible_host, ansible_ssh_private_key_file 등)
  • Playbook은 YAML 형식의 작업 목록 (예: apt, command, copy 모듈 사용)
  • GCP CLI 설치 예제에서 보여주는 핵심 흐름:

- hosts.ini에서 서버 정보 정의 → vars.yml에서 보안 정보 관리 → gcloud-install.yml에서 실제 설치 작업 실행

섹션별 세부 요약

1. Ansible의 핵심 개념

  • Agentless 특성: remote 서버에 agent 설치 없이 SSH만으로 연결 가능
  • Declarative 방식: "무엇을 할지" 정의만 하면 Ansible이 실행 방식 결정 (예: hosts, tasks, debug 모듈 사용)
  • Playbook 예시:

```yaml

- name: Install Google Cloud CLI on Ubuntu

hosts: all

tasks:

- name: Update apt cache

apt: update_cache: yes

```

2. Ubuntu 환경 설정

  • Ansible 설치 명령:

```bash

sudo apt update && sudo apt install ansible

```

  • 인벤 파일 구성:

```ini

[all]

server1 ansible_host=34.0.0.0 ansible_user=root ansible_ssh_private_key_file=~/.ssh/key.txt

```

  • 변수 관리: vars.yml에서 gcp_service_account_json, gcp_project_id와 같은 보안 정보 저장

3. Google Cloud CLI 설치 Playbook

  • APT 패키지 설치: apt-transport-https, ca-certificates, gnupg, curl
  • GPG 키 추가:

```bash

curl -fsSL | gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg

```

  • GCP 인증: gcloud auth activate-service-account --key-file={{ gcp_key_path }} 명령 사용

4. 실행 및 실행 예시

  • Playbook 실행 명령:

```bash

ansible-playbook -i hosts.ini gcloud-install.yml

```

  • 권한 처리: sudo 또는 become: true 설정 필수 (예: fail 모듈로 root 권한 검증)

결론

  • Ansible은 인프라 자동화에 최적화된 DevOps 도구로, YAML 기반의 playbook과 SSH 기반의 remote 연동이 핵심
  • 보안 정보는 vars.yml에 별도 저장, set_fact 모듈로 환경별 변수 처리
  • 실무 적용 시 playbook의 version control과 secret 관리가 필수적