Ansible AWX · 4 min read · Jan 25, 2026
Ansible AWX 가이드: 기본 사용법 및 구성

AWX는 Ansible을 위한 사용자 인터페이스, REST API 및 작업 엔진을 제공하는 오픈 소스 웹 애플리케이션입니다. Ansible Tower의 오픈 소스 버전입니다. AWX를 사용하면 Ansible 플레이북, 인벤토리 및 작업을 웹 인터페이스를 사용하여 관리하고 실행할 수 있습니다.
이 튜토리얼에서는 Ansible AWX의 기본 사용법을 보여줍니다. 따라서 Ansible AWX가 이미 설치된 서버가 필요합니다. 자격 증명 설정, 인벤토리, 작업 템플릿 설정 및 실행 등 알아야 할 Ansible AWX의 기본 구성에 대해 다룹니다. 아직 Ansible이 설치되지 않았다면, 이 튜토리얼을 참조하세요: https://www.howtoforge.com/how-to-install-ansible-awx-with-nginx-reverse-proxy-on-ubuntu-1804/.
전제 조건
- 2 또는 3 대의 서버 - 10.5.5.20 ansible-awx
- 10.5.5.21 lemp
- Ansible에 대한 기본 이해
- 루트 권한
우리가 할 일:
- 환경 설정 및 구성
- 자격 증명 설정
- 인벤토리 설정
- 프로젝트 설정
- 작업 템플릿 설정
- 작업 실행
1단계 - 환경 설정 및 구성
이 튜토리얼에서는 Ansible AWX 대시보드를 통해 기본 LEMP 설치를 위한 Ansible 플레이북을 배포하고 실행할 것입니다.
AWX 자체와 대상 머신을 위해 두 대의 서버가 있습니다.
10.5.5.20 ansible-awx
10.5.5.21 lemp이제 ‘hakase’라는 사용자로 플레이북을 배포하고 키 기반 SSH 인증을 사용합니다. 따라서 대상 머신 ‘lemp’에서 사용자 및 키 기반 인증을 이미 설정했는지 확인하십시오.
다음 명령을 사용하여 ‘ ansible-awx ‘ 서버에서 테스트하십시오.
su - hakase
ssh [email protected]비밀번호 없이 로그인했는지 확인하십시오.
이제 ‘hakase’ 사용자는 작업을 실행하기 위해 루트 비밀번호 없이 접근할 수 있어야 합니다.
대상 머신 ‘ lemp ‘에서 아래와 같이 sudo 명령을 실행하십시오.
su - hakase
sudo su비밀번호 없이 루트 권한을 입력했는지 확인하십시오.
이제 Ansible로 관리되는 모든 대상 머신에 python 패키지를 설치해야 합니다.
sudo apt install python -y
2단계 - 자격 증명 설정
먼저 Ansible AWX 자격 증명을 구성해야 합니다. 이는 관리되는 서버에 대해 작업을 시작하고 실행할 때 인증에 사용되며, 인벤토리 소스와 동기화하고 프로젝트를 가져오는 데 사용됩니다.
기본적으로 Ansible AWX는 SSH 인증을 통한 VM 머신, Amazon Web Services, Google Compute Engine, OpenStack, Vault 비밀번호, 소스 제어 등 다양한 자격 증명을 지원합니다.
자격 증명을 설정하려면 왼쪽의 ‘ Credentials ‘ 메뉴를 클릭하고 오른쪽의 ‘+’ 버튼을 클릭하십시오.

이제 자격 증명 ‘ NAME ‘과 ‘ DESCRIPTION ‘을 입력한 후, ‘ CREDENTIAL TYPE ‘을 ‘ Machine ‘으로 지정하십시오.
간단히 말해, ‘Machine’ 자격 증명은 서버 관리를 위해 SSH 인증을 사용할 수 있게 해줍니다. 비밀번호 및 키 기반 인증을 모두 지원합니다.
이 가이드에서는 키 기반 인증을 사용할 것입니다. 따라서 사용자 이름을 입력하고 해당 사용자의 개인 키를 붙여넣으십시오.

그런 다음 ‘ SAVE ‘ 버튼을 클릭하십시오.
결과적으로 새로운 Ansible AWX 자격 증명 유형 ‘Machine’이 생성되었습니다.

3단계 - 인벤토리 설정
인벤토리는 Ansible AWX에 의해 관리되는 호스트 서버 그룹입니다. 인벤토리를 사용하면 여러 호스트 서버로 구성된 그룹을 생성할 수 있습니다. 이를 통해 서로 다른 환경에서 다양한 서버를 더 쉽게 관리할 수 있습니다.
서버를 관리하고 프로비저닝하기 위해 새로운 인벤토리 그룹을 생성한 다음 해당 인벤토리 그룹에 서버 호스트를 추가해야 합니다.
새 인벤토리를 추가하려면 왼쪽의 ‘ Inventories ‘ 메뉴를 클릭한 다음 ‘+’ 버튼을 클릭하고 ‘Inventory’를 선택하십시오.

인벤토리의 ‘ NAME ‘과 ‘ DESCRIPTION ‘을 입력한 후 ‘ SAVE ‘ 버튼을 클릭하십시오.

이제 ‘ HOSTS ‘ 탭을 클릭하고 ‘+’ 버튼을 클릭하여 새 호스트를 추가하십시오.

‘ HOST NAME ‘, ‘ DESCRIPTION ‘, 및 대상 머신 IP 주소에 대한 추가 구성인 ‘ VARIABLES ‘를 입력하십시오. ‘ansible_host: 10.5.5.21’로 설정합니다.

이제 ‘ SAVE ‘ 버튼을 클릭하십시오.
다음으로, ping 명령을 사용하여 호스트 구성을 확인해야 합니다.
‘ HOSTS ‘ 탭으로 돌아가서 호스트 이름 서버를 선택하고 ‘ RUN COMMANDS ‘ 버튼을 클릭하십시오.
이제 ‘ MODULE ‘에서 ‘ ping ‘을 선택하고 ‘ MACHINE CREDENTIAL ‘ 내의 검색 버튼을 클릭하여 자신의 것을 선택한 다음 ‘ LAUNCH ‘ 버튼을 클릭하십시오.

새 페이지로 리디렉션되며 아래는 결과입니다.

새 인벤토리가 생성되었고, 대상 머신 서버가 추가되었습니다.
4단계 - 프로젝트 설정
프로젝트는 AWX에서 Ansible 플레이북으로 표현됩니다. 이는 로컬 프로젝트 디렉토리 또는 Git, Subversion, Mercurial 및 RedHat Insights와 같은 SCM 시스템을 통해 관리할 수 있는 Ansible 플레이북의 모음입니다.
새 프로젝트를 생성하려면 왼쪽의 ‘ Projects ‘ 메뉴를 클릭하고 ‘+’ 버튼을 클릭하십시오.

프로젝트의 ‘ NAME ‘과 ‘ DESCRIPTION ‘을 입력한 후, ‘ SCM TYPE ‘을 ‘ Git ‘으로 선택하고 플레이북 저장소를 붙여넣으십시오.

이제 ‘ SAVE ‘ 버튼을 클릭하면 플레이북을 위한 새로운 프로젝트가 생성됩니다.

추가적으로:
SCM 유형 ‘ Manual ‘로 새 프로젝트를 생성하려면 ‘ /var/lib/awx/projects ‘ 디렉토리 아래에 새 플레이북 디렉토리를 생성할 수 있습니다.
‘/var/lib/awx/projects’ 디렉토리는 AWX 도커 버전을 사용할 때 Ansible 플레이북의 기본 프로젝트 디렉토리입니다. ‘ project_data_dir ‘가 활성화되어 있습니다.
5단계 - 새 작업 템플릿 생성
작업 템플릿은 Ansible 플레이북을 실행하는 정의입니다. 따라서 새 작업 템플릿을 생성하거나 작업 템플릿을 실행하려면 ‘Project’에서 Ansible 플레이북을 추가하고, 인증을 위한 ‘Credentials’ 및 ‘Inventories’에 저장된 대상 머신을 추가해야 합니다.
이 가이드에서는 이미 새로운 프로젝트, 자격 증명 및 인벤토리를 생성했습니다. 따라서 왼쪽의 ‘ Templates ‘ 메뉴를 클릭한 다음 ‘+’ 버튼을 클릭하고 ‘ Job template ‘ 옵션을 선택하십시오.

이제 작업의 ‘ NAME ‘과 ‘ DESCRIPTION ‘을 입력해야 합니다. 그런 다음 ‘ INVENTORY ‘, ‘ CREDENTIAL ‘, 및 ‘ PROJECT ‘를 선택하십시오. 그 후 실행하고 배포할 ‘ PLAYBOOK ‘을 지정하십시오.

결과적으로 새로운 작업 템플릿 Ansible AWX가 생성되었습니다.
6단계 - 작업 템플릿 실행
새 작업 템플릿을 생성한 후, 작업 템플릿을 실행하고 ‘Inventory’의 대상 호스트에 ‘Projects’ 플레이북을 배포할 것입니다.
왼쪽의 ‘ Templates ‘ 메뉴를 클릭하면 사용 가능한 작업 템플릿 목록이 표시됩니다.
작업이 완료되면 작업 템플릿 이름 안에 녹색 표시가 나타납니다.

작업 템플릿 이름 안의 녹색 표시를 클릭하면 해당 작업의 실제 결과가 표시됩니다.

작업이 성공적으로 완료되었으며, 대상 머신에 Ansible AWX를 통해 LEMP 스택이 설치되었습니다.
7단계 - 대상 머신 테스트
대상 머신의 도메인 이름을 테스트합니다. 도메인 이름 구성은 ‘ roles/web/vars/main.yml ‘ 구성에 저장됩니다.

systemctl 명령을 사용하여 Nginx 및 PHP-FPM 서비스를 확인합니다.
systemctl status nginx
systemctl status php7.2-fpm
대상 머신에서 MySQL 데이터베이스를 테스트합니다. MySQL 데이터베이스의 세부 구성은 ‘roles/db/vars/main.yml’ 구성 파일에 저장됩니다.

결과적으로 LEMP 스택이 Ansible AWX를 통해 대상 머신에 설치되었습니다.
참고
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.