機能

この Ansible Role は、Snowflake スタンドアロンプロキシのインストール、構成、および操作を行います。

  • Ubuntu、Debian、Arch Linux、Fedora、FreeBSD をサポート。
  • GNU/Linux 上の Snowflake サービスを管理するための Systemd ユニットと FreeBSD 用の rc スクリプト。

要件

  • Python
  • Ansible 2.9 以上

1. Ansible のインストール

pip を使用して Ansible をインストールできます。

$ python -m pip install --user ansible

または、Ansible をインストールする他の方法をこちらからご確認いただけます。

2. Ansible Role のダウンロード

Ansible Role は nvjacobo.snowflake と呼ばれています。 Galaxy リポジトリにあり、コマンドラインを使用してインストールできます。

$ ansible-galaxy install nvjacobo.snowflake

3. Playbook の作成

次に、新しいロールを実行する Ansible Playbook を作成します。

- hosts: snowflake
  roles:
      - nvjacobo.snowflake

4. インベントリーの作成

インベントリーとは、Playbook を通じて Ansible が自動的に管理するサーバーのリストです。

[snowflake]
ip-address

5. デプロイ

最後に Playbook を実行することで、Ansible が Snowflake スタンドアロンプロキシをデプロイします。 これは root として実行します。

$ ansible-playbook -i inventory site.yml -u root

または sudo を使用します。

$ ansible-playbook -i inventory site.yml -u username -b

6. Snowflake プロキシの管理

Snowflake プロキシホストが systemd を実行している場合は、systemd コマンド (start、status、stop) を使用して Snowflake プロキシを管理できます。 例:

$ ansible all -i inventory -a 'systemctl status snowflake-proxy'

FreeBSD の場合は、以下の rc スクリプトコマンドを使用して Snowflake プロキシを管理できます。 例:

$ ansible all -i inventory -a 'service snowflake status'

7. Snowflake プロキシのアップグレード

Snowflake スタンドアロンプロキシを最新の状態に保つことが重要です。 Ansible Playbook を実行すると、更新がインストールされます。

$ ansible-playbook -i inventory site.yml -u root

8. (オプション) 使用量の制限

変数 client を使用して、クライアント (Snowflake ユーザー) の数を制限できます。 デフォルトでは、同時クライアントの最大数は無制限です (0 = 制限なし) 。

以下の Playbook では、同時クライアント数は300に制限されています。

- hosts: snowflake
   vars:
    clients: 300
  roles:
     - nvjacobo.snowflake

注意: この Ansible のロール変数は、FreeBSD では利用できません。