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.15masterサーバーと192.168.5.21minion1サーバーを使用します。
  • 管理者権限を持つ非ルートユーザー。

/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.gpg

GPGキーのダウンロードが完了したら、以下のコマンドを使用して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リポジトリを示します。

add repo

UFWの設定

この例では、Debianサーバー全体でUFW(Uncomplicated Firewall)を設定して有効にします。したがって、UFWをインストールし、SSHポートを開き、UFWを開始して有効にします。

以下のコマンドを使用してDebianシステムにUFWをインストールします。

sudo apt install ufw -y

UFWがインストールされたら、以下のコマンドを実行してOpenSSHアプリケーションプロファイルを有効にします。出力に「Rules added」が表示されます。

sudo ufw allow OpenSSH

次に、以下のコマンドを使用してUFWを有効にします。yを入力して確認し、UFWを開始して有効にします。

sudo ufw enable

UFWが開始されて有効になると、「Firewall is active …」という出力が得られます。

Saltマスターのインストール

上記のタスクを完了したら、SaltStackをインストールする準備が整いました。masterサーバーにSaltマスターをインストールして構成します。

masterサーバーで、以下のコマンドを実行してsalt-masterパッケージをインストールします。インストールを確認するためにYを入力します。

sudo apt install salt-master

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)のような出力が表示されます。

verify salt master

次に、以下のコマンドを実行してSaltマスターが使用するTCPポート4505と4506を開きます。

sudo ufw allow 4505,4506/tcp

最後に、以下のコマンドを使用してマスターサーバーのポートリストを確認します。ポート4505と4506へのアクセスが許可されていることを確認してください。

sudo ufw status

setup ufw

Saltミニオンのインストール

Saltマスターを構成したので、minion1サーバーでSaltミニオンを構成します。salt-minionをインストールし、Saltマスターサーバーに接続するように構成します。

以下のコマンドを使用してminion1サーバーにsalt-minionパッケージをインストールします。インストールを確認するためにYを入力します。

sudo apt install salt-minion

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-minion

salt-minionサービスが以下のように実行中であることを確認してください。

verify salt 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

accept key

次に、コマンドを使用してSaltミニオンサーバーへの接続をテストできます。ホスト名でターゲットサーバーを指定するか、’*’文字を使用してすべての利用可能なSaltミニオンサーバーをターゲットにできます。

salt minion1 test.ping  
salt * test.ping

Saltミニオンへの接続が成功すると、出力に「True」が表示されます。

最後に、以下のコマンドを使用してSaltのバージョンを確認します。

salt minion1 test.version

この例では、Saltミニオン3007.0がインストールされています。

test salt ping and version

SaltStackを介して任意のコマンドを実行

すべてが構成されたので、マスターサーバーからminion1サーバーで任意のコマンドを実行してSaltStackのインストールをテストします。

以下のコマンドを実行してミニオンサーバーのリポジトリパッケージインデックスを更新します。

salt '*' pkg.refresh_db

次に、以下のコマンドを実行してターゲットサーバーのパッケージ更新を確認します。

salt '*' pkg.list_upgrades

次に、以下のコマンドを実行してapache2パッケージに関する情報を表示します。

salt '*' pkg.show apache2

ミニオンサーバーで実行中のサービスを確認するには、以下のコマンドを実行します。

salt '*' service.get_running  
salt '*' service.execs

LAMPスタックインストールのための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

test salt state

次に、以下のコマンドを実行してminion1サーバーにSaltステート「lamp」を適用します。

sudo salt minion1 state.apply lamp

プロセスが完了すると、次の出力が得られます。

success salt state

最後に、以下のコマンドを実行してminion1サーバー上のApacheおよびMariaDBサービスを確認します。

salt '*' service.get_running

apache2とmariadbサービスの両方が実行中であることを確認してください。

service status

結論

おめでとうございます!Debian 12サーバーにSaltStack(Saltマスターとミニオン)のインストールが完了しました。また、ミニオンサーバーに対して任意のコマンドを実行する方法と、LAMPスタック(Apache2、MariaDB、PHP)をインストールするための最初のSaltステートを作成する方法を学びました。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。