Ansible Playbook とは

URL をコピー

Ansible® Playbook は、一連のタスクを YAML 形式で記述したファイル、また自動化タスクの手順書です。つまり、自動化タスクのブループリントであり、IT ソリューションのインベントリー全体にわたって、最小限の手作業で実行される IT アクションです。

Playbook は、ホストで実行され、管理対象ノードに実行内容と順序を指示します。つまり、Ansible がどのデバイスに対して何をすべきかを指示します。

IT 環境全体にわたる何百、何千もの類似のテクノロジーに同じアクションを手動で適用する代わりに、Playbook を実行すると、一連のルーターなどの指定されたタイプのインベントリーに対して同じアクションが自動的に実行されます。また、Playbook は開発者がアドホックまたはテンプレートとして使用できる、事前に記述されたコードのフレームワークとしても機能します。

Playbook は、オペレーティングシステムや Kubernetes プラットフォームのような IT インフラストラクチャ、ネットワーク、セキュリティシステム、GitHub のようなコードリポジトリなどの自動化に使用されています。Playbook を使用することで、IT スタッフは、アプリケーション、サービス、サーバーノード、またはその他のデバイスのプログラミングを、ゼロから作成することなく開始できます。

また、Playbook とその中の条件、変数、タスクは、無期限に保存、共有、または再利用できます。これにより、IT チームは運用知識を体系化しやすくなり、同じアクションが一貫して実行されるようになります。

Red Hat Ansible Automation Platform を無料で試す  初心者向けガイドを読む 

Red Hat Ansible Automation Platform:初心者向けガイド

Ansible Playbook は、指定したインベントリーやホストのグループに対して自動的に実行されるタスクのリストです。1 つまたは複数の Ansible タスクを組み合わせて play (特定のホストにマッピングされたタスクの順序付けられたグループ) を作ることができ、タスクは書かれた順序で実行されます。Playbook には、1 つ以上の play と Ansible Role (複数の play での実行や Playbook 間での再利用が可能なタスクおよび関連する自動化アセットのバンドル) を含めることができます。

タスクはモジュール単位で実行されます。各モジュールは Playbook の中で特定のタスクを実行します。モジュールには、タスクを実行するタイミングと場所、そしてタスクを実行するユーザーを決定するメタデータが含まれています。数千もの Ansible モジュールがあり、次のようなあらゆる種類の IT タスクを実行します。

クラウド管理

oci_vcn は、Oracle Cloud Infrastructure 環境で仮想クラウドネットワークを作成、削除、または更新します。同様に、vmware_cluster は、VMware vSphere クラスタを追加、削除、または更新します。

ユーザー管理

seloginLinux® オペレーティングシステム (OS) ユーザーを SELinux ユーザーに割り当て、gitlab_user は GitLab ユーザーを作成、更新、または削除します。

ネットワーク

数十のモジュールがアプリケーション・プログラミング・インタフェース (API)、Cisco IOSNXOSIOS XR の各デバイス、F5 BIG-IP サービス、Arista EOS クラウドネットワーク・オペレーティングシステムを処理します。

ネットワークモジュールの一覧を見る

セキュリティ

Openssh_cert は OpenSSH ホストまたはユーザー証明書を生成し、ipa_config はグローバルな FreeIPA 構成設定を管理します。

構成管理

pip は Python ライブラリの依存関係を管理し、assemble はフラグメントから構成ファイルを統合します。

コミュニケーション

mail は特定の基準に基づいて自動的に E メールを送信でき、snow_record は ServiceNow で単一のレコードを作成、削除、または更新します。

無料のラーニングパスで Playbook の基本を学ぶ

Red Hat のリソース

Ansible は、クラウドベースの REST API、Linux および Windows システム、ネットワークハードウェアなど、さまざまなデバイスと通信できます。以下に示すのは、2 種類のサーバーを自動的に更新する 2 つの Ansible モジュールのサンプルです。

---
- name: Update web servers
  hosts: webservers
  become: true
 
  tasks:
    - name: Ensure apache is at the latest version
      ansible.builtin.yum:
        name: httpd
        state: latest
    - name: Write the apache config file
      ansible.builtin.template:
        src: /srv/httpd.j2
        dest: /etc/httpd.conf
        mode: "0644"
 
- name: Update db servers
  hosts: databases
  become: true
 
  tasks:
    - name: Ensure postgresql is at the latest version
      ansible.builtin.yum:
        name: postgresql
        state: latest
    - name: Ensure that postgresql is started
      ansible.builtin.service:
        name: postgresql
        state: started

この Playbook には 2 つの play が含まれています。 

  • 1 つ目は、Web サーバーソフトウェアが最新かどうかを確認し、必要に応じて更新を実行します。
  • 2 つ目は、データベース・サーバー・ソフトウェアが最新かどうかを確認し、必要に応じて更新を実行します。

この Playbook の詳細を入手する

Ansible は YAML 構文を使用します。YAML は Yet Another Markup Language の略語であると言う人もいれば、 YAML Ain't Markup Language (再帰的頭字語) であると言う人もいます。また、YAML のファイル拡張子には、.yaml と .yml という 2 つの異なる拡張子がありますが、いずれを使用してもまったく問題ありません。 

Ansible Playbook を使用するには、コマンドライン・インタフェース (CLI)、または Red Hat® Ansible Automation Platform のプッシュボタン式デプロイメントのいずれかを使います。

YAML は人間が読める言語であるため、ネットワーク、セキュリティ、クラウドといった特定のドメインの専門知識を持つ IT プロフェッショナルは、複雑なコーディング言語を学ぶことなく Playbook を作成できます。

CLI から

オープンソースの Ansible プロジェクトか Red Hat Ansible Automation Platform をインストールしたら (Red Hat Enterprise Linux CLI で sudo yum install ansible と入力するだけの簡単操作です)、 あとは ansible-playbook コマンドを使用して Ansible Playbook を実行するだけです。

プラットフォーム内から

Red Hat Ansible Automation Platform の Web ベースのユーザー・インタフェースには、より大きなジョブまたはジョブテンプレートの一部として使用されるプッシュボタン式の Ansible Playbook デプロイメントが含まれています。これらのデプロイメントには、IT 自動化に不慣れなユーザーや CLI での作業経験があまりないユーザーに特に役立つ追加のセーフガードが付属しています。

Playbook を実行するためのクイックガイド

Red Hat Ansible Automation Platform は、インフラストラクチャ、ハイブリッドクラウド、セキュリティ、ネットワーク、エッジロケーションなど、さまざまなユースケースに対応する IT ドメイン全体のプロセスを自動化できる統合プラットフォームです。Ansible Automation Platform には、イベント駆動型ソリューション、Playbook、分析機能など、企業全体での自動化の導入に必要なツールがすべて揃っています。また、ビジュアル・ダッシュボードやロールベースのアクセス制御、その他の機能により、IT インフラストラクチャを一元的に制御し、運用の複雑さを低減できます。

Red Hat サブスクリプションを使うことで、Red Hat とそのパートナーが提供する認定済みのサポート対象コンテンツ、ホストされた管理サービスへのアクセス、組織全体で自動化を拡張するためのライフサイクル・テクニカルサポートを利用できます。また、数千ものお客様を支援することで蓄積された Red Hat の専門知識を活用できます。

Red Hat Ansible Lightspeed (および IBM watsonx Code Assistant) の導入により、Ansible が初心者にとってさらに利用しやすいものになり、経験豊富な自動化チームは Ansible Automation Platform コンテンツをより効率的に学習、作成、維持できるようになります。この生成 AI サービスは、ユーザーの入力したプロンプトを基に、IBM watsonx 基盤モデルを使用して、Ansible のベストプラクティスに沿ったコード候補を生成します。これにより、対象分野の専門知識を、チーム間やドメイン間で拡張できる信頼性の高い Ansible コードに変換することができます。

Ansible Automation Platform の詳細

 

Red Hat Ansible Automation Platform の組み込み機能は、まさに箱の中のアクセラレーターです。ベンダーやパートナーの多くも自社技術のインストール、設定、保守のためのスクリプトを書くのに使用しているデファクトスタンダードです。

Jesse Amerson

Ulta Beauty IT 担当取締役

導入事例を読む

リソース

Red Hat Ansible Automation Platform を使用して CI/CD を最適化する

Red Hat Ansible Automation Platform が、複雑な IT 環境の効率的な管理、セキュリティ運用の自動化、デプロイメント期間の短縮にどう役立つのかを解説します。

すべての Red Hat 製品のトライアル

Red Hat の無料トライアルは、Red Hat 製品をハンズオンでお試しいただける無料体験版です。認定の取得に向けた準備をしたり、製品が組織に適しているかどうかを評価したりするのに役立ちます。

関連情報

AI 基盤として Red Hat Ansible Automation Platform を選ぶ理由

Red Hat Ansible Automation Platform は、AI モデルとインフラ・コンポーネントのデプロイ、管理、設定、ライフサイクルを単純化し、AI 実装用の自動化基盤を提供します。

Ansible (アンシブル) とは?をわかりやすく解説

Ansible は、プロビジョニングや構成管理、アプリケーションのデプロイメント、オーケストレーションなどの IT プロセスを自動化する、オープンソースの自動化ツールです。

IaC (Infrastructure as Code) とは?をわかりやすく解説

IaC (Infrastructure as Code) とは、コードを使用して IT インフラストラクチャの管理とプロビジョニングを自動化するプロセスであり、人為的ミスやコストを削減します。

自動化と管理リソース

注目の製品

  • Red Hat Ansible Automation Platform

    エンタープライズ規模で自動化を実装するプラットフォーム。お客様が自動化導入のどの段階にいる​かは関係ありません。

関連記事