BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT
최신 리포트 다운로드 지금 바로 문의하기
BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT
최신 리포트 다운로드 지금 바로 문의하기
BESPIN Tech Blog
BESPIN Tech Blog
  • Tech
    • CSP
      • AWS
      • GCP
      • NCP
    • Cloud
      • Migration
      • LZ, Control Tower
      • Backup
      • Monitoring
      • Container
    • Infra
      • OS
      • Middleware
    • Data
      • RDB
      • Big Data Platform
    • Application
      • CI/CD
  • Trend
  • IT
  • Contact US
Infra as CodeTECHCloud

Ansible 개념

by 형래 김 2023년 10월 20일
2023년 10월 20일
15

안녕하세요, 오늘은 DevOps실 윤영기님이 작성해 주신 Ansible 개념에 대해 알아봅니다.

궁금한 부분이 있으시면 편하게 댓글을 달아주세요:)

Ansible은 코드기반의 구성관리 도구이다.

1. Ansible은 3가지 제품군이 있다.

Ansible : 오픈소스, Command Line 명령 실행
Ansible -AWX : 오픈소스, Command Line 명령 실행 및 GUI로 명령 실행 가능, REST API 지원
Ansible-Tower : Redhat 상용제품, Command Line 명령 실행 및 GUI로 명령 실행 가능, REST API 지원, 고가용성 보장, 판매사 기술지원

(※ Asible-Tower는 Ansible Autoamation Platform의 일부가 되면서 Ansible Controller로 부르기도 한다.)

2. Ansible의 특징

Ansible 자체는 파이썬으로 구현된 SW이다. 따라서 Ansible 설치를 위해서는 파이썬이 설치되어 있어야 한다.
Ansible 설치 환경
  • 리눅스 OS
  • 파이썬 2.6 또는 2.7
AgentLess : Puppet이나 chef와 같은 대상 서버에 Agent를 설치하는 방식과는 다르게 Ansible은 대상 서버에 Agent를 설치하지 않고 Ansible이 설치된 서버에서 대상 서버에 SSH로 로그인하여 직접 실행하는 방식 방식이다.
멱등성  (idemptent)

연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 멱등성(idempotence) 이라 한다. 즉 playbook을 작성할 때 무엇을 실행하라고 정의하는 ‘절차적’ 방식이 아닌 상태를 정의하는 ‘선언적’ 방식으로 작성을 하기 때문에 playbook을 여러 번 실행하더라도 정의된 상태가 변하지 않는다는 원리이다. 하지만, 모든 작업이 멱등성을 보장하지는 않기 때문에 멱등성 보장을 위해 when 등과 같은 조건절을 이용해야 할 때도 있다는 것을 주의할 필요가 있다. 또한, Ansible이 제공하는 모듈이 아닌 직접 스크립트를 사용할 경우 멱등성이 보장되지 못할 수 있다.

- name: create vpc 
ec2_vpc_net:
name: "{{ vpc_name }}"
cidr_block: "{{ vpc_cidr_block }}"
region: "{{ aws_region }}"
tags:
Name: "{{ vpc_name }}"
tenancy: default
register: result_vpc

<AWS VPC를 만드는 playbook 예제 : playbook을 반복 실행을 하더라도 VPC가 중복으로 생성되지 않는다 >

재사용성

Ansible은 yaml파일 형식의 playbook을 정의하고 이를 실행하기 때문에 코드를 재활용하는데 매우 용이하다. 또한, 하나의 Playbook에 여러 task가 있을 경우 이 task들을 서로 다른 Playbook으로 분리한 후 Main이 되는 Playbook에서 불러와 실행할 수 있기 때문에 모듈을 부품화하여 나중에 필요한 모듈만 재활용하는 것이 가능하다.  이것이 바로 Role이라는 개념이다.

3. Ansible 구성 요소

Ansible 본체 : 서버에 설치되는 Ansible SW를 의미한다.
Playbook :  Ansible의 실행 내용을 정의해 놓은 것을 Playbook이라 하며 Ansible은 이 Playbook을 실행하게 된다. 

Playbook 은 yaml 파일로 만들면 된다.

Inventory :  Ansible의 구성관리 타겟이 되는 서버를 의미하며, 별도의 Inventory 파일로 대상 서버의 정보를 작성해 놓는다. 

여러 대의 서버를 하나의 Inventory에 지정하면  동시에 여러 대의 서버에 작업이 가능하다. 기본 저장 위치는 /etc/ansible/hosts 파일이다.

Module :  Module이란 Ansible에서 지정해 놓은 실행 명령어라고 볼 수 있다. 

Ansible에 내장되어있는 모듈은 수백 여 개에 달하며 클라우드서비스( AWS, Azure, GCP), 하드웨어(cisco, dell, ibm 등), 컨테이너(Kubernetes, docker)와 관련된 다양한 모듈이 존재한다. 또한, ansible에서 제공하지 않는 모듈은 개발자나 운영자가 직접 만들어 사용할 수도 있다. ansible 모듈 정보는 URL(https://docs.ansible.com/ansible/latest/collections/index.html)을 통해 확인할 수 있다.

감사합니다 :)youngki.yoon@bespinglobal.com

Written by 윤 영기 / Youngki Yoon

Soft Engineer

관련

파이썬ansibleInventoryModulePlaybook멱등성AgentLessAWXAnsible Tower재사용성

HOT Trend

Recent Posts

  • 딜로이트도, 맥킨지도, 베스핀글로벌도: AI 에이전트로 일 바꾸는 시대

    2025년 07월 04일 클라우드베스핀글로벌clouddata데이터AI인공지능HelpNow AIbespinglobalAI에이전트helpnow업무자동화딜로이트
  • ⚔️데이터센터에서 시작된 전쟁? 요즘 뜨는 AIDC 개념부터 트렌드까지!

    2025년 06월 27일 클라우드clouddata데이터AI데이터센터클라우드 데이터센터bespinglobalAIDCAI 인프라베스핀글로벌
  • 구글부터 엔비디아까지, 빅테크 기업들의 AI 전략 최신본📖

    2025년 06월 20일 cloud베스핀글로벌클라우드data데이터AI구글마이크로소프트엔비디아AI에이전트google I/ONVIDIA GTC 2025Microsoft build 2025
  • AI를 연결한다고? 업계가 주목하는 ‘MCP’ 알아보기🔍

    2025년 06월 13일 베스핀글로벌클라우드cloudAIMCP
  • [WhaTap] RDS Failover/Reboot 관제 2 – RDS Failover

    2025년 05월 30일 RDSRDS FailoverRebootFailoverbespin global

베스핀글로벌은 모든 기업의 AI 혁신을 실현하기 위해, 세상에서 가장 혁신적이고 자동화된 AI 서비스와 솔루션을 만들어갑니다.
상호 : 베스핀글로벌 주식회사 ㅣ 대표자명 : 김써니, 허양호 ㅣ 사업자등록증번호 : 638-87-00223 ㅣ 통신판매번호 : 2019-서울서초-0347 ㅣ 대표전화 : 1668-1280
사업장주소지 : 서울특별시 서초구 강남대로 327, 13,14,15,16층(서초동,대륭서초타워) ㅣ 이메일 : info@bespinglobal.com ㅣ 개인정보 처리방침 ㅣ 개인정보 처리방침 안내

© 2026 BESPIN GLOBAL, All Rights Reserved.

BESPINGLOBAL
패밀리 사이트
China MEA SEA US

BESPIN Tech Blog
  • Home
  • Tech
    • CSP

      AWS

      GCP

      NCP

      Cloud

      Migration

      LZ, Control Tower

      Backup

      Monitoring

      Container

      Infra

      OS

      Middleware

      Data

      RDB

      Big Data Platform

      Application

      CI/CD

      BESPICK 구독하기 ㅣ 1668-1280

  • Trend
  • IT