キャッシュと複数の Inventory ソース
大規模な Inventory を統合し、高速化します。
「キャッシュと複数の Inventory ソース」はCoddyKit上の無料Ansible Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAnsible Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ansible Academyコースには全4レッスンが含まれています。
クエリには時間がかかる
数百台のホストがある場合、実行のたびにクラウド API を呼び出すと時間がかかります。プレイを開始するたびに、その問い合わせのコストが発生します。⏱️
結果をキャッシュする
インベントリのキャッシュは取得したホストデータを保存し、実行を繰り返す際に毎回クラウドへ再問い合わせする代わりに、そのデータを再利用します。
キャッシュを有効にする
プラグイン設定または ansible.cfg で、cache キーを true に設定して有効にします。
cache: true
cache_plugin: jsonfileキャッシュバックエンドを選ぶ
cache_plugin でデータの保存先を選びます。たとえば、ディスク上の jsonfile や、複数のマシンで共有できる高速なストアの redis を指定できます。
適切なタイムアウトを設定する
秒単位の cache_timeout で、Ansible が情報源から更新するまでキャッシュされたデータを有効とみなす期間を指定します。
cache_timeout: 3600古いキャッシュは落とし穴になる
長いタイムアウトは高速ですが危険です。インスタンスが変更されていると、存在しない対象を指定する可能性があります。フリートの速度と鮮度のバランスを取ってください。
複数の情報源を組み合わせる
情報源が1つだけということはほとんどありません。-i にディレクトリを指定すると、Ansible はその中にあるすべてのインベントリファイルを読み込みます。
ansible-playbook -i inventories/ site.yml情報源は統合される
すべてのファイルのホストとグループが1つのインベントリに統合されるため、AWS、Azure、静的ファイルを1回の実行で共存させられます。
変数には読み込み順が影響する
ファイルはアルファベット順に読み込まれます。2つの情報源が同じホスト変数を設定した場合は、後の情報源が優先されるため、命名順が重要です。
静的と動的を組み合わせる
静的ファイルで特別なホストを固定し、残りをプラグインで取得できます。これにより、固定の基準点と、柔軟に自動検出されるホストを併用できます。
統合されたビューを確認する
ディレクトリを対象に ansible-inventory を実行すると、最終的に統合されたグラフを表示し、想定どおりにすべての情報源が反映されていることを確認できます。
ansible-inventory -i inventories/ --graphクイックチェック
インベントリの情報源を組み合わせる方法を思い出してください。
まとめ
バックエンドとタイムアウトを設定したキャッシュで API 呼び出しを減らし、-i にディレクトリを指定して複数のインベントリ情報源を統合します。💾
よくある質問
「キャッシュと複数の Inventory ソース」レッスンは無料ですか?
はい。「キャッシュと複数の Inventory ソース」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ansible Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ansible Academyコースには全4レッスンが含まれています。
「キャッシュと複数の Inventory ソース」で何を学びますか?
大規模な Inventory を統合し、高速化します。 ブラウザで直接実行するハンズオンコードでAnsible Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ansible Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAnsible Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「キャッシュと複数の Inventory ソース」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAnsible Academyレッスンでコードを書いて実行できますか?
はい。すべてのAnsible Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 静的な制限と Inventory Plugin モデル
- aws_ec2 Inventory Plugin
- constructed:タグでホストをグループ化する
- キャッシュと複数の Inventory ソース