IT 자동화 · 5 min read · Oct 27, 2025
Debian 12에 SaltStack IT 자동화 프레임워크 설치하는 방법

Salt 또는 Saltstack은 Python으로 작성된 오픈 소스 IT 자동화 프레임워크입니다. 이를 통해 관리자는 여러 머신에 원격으로 명령을 직접 실행할 수 있습니다.
Salt는 마스터와 미니언 아키텍처로 설계되었습니다. Salt 마스터는 Salt 구성 관리의 중앙 컨트롤러이며, 미니언은 Salt 마스터에 의해 관리되는 서버로, 미니언을 대상 서버라고도 합니다.
이 가이드는 Debian 12 서버에 SaltStack을 설치하는 방법을 보여줍니다. Salt 마스터와 미니언을 설치하는 방법, Salt를 통해 임의의 명령을 실행하는 방법, 그리고 LAMP 스택을 설치하기 위한 첫 번째 Salt 상태를 만드는 방법을 보여줍니다.
전제 조건
시작하기 전에 다음 사항을 확인하십시오:
- 두 개 또는 세 개의 Debian 12 서버 - 이 예제에서는 192.168.5.15의 master 서버와 192.168.5.21의 minion1 서버를 사용할 것입니다.
- 관리자 권한이 있는 비루트 사용자.
/etc/hosts 파일 설정
이 섹션에서는 각 서버가 호스트 이름을 통해 연결할 수 있도록 /etc/hosts 파일을 설정합니다. 이는 IP 주소를 사용하는 것보다 더 쉽습니다.
다음 nano 편집기를 사용하여 /etc/hosts 파일을 엽니다.
sudo nano /etc/hosts파일에 세부 호스트 및 IP 주소를 삽입합니다. IP 주소와 호스트 이름을 귀하의 정보로 변경해야 합니다.
192.168.5.15 master
192.168.5.21 minion1작업이 완료되면 파일을 저장하고 종료합니다.
SaltStack 리포지토리 추가
/etc/hosts 파일을 설정한 후, 모든 Debian 서버에 SaltStack 리포지토리를 추가해야 합니다. SaltStack은 최신 Debian 12를 포함한 대부분의 Linux 배포판에 대한 공식 리포지토리를 제공합니다.
먼저, 아래 명령어를 사용하여 새 디렉토리 /etc/apt/keyrings를 만듭니다.
mkdir /etc/apt/keyrings아래 명령어를 사용하여 SaltStack 리포지토리의 GPG 키를 다운로드합니다.
sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg https://repo.saltproject.io/salt/py3/debian/12/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpgGPG 키가 다운로드되면 아래 명령어를 사용하여 SaltStack 리포지토리를 추가합니다.
echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] https://repo.saltproject.io/salt/py3/debian/12/amd64/latest bookworm main" | sudo tee /etc/apt/sources.list.d/salt.list이제 Debian 패키지 인덱스를 업데이트하고 새로 고칩니다.
sudo apt update아래에서 Debian 서버에 추가된 SaltStack 리포지토리를 확인할 수 있습니다.

UFW 설정
이 예제에서는 Debian 서버에서 UFW(간단한 방화벽)를 설정하고 활성화합니다. 따라서 UFW를 설치하고 SSH 포트를 열고, UFW를 시작하고 활성화합니다.
아래 명령어를 사용하여 Debian 시스템에 UFW를 설치합니다.
sudo apt install ufw -yUFW가 설치되면 아래 명령어를 실행하여 OpenSSH 애플리케이션 프로필을 활성화합니다. 규칙이 추가되었다는 출력이 표시됩니다.
sudo ufw allow OpenSSH이제 아래 명령어를 사용하여 UFW를 활성화합니다. y를 입력하여 확인하고, 시작하고 UFW를 활성화합니다.
sudo ufw enableUFW가 시작되고 활성화되면 ‘방화벽이 활성화되었습니다 …‘라는 출력이 표시됩니다.
Salt 마스터 설치
위의 작업을 완료한 후, SaltStack을 설치할 준비가 되었습니다. master 서버에 Salt 마스터를 설치하고 구성합니다.
master 서버에서 아래 명령어를 실행하여 salt-master 패키지를 설치합니다. 설치를 확인하려면 Y를 입력합니다.
sudo apt install salt-master
설치가 완료되면 아래 nano 편집기 명령어를 사용하여 기본 Salt 마스터 구성 파일 /etc/salt/master를 엽니다.
sudo nano /etc/salt/master기본 interface를 로컬 IP 주소로 변경합니다. 이 예제에서는 마스터 서버 IP 주소가 192.168.5.15입니다.
interface: 192.168.5.15작업이 완료되면 파일을 저장하고 종료합니다.
이제 아래 명령어를 실행하여 salt-master 서비스를 재시작하고 변경 사항을 적용합니다.
sudo systemctl restart salt-master그런 다음 salt-master 서비스가 실행 중인지 확인합니다.
sudo systemctl status salt-master실행 중이라면 active (running)와 같은 출력이 표시됩니다.

다음으로, 아래 명령어를 실행하여 Salt 마스터가 사용할 TCP 포트 4505 및 4506을 엽니다.
sudo ufw allow 4505,4506/tcp마지막으로 아래 명령어를 사용하여 마스터 서버의 포트 목록을 확인합니다. 포트 4505 및 4506에 대한 접근이 허용되었는지 확인합니다.
sudo ufw status
Salt 미니언 설치
이제 Salt 마스터를 구성했으므로 minion1 서버에서 Salt 미니언을 구성합니다. salt-minion을 설치한 후 Salt 마스터 서버에 연결하도록 구성합니다.
아래 명령어를 사용하여 minion1 서버에 salt-minion 패키지를 설치합니다. 설치를 확인하려면 Y를 입력합니다.
sudo apt install salt-minion
설치가 완료되면 아래 nano 편집기 명령어를 사용하여 Salt 미니언 구성 파일 /etc/salt/minion을 엽니다.
sudo nano /etc/salt/minion다음과 같이 master 매개변수에 Salt 마스터 IP 주소를 입력합니다:
master: 192.168.5.15파일을 저장하고 편집기를 종료합니다.
다음으로 아래 명령어를 실행하여 salt-minion 서비스를 재시작하고 변경 사항을 적용합니다.
sudo systemctl restart salt-minion마지막으로 salt-minion 서비스가 실행 중인지 확인합니다. Salt 미니언은 자동으로 Salt 마스터 서버에 등록됩니다.
sudo systemctl status salt-minionsalt-minion 서비스가 다음과 같이 실행 중인지 확인합니다:

Salt 마스터에 Salt 미니언 추가
Salt 미니언을 구성한 후, 미니언 서버의 등록 키를 수락해야 합니다.
먼저, 아래 명령어를 실행하여 master 서버에서 키 목록을 확인합니다.
salt-key --finger-all모든 것이 잘 진행되면 minion1 서버 또는 Salt 미니언 서버의 키를 확인할 수 있습니다.
이제 아래 명령어를 실행하여 minion1 서버의 키를 수락합니다. Y를 입력하여 키를 수락합니다.
salt-key -a minion1다음으로 minion1 서버에서 키 목록을 다시 확인합니다. Accepted Keys 섹션에 minion1 서버의 키가 나열된 것을 볼 수 있습니다.
salt-key --finger-all
이제 아래 명령어를 사용하여 Salt 미니언 서버에 대한 연결을 테스트할 수 있습니다. 호스트 이름으로 대상 서버를 지정하거나 ‘*’ 문자를 사용하여 모든 사용 가능한 Salt 미니언 서버를 대상으로 지정할 수 있습니다.
salt minion1 test.ping
salt * test.pingSalt 미니언에 대한 연결이 성공하면 ‘True‘라는 출력이 표시됩니다.
마지막으로 아래 명령어를 사용하여 Salt 버전을 확인합니다.
salt minion1 test.version이 예제에서는 Salt 미니언 3007.0이 설치되어 있습니다.

SaltStack을 통한 임의 명령 실행
모든 것이 구성되었으므로 마스터 서버에서 minion1 서버로 임의의 명령을 실행하여 SaltStack 설치를 테스트합니다.
아래 명령어를 실행하여 미니언 서버의 리포지토리 패키지 인덱스를 업데이트합니다.
salt '*' pkg.refresh_db이제 아래 명령어를 실행하여 대상 서버의 패키지 업데이트를 확인합니다.
salt '*' pkg.list_upgrades다음으로 아래 명령어를 실행하여 apache2 패키지에 대한 정보를 표시합니다.
salt '*' pkg.show apache2미니언 서버에서 실행 중인 서비스를 확인하려면 아래 명령어를 실행합니다.
salt '*' service.get_running
salt '*' service.execsLAMP 스택 설치를 위한 Salt 상태 생성
이 섹션에서는 minion1 서버에 LAMP 스택(Apache, MariaDB 및 PHP)을 설치하기 위한 첫 번째 SaltState를 생성하는 방법을 배웁니다.
먼저, 아래 명령어를 사용하여 새 디렉토리 /srv/salt/lamp를 만듭니다.
mkdir -p /srv/salt/lamp이제 아래 nano 편집기를 사용하여 새 Salt 상태 init 파일 /srv/salt/lamp/init.sls를 생성합니다.
nano /srv/salt/lamp/init.sls파일에 아래 구성을 추가합니다. 이를 통해 대상 서버에 LAMP 스택(Apache, MariaDB 및 PHP)을 설치합니다.
lamp_stack:
pkg.installed:
- pkgs:
- apache2
- mariadb-server
- php
- libapache2-mod-php
apache2:
service.running:
- enable: True
- reload: True
mariadb:
service.running:
- enable: True
- reload: True파일을 저장하고 종료합니다.
이제 아래 명령어를 실행하여 Salt 미니언에 대한 Salt 상태 구성을 확인합니다. 오류가 없는지 확인하십시오.
sudo salt * state.show_sls lamp
다음으로 아래 명령어를 실행하여 minion1 서버에 Salt 상태 ‘lamp‘를 적용합니다.
sudo salt minion1 state.apply lamp프로세스가 완료되면 다음과 같은 출력이 표시됩니다:

마지막으로 아래 명령어를 실행하여 minion1 서버에서 Apache 및 MariaDB 서비스가 실행 중인지 확인합니다.
salt '*' service.get_runningapache2와 mariadb 서비스가 모두 실행 중인지 확인합니다.

결론
축하합니다! Debian 12 서버에 SaltStack(Salt 마스터 및 미니언) 설치를 완료했습니다. 또한 미니언 서버에 대한 임의의 명령을 실행하는 방법과 LAMP 스택(Apache2, MariaDB 및 PHP)을 설치하기 위한 첫 번째 Salt 상태를 생성하는 방법을 배웠습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.