機能
この Ansible Role は、Snowflake スタンドアロンプロキシのインストール、構成、および操作を行います。
- Ubuntu、Debian、Arch Linux、Fedora、FreeBSD をサポート。
- GNU/Linux 上の Snowflake サービスを管理するための Systemd ユニットと FreeBSD 用の rc スクリプト。
要件
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 では利用できません。