Cache プラグイン

cache プラグインを使用すると、Ansible は、ソースから取得するパフォーマンスに影響を与えずに、収集したファクトまたはインベントリーソースデータを保存できるようになります。

デフォルトのキャッシュプラグインは memory プラグインです。Ansible の現在の実行のデータのみをキャッシュします。永続ストレージを備えた他のプラグインを使用して、実行間でデータをキャッシュできます。これらのキャッシュプラグインの中にはファイルに書き込むものもあれば、データベースに書き込むものもあります。

インベントリーとファクトにさまざまな cache プラグインを使用できます。インベントリー固有の cache プラグインを設定せずにインベントリー固有のキャッシュを有効にした場合、Ansible は、ファクトとインベントリー両方に cache プラグインを使用します。必要に応じて:ref:`create custom cache plugins <developing_cache_plugins>`できます。

ファクトの 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

カスタムの cache プラグインを有効にするには、ロール内のプレイの隣りにある cache_plugins ディレクトリーに保存するか、ansible.cfg で設定したディレクトリーソースの 1 つに保存します。

また、各プラグインに固有の他の設定を構成する必要があります。個々のプラグインのドキュメントまたは Ansible の「設定」を参照してください。

インベントリーの cache プラグインの有効化

インベントリーキャッシュはデフォルトで無効になっています。インベントリーデータをキャッシュするには、インベントリーキャッシュを有効にしてから、使用する特定の cache プラグインを選択する必要があります。すべての intentory プラグインがキャッシュをサポートしているわけではないため、使用する inventory プラグインのドキュメントを確認してください。環境変数を使用してインベントリーキャッシュを有効にできます。

export ANSIBLE_INVENTORY_CACHE=True

または ansible.cfg ファイルで、以下を行います。

[inventory]
cache=True

または、inventory プラグインが YAML 設定ソースに対応している場合は、設定ファイルで以下を指定します。

# dev.aws_ec2.yaml
plugin: aws_ec2
cache: True

一度にアクティブにできるインベントリーの cache プラグインは 1 つだけです。環境変数を使用して設定できます。

export ANSIBLE_INVENTORY_CACHE_PLUGIN=jsonfile

または、ansible.cfg ファイルで以下を設定します。

[inventory]
cache_plugin=jsonfile

または、inventory プラグインが YAML 設定ソースに対応している場合は、設定ファイルで以下を指定します。

# dev.aws_ec2.yaml
plugin: aws_ec2
cache_plugin: jsonfile

プラグインパスにカスタムプラグインを使用してインベントリーをキャッシュするには、「cache プラグインの開発者ガイド」の手順に従ってください。

コレクション内の cache プラグインを使用してインベントリーをキャッシュするには、FQCN を使用します。

[inventory]
cache_plugin=collection_namespace.collection_name.cache_plugin

インベントリー固有の cache プラグインを選択せずに inventory プラグインのキャッシュを有効にした場合、Ansible は、設定済みのファクトの cache プラグインでインベントリーのキャッシュが行われるようにフォールバックします。詳細は、inventory プラグインのドキュメント、または Ansible の「設定」を参照してください。

cache プラグインの使用

cache プラグインは、有効になると自動的に使用されます。

プラグイン一覧

ansible-doc -t cache -l を使用して、利用可能なプラグインの一覧を表示します。ansible-doc -t cache <plugin name> を使用して、特定のドキュメントと例を参照してください。

参考

action プラグイン

action プラグイン

callback プラグイン

callback プラグイン

connection プラグイン

connection プラグイン

inventory プラグイン

inventory プラグイン

shell プラグイン

shell プラグイン

strategy プラグイン

strategy プラグイン

vars プラグイン

vars プラグイン

User Mailing List

ご質問はございますか。Google Group をご覧ください。

リアルタイムチャット

Ansible チャットチャンネルへの参加方法