# 5. 자동화/IaC # Ansible 기술정보 # 0. 인프라 자동화를 위한 여행의 시작 it인프라 자동화를 위한 여정의 시작. ##### 시작은 이러했다. 내가 근무하던 한 회사는 고객사에 회사 솔루션을 구축 / 운영 하는 회사였는데, 일반적인 SI/SM 조직과는 다르게 고객사에서 제공해주는 부분은 물리 서버를 설치하기 위한 Rack, 전원, 그리고 업링크 구성을 위한 네트워크와 스위치만 제공해주고, 서버/OS/S/W를 모두 구성해야 하는... 그렇다. turnkey 방식으로 계약된 솔루션이였다. 배포만 전담으로 하고 있는 딜리버리 파트가 존재했는데 파트인원은 총 3명, 실무는 주로 외주인력을 사용했는데 총 6명의 인원이 각 고객사 전산센터에 상주근무를 하고 있었다. 대충 계산해보니 1명당 약 300대의 서버를 배포해야 하는 업무인데, 문제는 이 배포업무가 전부 수동으로 진행하고 있었다는 점이다. 300대의 서버. 많은 수량이 아닐수도 있지만, 작업절차 자체가 너무 복잡했다.(기본 Setup을 위해서는 약 40번의 수동배포 작업이 존재) 달인이 될수도 있지만, 달인이 되기까지 많은 시행착오를 거치게 될 것이고, 시행착오의 과정에서는 실수가 포함될 수 밖에 없는 구조였다. 현실이 이렇다 보니 외주 근무자는 아침 출근하자마자 퇴근전까지 커맨드만 죽으라고 치다가 퇴근해야하고, 시간내에 완료가 되지 않으면 밤 늦게까지 배포를 하다가 퇴근하는 일도 다반사였다. 늦게까지 일하면서 고생이란 고생은 다 하는 외주근무자들이 피드백은 배포실수로 인한 꾸지람밖에 없었다. 이렇게 살 수는 없었다. 저녁이 있는 삶이라 하지 않았던가? > 자동화... 자동화가 필요했다.
[](http://igoni.kr/uploads/images/gallery/2025-06/6zqimage.png) |
perplexity에서 생성한 AI이미지 |
[](http://igoni.kr/uploads/images/gallery/2025-06/1DXimage.png) |
perplexity 에서 생성한 AI이미지 |
[](http://igoni.kr/uploads/images/gallery/2025-06/3JVimage.png) |
perplexity에서 생성한 AI이미지 |
컴포넌트명 | 비 용 | OSS Project |
Ansible Core | Free | Ansible [https://github.com/ansible/ansible](https://web.archive.org/web/20210418122625/https://github.com/ansible/ansible) |
Ansible Tower | Commercial | AWX [https://github.com/ansible/awx](https://web.archive.org/web/20210418122625/https://github.com/ansible/awx) |
**구성정보** | **용 도** |
inventory | 배포 대상 정보가 기록된 정보 |
playbook – role – task – template – vars | 배포시 사용하는 배포코드 – 여러가지 배포업무가 수행될때 나눌 수 있는 리스트 – 배포 업무 수행 – 설정파일같은 템플릿화된 파일을 배포시 사용 – 배포코드 작성시 등록한 변수리스트 |
**Target OS** | **접근방식 / 기본포트** | **추가 설명** |
Windows | WinRM / tcp/5986 | Windows장비가 winrm 접근할 수 있게 설정되어 있어야 함 Windows7 이상부터 사용가능 |
Linux / Switch | ssh / tcp/22 | Telnet은 지원하지 않음 |
[](http://igoni.kr/uploads/images/gallery/2025-06/3R2image.png) |
perplexity에서 생성한 AI이미지 |
[](http://igoni.kr/uploads/images/gallery/2025-06/wiTimage.png) |
perplexity에서 생성한 AI이미지 |
[](http://igoni.kr/uploads/images/gallery/2025-06/wLCimage.png) |
perplexity에서 생성한 AI이미지 |
[](http://igoni.kr/uploads/images/gallery/2025-06/hZ8image.png) |
perplexity에서 생성한 AI이미지 |
[](http://igoni.kr/uploads/images/gallery/2025-06/L0Mimage.png) |
perplexity에서 생성한 AI이미지 |
[](http://igoni.kr/uploads/images/gallery/2025-06/02Dimage.png) |
perplexity에서 생성한 AI이미지 |
[](http://igoni.kr/uploads/images/gallery/2025-06/2wVimage.png) |
perplexity에서 생성한 AI이미지 |
**항목** | **설 명** |
활성화 | 체크+파란색 아이콘 : 활성화 체크X + 회색 아이콘 : 비활성화 |
NAME | 스케쥴 이름 |
TYPE | Template 유형 |
NEXT RUN | 다음 실행 시간 (빈칸일 경우 스케쥴링 실행되지 않음) |
ACTION | [](http://igoni.kr/uploads/images/gallery/2022-09/Essimage.png) : 스케쥴 정보 수정 [](http://igoni.kr/uploads/images/gallery/2022-09/HrQimage.png): 스케쥴 정보 삭제 |
**항 목** | **값 설명** | **비 고** |
NAME | 조직이름 | 필수 |
DESCRIPTION | 조직에 대한 설명 | 옵션 |
INSTANCE GROUPS | 인스턴스 그룹 | 옵션 |
**항 목** | **설 명** |
Admin | 전체 권한 부여 |
Execute | 프로젝트 실행만 가능 |
Project Admin | 프로젝트 생성 / 수정 / 읽기 가능 |
Inventory Admin | 인벤토리 생성 / 수정 / 읽기 가능 |
Credential Admin | 자격증명 생성 / 수정 / 읽기 가능 |
Workflow Admin | 워크 플로우 생성 |
Notification Admin | 알림 할당 |
Auditor | 읽기 전용 권한 |
Member | 템플릭을 제외한 모든 기능 읽기 가능 |
Read | 읽기 전용 권한 |
**항 목** | **값 설명** | **비 고** |
FIRST NAME | 사용자 이름 정보 | 옵션 |
LAST NAME | 사용자 이름 정보 | 옵션 |
ORGANIZATION | 계정 소속 조직 | 필수 |
해당 계정 이메일주소 | 필수 | |
USERNAME | 계정명 | 필수 |
PASSWORD | 계정 패스워드 | 필수 |
CONFIRM PASSWORD | 계정 패스워드 확인 | 필수 |
USER TYPE | 계정 권한 | 옵션 |
**권한명** | **설 명** |
Normal User | 사용이 제한된 권한, 권한 정책에 따라 읽기/쓰기 가능 |
System Auditor | 모든 속성에 대해 읽기 권한 |
System Administrator | 모든 속성에 대해 읽기/쓰기 권한 (= superuser) |
**항 목** | **값 설명** | **비 고** |
NAME | 팀 이름 | 필수 |
DESCRIPTION | 팀 설명 | 옵션 |
ORGANIZAION | 소속된 조직 | 필수 |
**항 목** | **설 명** |
Admin | 선택한 템플릿의 전체 권한 |
Execute | 선택한 템플릿의 실행 / 점검권한 |
Read | 선택한 템플릿의 읽기 권한 |
**항 목** | **설 명** |
Admin | 선택한 템플릿의 전체 권한 |
Execute | 선택한 템플릿의 실행 / 점검 권한 |
Read | 선택한 템플릿의 읽기 권한 |
Approve | 작업승인여부 관리 |
**항 목** | **설 명** |
Admin | 선택한 프로젝트의 전체 권한 |
Execute | 선택한 프로젝트의 설정 / 점검권한 |
Read | 선택한 프로젝트의 읽기 권한 |
**항 목** | **설 명** |
Admin | 선택한 인벤토리의 전체권한 |
Update | 인벤토리 업데이트 권한 |
Ad Hoc | 임시명령 (ping, win\_ping 등) 실행 가능 권한 |
Use | 인벤토리 사용 권한 |
Read | 인벤토리 읽기 권한 |
**항 목** | **설 명** |
Execute | 실행 / 점검 권한 |
Project Admin | 프로젝트 생성 / 수정 / 읽기 가능 |
Inventory Admin | 인벤토리 생성 / 수정 / 읽기 가능 |
Credential Admin | 자격증명 생성 / 수정 / 읽기 가능 |
Workflow Admin | 워크 플로우 생성 |
Notification Admin | 알림 할당 |
Job Template Admin | 템플릿 관리 권한 |
Auditor | 읽기 전용 권한 |
Read | 읽기 전용 권한 |
**항 목** | **설 명** | **비 고** |
NAME | 계정이름 | 필수 |
DESCRIPTION | 계정설명 | 옵션 |
ORGANIZATION | 소속 조직 | 옵션 |
CREDENTIAL TYPE (Machine ) | winrm / ssh 등 장비로그인시 사용 | 필수 |
USERNAME | 실제 로그인하는 계정명 | 필수 |
비밀번호 | 로그인시 사용하는 패스워드 | 필수 |
PRIVILEGE ESCALATION METHOD | 상위 계정(root)을 권한 상승 방식 | 옵션 |
PRIVILEGE ESCALATION USERNAME | 권한상승시 필요한 계정 | 옵션 |
PRIVILEGE ESCALATION PASSWORD | 권한 상승하기 위한 패스워드 입력 | 옵션 |
**항 목** | **설 명** | **비 고** |
NAME | 계정이름 | 필수 |
DESCRIPTION | 계정설명 | 옵션 |
ORGANIZATION | 소속 조직 | 옵션 |
CREDENTIAL TYPE (Machine ) | Git / subversion 로그인시 사용 | 필수 |
USERNAME | 실제 로그인하는 계정명 | 필수 |
**항 목** | **설 명** | **비 고** |
NAME | 프로젝트 이름 | 필수 |
DESCRIPTION | 프로젝트 설명 | 옵션 |
ORGANIZATION | 프로젝트 조직 | 필수 |
SCM TYPE | - Manual : 배포서버의 파일형태로 관리 (awx\_task 컨테이너 /var/lib/awx/project에 playbook이 저장되어 있어야 함) - git : git을 통해 관리 - subversion : subversion 을 통해 관리 | 필수 배포시스템은 git을 통해 playbook 관리 |
SCM URL | git / subversion URL | 필수 |
SCM BRANCH/TAG/COMMIT | 특정 브랜치/태그를 이용해야 하는 경우 입력 | 옵션 (공란인 경우 master / head) |
GIT REFSPEC URL | git기반에서 원격 저장소 다운로드할 경로 참조시 입력 | 옵션 (공란인경우 사용하지 않음) |
SCM CREDENTIAL | git / subversion 접근을 위한 계정정보 | 필수 (인증정보에서 생성된 계정선택) |
SCM UPDATE OPTIONS | - CLEAN : 업데이트하기 전에 로컬 데이터 삭제 - DELETE ON UPDATE : 업데이트를 수행하기 전에 로컬저장소 전체 삭제 - UPDATE REVISION ON LAUNCH : 작업시작전에 업데이트 수행 - ALLOW BRANCH OVERRIDE : branch 변경이 필요할때 사용 | 선택 선택 선택 선택안함 |
CACHE TIMEOUT (SECONDS) | 프로젝트를 최신상태로 인지하는 시간(초단위), 타임마아웃을 초과한 경우 프로젝트 소스를 다시 업데이트 함 | 옵션 (0인 경우 사용안함) |
**항 목** | **설 명** | **비 고** |
NAME | 인벤토리 이름 | 필수 |
DESCRIPTION | 인벤토리 설명 | 옵션 |
ORGANIZATION | 소속 조직 | 필수 |
INSIGHTS CREDENTIAL | redhat Insights 계정선택 | 옵션 (redhat Insightst사용시 선택) |
Instance Group | 인벤토리의 인스턴스 그룹 | 옵션 (사용하지 않음) |
**항 목** | **설 명** |
Admin | 모든 권한 부여 |
Update | SCM업데이트시 프로젝트 업데이트 가능 |
Ad Hoc | 임시 명령 사용가능 |
Use | 템플릿에서 해당 인벤토리 접근 가능 |
Read | 읽기전용 |
**항 목** | **설 명** | **비 고** |
HOSTNAME | 타켓호스트 IP입력(호스트네임 입력 무방) | 필수 (호스트네임 입력시 ip와 매핑할 수 있는 정보 필요) |
DESCRIPTION | 타켓호스트 설명 | 옵션 |
VARIABLES | ssh포트, 접속 방법 등 해당 호스트의 추가 설정값 입력 | 옵션 (기본은 ssh, tcp/22로 접근수행) |
**항 목** | **설 명** | **비 고** |
NAME | 그룹이름 | 필수 |
DESCRIPTION | 그룹설명 | 옵션 |
VALIABLES | 이 그룹에 소속된 모든 호스트에 적용할 값 입력(yaml / json 지원 가능) | 옵션 |
항 목 | 설 명 | 비 고 |
---|---|---|
HOSTNAME | 타켓호스트 IP입력(호스트네임 입력 무방) | 필수 (호스트네임 입력시 ip와 매핑할 수 있는 정보 필요) |
DESCRIPTION | 타켓호스트 설명 | 옵션 |
VARIABLES | ssh포트, 접속 방법 등 해당 호스트의 추가 설정값 입력 | 옵션 (기본은 ssh, tcp/22로 접근수행) |
**항 목** | **설 명** | **비 고** |
NAME | 템플릿 이름 | 필수 |
DESCRIPTION | 템플릿 설명 | 옵션 |
JOB TYPE | - run : 실제 배포 수행 - check: 구문 오류테스트 | 필수 (run 선택) |
INVENTORY | 템플릿에서 적용할 인벤토리 설정 | 필수 |
PROJECT | 템플릿에서 적용할 프로젝트 설정 | 필수 |
PLAYBOOK | 템플릿에서 수행할 플레이북 선택 | 필수 |
CREDENTIALS | 템플릿에서 적용할 인증값 설정 | 옵션 |
FORKS | 플레이북 실행시 동시 프로세스 | 옵션 (1 입력) |
LIMIT | 호스트 목록 제한시 입력 | 옵션 |
VERBOSITY | 로그 출력 레벨 (숫자가 높을수록 상세로그) | 0 선택 \* 디버깅 로그시 브라우저 탭이 잠기면서 작업완료 지연 보고 이슈 있음 |
JOB TAGS | 배포 작업별 설정되는 태그 입력 | 템플릿별 고유의 태그 입력 필요 |
SKIP TAGS | 작업을 수행하지 않을 태그 입력 | 옵션 |
LABELS | 템플릿을 설명하는 레이블 입력 | 옵션 |
INSTANCE GROUPS | 템플릿을 실행할 인스턴스 그룹 선택 | 옵션 |
JOB SLICING | 작업 슬라이스(다중 호스트 작업시 작업수를 분산) 설정 | 옵션 |
TIMEOUT | 배포작업 최대 소요시간 | 옵션 2400 입력 |
SHOW CHANGES | 작업시 변경되는 내용들 확인 | 활성화 |
OPTIONS | - ENABLE PRIVILEGE ESCALATION : 권한 상승이필요한 경우 선택 - ENABLE PROVISIONING CALLBACKS : awx api를 통해 작업 호출 허용시 선택 - ENABLE WEBHOOK : 웹 후크 사용시 선택 - ENABLE CONCURRENT JOBS : 템플릿 자체의 중복실행 허용시 선택 - ENABLE FACT CACHE : 배포 작업시 팩트 캐쉬를 사용할 경우 선택 | 선택 미선택 미선택 선택 미선택 |
EXTRA VARIABLES | 추가로 설정해야할 변수 입력 | 상기 이미지 내용 추가 |
**항 목** | **설 명** | **비 고** |
NAME | 템플릿 이름 | 필수 |
DESCRIPTION | 템플릿 설명 | 옵션 |
ORGANIZATION | 템플릿 조직 | 옵션 |
INVENTORY | 템플릿에서 적용할 인벤토리 설정 | 필수 |
LIMIT | 호스트 목록 제한시 입력 | 옵션 |
SCM BRANCH | 특정 branch / tag에서 가지고 와와야할 경우 입력 | 옵션 |
LABELS | 템플릿을 설명하는 레이블 입력 | 옵션 |
OPTIONS | - ENABLE CONCURRENT JOBS : 템플릿 자체의 중복실행 허용시 선택 - ENABLE WEBHOOK : 웹 후크 사용시 선택 | 선택 미선택 |
**권 한** | **설 명** |
Admin | 전체 권한 |
Execute | 실행/수정 권한 |
Read | 읽기모드 권한 (실행 불가) |
**항목** | **설 명** | **비 고** |
START | 템플릿 실행시 알람 전송 | [](http://igoni.kr/uploads/images/gallery/2022-09/PUAimage.png) : 활성화 [](http://igoni.kr/uploads/images/gallery/2022-09/mKyimage.png) : 비활성화 |
SUCCESS | 템플릿이 정상 종료된 경우 전송 | [](http://igoni.kr/uploads/images/gallery/2022-09/PUAimage.png) : 활성화 [](http://igoni.kr/uploads/images/gallery/2022-09/mKyimage.png) : 비활성화 |
FAILURE | 템플릿이 실패한 경우 전송 | [](http://igoni.kr/uploads/images/gallery/2022-09/PUAimage.png) : 활성화 [](http://igoni.kr/uploads/images/gallery/2022-09/mKyimage.png) : 비활성화 |
**항 목** | **설 명** | **비 고** |
NAME | 스케쥴 이름 | 필수 |
START DATE | 시작 날짜 | 필수 |
START TIME | 시작 시간 | 필수 |
LOCAL TIME ZONE | 지역 시간대0 | OS에 설정된 시간대역에 맞추어 자동 표시, 수정 가능 |
REPEAT FREQUENCY | 반복 빈도 - none : 1회성 - Minute : 분단위 반복 - Hour : 시간단위 반복 - Day : 일 단위 반복 - Week : 주 단위 반복 - Month : 월 단위 반복 - Year : 년 단위 반복 | 필수 |
Every | 반복 주기 설정 | 반복설정시 화면에 노출 (필수) |
END | 종료조건 - after : OCCURRENCES 횟수까지 실행 후 종료 - On Date : 특정날짜/시간 까지 실행 후 종료 | 필수 |
**항 목** | **설 명** | **비 고** |
PROMPT | 사용자에 확인할 질문사항 | 필수 |
DESCRIPTION | prompt에 대한 추가 설명 | 옵션 |
ANSWER VARIABLE NAME | ansible에 전달할 변수 이름 | 필수 |
ANSWER TYPE | 답변 유형 선택 - text - textarea - Password - Multiple Choice (single Select) - Multiple Choice (Multiple Select) - integer - Float | 일반 문자열 (1줄) 여러줄의 문자열 패스워드 형태 입력시 선택 1개만 선택할 수 있는 리스트 목록 여러개 선택할 수 있는 리스트 목록 숫자값 10진수 |
MININUM LENGTH | 최소 문자열 | text, textarea, password, integer, float 선택시 보임 |
MAXIMUM LENGTH | 최대 문자열 | text, textarea, password, integer, float 선택시 보임 |
DEFAULT ANSWER | 기본 항목 | prompt에 대한 기본값 |
REQUIRED | 필수여부 | 선택시 배포작업시 필수항목으로 분류됨 |
**항 목** | **설 명** | **비 고** |
Template | 생성된 템플릿 추가시 | |
Project Sync | 프로젝트 동기화 시 | |
Inventory Sync | 인벤토리 동기화 시 | |
Approval | 작업건 승인여부 확인시 | webui noti항목에 출력됨 |
TIMEOUT | 승인여부 타임아웃 (타임아웃 초과시 거부됨) | 옵션, 0인 경우 무제한 |
RUN | - Always : 성공 / 실패에 상관없이 계속 실행 - On Success : 앞 작업이 정상적으로 수행된 경우 실행 - On Failure : 앞 작업이 실패된 경우 실행 | 필수, 최초 Node는 Alway만 표기됨 |
CONVERGENCE | - Any : 앞 작업이 하나라도 완료되면 수행 - All : 앞 작업이 모두 완료되면 수행 | 필수, Any가 기본 |
**항 목** | **값 설명** | **비 고** |
NAME | 자격증명 이름 | 필수 |
DESCRIPTION | 자격증명 설명 | 옵션 |
INPUT CONFIGURATION | 인증시 사용할 필드 구성 | 옵션 |
INJECTION CONFIGURATION | 인증시 전달할 환경변수 구성 | 옵션 |
**항 목** | **값 설명** | **비 고** |
NAME | 알람정책 이름 | 필수 |
DESCRIPTION | 정책 설명 | 옵션 |
ORGANIZAION | 소속 조직 | 필수 |
TYPE | 설정가능한 알람리스트 - Email - Grafana - HipChat - IRC - Mattermost - PagerDuty - Rocket.Chat - Slack - Twilio - Webhook | 필수 |
CUSTOMIZE MESSAGES | 메세지 발송시 작성되는 내용 변경시 선택 후 수정 | 옵션 |
**항 목** | **설 명** | **비 고** |
USERNAME | 발송계정 이름 | 옵션 |
PASSWORD | 발송계정 패스워드 | 옵션 |
HOST | 발송서버 | 필수 |
RECIPIENT LIST | 수신자 | 필수 |
SENDER EMAIL | 발송메일주소 | 필수 |
PORT | 메일발송 포트 | 필수 |
TIMEOUT | 발송최대 시간(초기준) | 필수, 최대 120초까지 설정 가능 |
EMAIL OPTIONS | USE TLS / USE SSL | 옵션TLS 나 SSL 사용시 선택 |
**항 목** | **설 명** | **비 고** |
GRAFANA URL | 그라파나 api서비스 url | 필수 |
GRAFANA API KEY | 그라파나에서 할당받은 api key | 필수 |
ID OF THE DASHBOARD | 그라파나 계정에 대해 api키 만들때 고유한 ID로 대쉬보드 설정 | 옵션 |
ID OF THE PANEL | 그라파나에서 패널/그래프를 추가한 경우 해당 ID | 옵션 |
TAGS FOR THE ANNOTATION | 이벤트 유형을 기재 | 옵션 |
DISABLE SSL VERIFICATION | 그라파나 접속시 SSL 인증서 확인절차 제외 여부 | 옵션 |
**항 목** | **값 설명** | **비 고** |
NAME | 인스턴스명 | 필수 |
POLICY INSTANCE MINIMUM | 그룹내에 유지할 최소 인스턴스 수 | 기본값 : 0 |
POLICY INSTANCE PERCENTAGE | 신규 인스턴스가 소속될 있는 최대 가용가능한 인스턴스 수 (백분율) | 기본값 : 0 (무제한) |
**항 목** | **값 설명** | **비 고** |
ANSIBLE MODULES ALLOWED FOR AD HOC JOBS | 임시작업으로 사용할 수 있는 명령어 종류 | |
JOB EXECUTION PATH | 작업수행을 위한 임시 경로 | /tmp |
MAXIMUM SCHEDULED JOBS | 최대 예약작업 갯수 | 10 |
PATHS TO EXPOSE TO ISOLATED JOBS | 격리된 작업시 허용되는 경로 (전체 경로 정보 입력필요 | 격리 작업 미사용 |
PATHS TO HIDE FROM ISOLATED JOBS | 격리된 작업시 숨길 경로 (전체 경로 정보 입력필요 | 격리 작업 미사용 |
ENABLE JOB ISOLATION | 작업 격리기능 사용여부 | 미설정 |
DEFAULT JOB TIMEOUT | 최대 작업 시간 (초단위) | 0(무제한) |
DEFAULT INVENTORY UPDATE TIMEOUT | 최대 인벤토리 업데이트 시간 (초단위) | 0(무제한) |
RUN PROJECT UPDATES WITH HIGHER VERBOSITY | 프로젝트 업데이트 실행시 자세한 정보 출력 | 미설정 |
PER-HOST ANSIBLE FACT CACHE TIMEOUT | 호스트 단위로 팩트캐쉬 시간 (초단위) | 0(무제한) |
PRIMARY GALAXY SERVER URL | 기본 ANSIBLE-GALAXY URL 변경시 사용 | galaxy.ansible.com |
PRIMARY GALAXY SERVER NAME | private galaxy 접근시 사용하는 계정 | PRIVATE GALAXY 미사용 |
PRIMARY GALAXY SERVER PASSWORD | private galaxy 접근시 사용하는 계정 패스워드 | PRIVATE GALAXY 미사용 |
PRIMARY GALAXY SERVER TOKEN | private galaxy 접근시 사용하는 토큰정보 | PRIVATE GALAXY 미사용 |
PRIMARY GALAXY AUTHENTICATION URL | private galaxy 접근시 사용하는 인증경로 | PRIVATE GALAXY 미사용 |
ALLOW ACCESS TO PUBLIC GALAXY | 공개된 Galaxy사용여부 | 활성화 |
ISOLATED HOST KEY CHECKING | 격리된 호스트 키 확인여부 | 비활성화 격리 작업 미사용 |
ISOLATED STATUS CHECK INTERVAL | 격리정보 확인 (초단위) | 30 |
ISOLATED LAUNCH TIMEOUT | 최대 격리된 작업 실행 시간 (초단위) | 600 격리 작업 미사용 |
ISOLATED CONNECTION TIMEOUT | 최대 격리호스트 연결시간 (초단위) | 10 격리 작업 미사용 |
ENABLE DETAILED RESOURCE PROFILING ON ALL PLAYBOOK RUNS | 플래이북 실행시 리소스 프로파일링 설정여부 | 비활성화 |
EXTRA ENVIRONMENTVARIABLES | AWX-UI에서 사용할 추가 환경 변수 | |
ANSIBLE CALLBACK PLUGINS | ansible에서 사용할 콜백용 플러그인 |
**항 목** | **값 설명** | **비 고** |
BASE URL OF THE TOWER HOST | AWX-UI URL정보 | |
ALL USER VISIBLE TO ORGANIZATION ADMINS | 관리자가 모든 사용자 확인 가능 여부 | 활성화 |
ORGANIZATION ADMINS CAN MANAGE USERS AND TEAMS | 관리자가 사용자 및 팀 관리 허용 여부 | 활성화 |
IDLE TIME FORCE LOG OUT | 유휴세션 강제 로그아웃 (초단위) | 1800 |
MAXIMUM NUMBER OF SIMULTANEOUS LOGGED IN SESSIONS | 최대 동시 로그인 세션수 | -1 (비활성화) |
ENABLE HTTP BASIC AUTH | HTTP 인증기능 허용여부 | 활성화 |
ALLOW EXTERNAL USERS TO CREATE OAUTH2 TOKENS | 외부사용자가 OATUTH2 토큰 생성 허용여부 | 비활성화 |
LOGIN REDIRECT OVERRIDE URL | 미로그인 사용자가 로그인 하도록 리다이렉션 URL | 공란인 경우 기본 로그인 페이지 |
ACCESS TOKEN EXPIRATION | 엑세스 토큰 유효기간 (초단위) | 31536000000 |
REFRESH TOKEN EXPIRATION | 토큰 만료시 지속시간 (초단위) | 2628000 |
AUTHORIZATION CODE EXPIRATION | 로그인시 생서되는 인증코드 유효기간 (초단위) | 600 |
REMOTE HOST HEADER | 원격 호스트 IP / 호스트이름 추가 | 기본값 : REMOTE\_ADDR, REMOTE\_HOST 리버스 프록시ip가 있는 경우 HTTP\_X\_FORWARDED\_FOR 추가 |
CUSTOM VIRTUAL ENVIRONMENT PATHS | 가상의 환경값 설정 경로 | 비활성화 |
GATHER DATA FOR AUTOMATION ANAYTICS | AWX-UI에서 수집된 데이터를 Redhat으로 전달 | 비활성화 |
RED HAT CUSTOMER USERNAME | redhat 고객 ID | Redhat과 별도 계약시 사용가능 |
RED HAT CUSTOMER PASSWORD | redhat 고객 password | Redhat과 별도 계약시 사용가능 |
AUTOMATION ANALYTICS UPLOAD URL | 자동화 분석을 위한 업로드 URL | 자동화 분석 미사용 |
AUTOMATION ANALYTICS GATHER INTERVAL | 자동화 분석을 위한 수집간격 | 자동화 분석 미사용 |
**항 목** | **설 명** | **비 고** |
USER ANALYTICS TRACKING STATE | 사용자 분석 추적기능 활성화 | 미사용 |
CUSTOM LOGO | 사용자 로그인시 노출될 이미지 | 필요시 이미지 추가 |
CUSTOM LOGIN INFO | 로그인시 추가 텍스트 입력 | 필요시 입력 |
[](http://igoni.kr/uploads/images/gallery/2025-06/7G6image.png) |
perplexity에서 생성한 AI이미지 |
[](http://igoni.kr/uploads/images/gallery/2025-06/LhTimage.png) |
perplexity에서 생성한 AI이미지 |
[](http://igoni.kr/uploads/images/gallery/2025-06/inRimage.png) |
perplexity에서 생성한 AI이미지 |
**Ansible** | **Saltstack** | |
라이센스 | GPL | Apache License 2.0 |
배포방식 | Push | Push |
배포언어 | yaml | yaml |
접속방식 | Linux - ssh, Windows - winrm | agent(minion), salt-ssh |
WebUI | AWX / Ansible Tower | △ |
Site | [http://ansible.com](http://ansible.com) | [http://saltstackproject.io](https://saltproject.io/) |
**최소사양** | **권장사양** | |
---|---|---|
CPU | 2Core | 4 Core |
Memory | 4G | 8G |
Disk | 40GB | 160GB |
**Software** | **Version** |
---|---|
Docker | 17.06.0 이상 |
Docker Compose | 1.18.0 이상 |
**파라미터 정보** | **용 도** |
---|---|
hostname | 설치하는 서버 호스트네임입력 |
Database-password | Postgres root 패스워드 |
Database-max\_idle\_conns | 최대 유휴연결 수(0은 무제한), 기본값은 50 |
Database-max\_open\_conns | 최대 연결 수(0은 무제한), 기본값은 100 |
data\_volume | Harbor에 저장할 데이터 경로(호스트경로), 기본값은 /data |
Clair-updaters\_interval | Clair 업데이트 간격(0은 비활성화), 기본값은 12시간 |
max\_job\_workers | 이미지 복제작업 최대 수, 기본값은 10 |
Notification-webhook\_job\_max\_retry | Webhook 최대 재시도 횟수, 기본값은 10 |
Chart-absolute\_url | Enable : 차트에서 사용할 절대URL경로 disabled : 차트에서 사용할 상대URL경로 |
log\_level | Debug, info, warning, error, fatal 중 선택, 기본값은 info |
log\_rotate\_count | 로그파일 최대 생성갯수, 기본값은 50 |
log\_rotate\_size | 로그파일당 최대 사이즈, 기본값은 200M |
log\_external\_endpoint | syslog연동시 사용 |
log\_location | 로그를 저장할 디렉토리, 기본값은 /var/log/harbor |
Proxy-http\_proxy | http프록시 사용시 설정 |
Proxy-https\_proxy | https프록시 사용시 설정 |
Proxy-no\_proxy | 프록시 미사용시 설정 |
**옵션정보** | **설 명** |
---|---|
--with-notary | https를 사용할 경우 설정 |
--with-clair | 보안취약점에 대한 정적분석 기능 활성화 |
--with-chartmuseum | 차트기능 활성화 |
**Role 이름** | **권 한** |
---|---|
Project Admin | push / pull / delete |
Developer | push / pull |
Guest | Pull |