Cache プラグイン¶
chache プラグインによりバックエンドキャッシングメカニズムが実装され、Ansible は収集したファクトまたはインベントリーソースデータを保存できます。 ソースからの取得でパフォーマンスが低下することはありません。
デフォルトの cache プラグインは メモリー プラグインで、Ansible が現在実行するデータのみをキャッシュします。永続ストレージのあるプラグインは他にもあり、実行時にデータをキャッシュできるようにします。
インベントリーおよびファクトに個別のキャッシュプラグインを使用できます。インベントリー固有のキャッシュプラグインが提供されておらず、インベントリーキャッシュが有効になっている場合は、ファクトキャッシュプラグインがインベントリーに使用されます。
ファクトの cache プラグインの有効化¶
一度に有効にできるファクトの cache プラグインは 1 つだけです。
Ansible 設定でキャッシュプラグインを有効にするには、環境変数を使用するか、
export ANSIBLE_CACHE_PLUGIN=jsonfile
または、ansible.cfg
ファイルで以下を設定します。
[defaults]
fact_caching=redis
Cache プラグインをコレクションで使用する場合には、完全修飾名を使用してください。
[defaults]
fact_caching = namespace.collection_name.cache_plugin_name
また、各プラグインに固有の他のオプションを設定する必要があります。詳細は、各プラグインのドキュメント、 または Ansible の設定 を参照してください。
カスタムの cache プラグインを有効にするには、ロール内の Play の隣りにある cache_plugins
ディレクトリーに保存するか、ansible.cfg で設定したディレクトリーソースの 1 つに保存します。
インベントリーの cache プラグインの有効化¶
インベントリーは、ファイルベースの cache プラグイン (jsonfile など) を使用してキャッシュできます。特定のインベントリープラグインをチェックして、キャッシュに対応しているかどうかを確認します。コレクション内の cache プラグインは cache インベントリーではサポートされません。 インベントリー固有の cache プラグインが指定されていない場合、Ansible はファクト cache プラグインオプションがある cache インベントリーにフォールバックします。
インベントリーキャッシュは、デフォルトで無効になっています。環境変数でこれを有効にできます。
export ANSIBLE_INVENTORY_CACHE=True
または、ansible.cfg
ファイルで以下を設定します。
[inventory]
cache=True
または、inventory プラグインが YAML 設定ソースに対応している場合には、設定ファイルで以下を指定します。
# dev.aws_ec2.yaml
plugin: aws_ec2
cache: True
ファクトキャッシュプラグインと同様に、一度に 1 つのインベントリーの cache プラグインのみをアクティブにでき、環境変数で設定できます。
export ANSIBLE_INVENTORY_CACHE_PLUGIN=jsonfile
または、ansible.cfg ファイルで以下を設定します。
[inventory]
cache_plugin=jsonfile
または、inventory プラグインが YAML 設定ソースに対応している場合には、設定ファイルで以下を指定します。
# dev.aws_ec2.yaml
plugin: aws_ec2
cache_plugin: jsonfile
詳細は、各 inventory プラグインのドキュメント、または Ansible 設定 を参照してください。
Cache プラグインの使用¶
Cache プラグインは、有効になると自動的に使用されます。
プラグイン一覧¶
ansible-doc -t cache -l
を使用して、利用可能なプラグインの一覧を表示できます。
特定のドキュメントと例を参照する場合は、ansible-doc -t cache <plugin name>
を使用してください。
See also
- Action プラグイン
- Ansible Action プラグイン
- Callback プラグイン
- Ansible callback プラグイン
- Connection プラグイン
- Ansible connection プラグイン
- inventory プラグイン
- Ansible inventory プラグインの使用
- Shell プラグイン
- Ansible Shell プラグイン
- Strategy プラグイン
- Ansible Strategy プラグイン
- vars プラグイン
- Ansible Vars プラグイン
- ユーザーのメーリングリスト
- ご質問はございますか。 Google Group をご覧ください。
- webchat.freenode.net
- #ansible IRC chat channel