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 チャットチャンネルへの参加方法