IT自動化 · 1 min read · Oct 27, 2025
Debian 12にSaltStack IT自動化フレームワークをインストールする方法

SaltまたはSaltstackは、Pythonで書かれたオープンソースのIT自動化フレームワークです。管理者は、複数のマシンに対してリモートでコマンドを直接実行できます。
Saltは、マスターとミニオンのアーキテクチャで設計されています。SaltマスターはSalt構成管理の中央コントローラーであり、ミニオンはSaltマスターによって管理されるサーバー、またはターゲットサーバーとして名付けられたミニオンです。
このガイドでは、Debian 12サーバーにSaltStackをインストールする方法を示します。Saltマスターとミニオンのインストール方法、Saltを介して任意のコマンドを実行する方法、そしてLAMPスタックをインストールするための最初のSaltステートを作成する方法を示します。
前提条件
始める前に、以下のものを用意してください:
- 2台または3台の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(Uncomplicated Firewall)を設定して有効にします。したがって、UFWをインストールし、SSHポートを開き、UFWを開始して有効にします。
以下のコマンドを使用してDebianシステムにUFWをインストールします。
sudo apt install ufw -yUFWがインストールされたら、以下のコマンドを実行してOpenSSHアプリケーションプロファイルを有効にします。出力に「Rules added」が表示されます。
sudo ufw allow OpenSSH次に、以下のコマンドを使用してUFWを有効にします。yを入力して確認し、UFWを開始して有効にします。
sudo ufw enableUFWが開始されて有効になると、「Firewall is active …」という出力が得られます。
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ステートを作成する方法を学びました。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。