Jump to section

Ansible Playbook とは

URL をコピー

 

2024 年版 世界のテクノロジートレンド

テクノロジーの世界ではデジタル・トランスフォーメーションが急速に進み、企業の重要なビジネス領域の優先順位に変化が生じています。業界に関する知見を共有して 10 年目を迎える 2024 年版 世界のテクノロジートレンドレポートでは、IT と IT 以外における予算配分の 6 つの優先項目と、進歩を妨げる 3 つの障壁を明らかにします。

Ansible® Playbook は自動化タスクのブループリントであり、IT ソリューションのインベントリー全体にわたって、最小限の手作業で実行される IT アクションです。Playbook は、Ansible がどのデバイスに対して何をすべきかを指示します。

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

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

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

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 で単一のレコードを作成、削除、または更新します。

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 つ目は、データベース・サーバー・ソフトウェアが最新かどうかを確認し、必要に応じて更新を実行します。

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 での作業経験があまりないユーザーに特に役立つ追加のセーフガードが付属しています。

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

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

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

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

Jesse Amerson

Ulta Beauty IT 担当取締役

自動化によって節約できる時間

組織全体で Ansible Automation Platform を使用することによってどれだけの時間を節約できるのか、以下のいくつかの短い質問に答えることで確認できます。

関連資料

記事

Ansible の基本を学ぶ

Ansible は、プロビジョニング、構成管理などの IT プロセスを自動化します。主要な概念を含む Ansible の基本を確認できます。

記事

ビジネスプロセス管理とは

ビジネスプロセス管理 (BPM) とは、エンドツーエンドのビジネスプロセスをモデリング、分析、最適化して、戦略的な事業目標の達成を支援することです。

記事

Red Hat の自動化を選ぶ理由

Red Hat Ansible Automation Platform には、複数チームでの自動化の展開や企業全体での自動化の導入に必要なツールがすべて揃っています。

自動化の詳細はこちら

製品

Red Hat の戦略的アドバイザーが、企業組織の全体像を把握しながら課題を分析し、包括的かつコスト効率に優れたソリューションで課題を解決できるようお手伝いします。

エンタープライズ規模で自動化を実装するプラットフォーム。自動化導入のあらゆる段階に対応。

リソース

トレーニング

無料のトレーニングコース

Ansible Essentials: Simplicity in Automation Technical Overview

無料のトレーニングコース

Red Hat Ansible Automation for SAP