Ubuntu 14.04での構成管理のためのAnsibleの設定:プレイブックの作成

AnsibleのPlaybookは、Ansibleを非常に便利なものにしています。プレイブックでは、いくつかのモジュールでルーチンタスクを実行できます。いつプレイブックを使用すればよいですか?

サーバーの更新という定期的なメンテナンスタスクを見てみましょう。コマンドが1つしかないため、このためにプレイブックを使用する必要はありませんapt-get update。1つのコマンドで、すべてのサーバーのソフトウェアを更新できます。ただし、Webサーバーやデータベースサーバーなどを展開するには、1つのコマンドだけではなく、さらに多くの作業が必要です。この場合は、ハンドブックが最適です。サーバー上で実行できるコマンドである複数のモジュールを使用できます。たとえば、ファイルをコピーし、SSH経由でシェルコマンドを実行するためのモジュールがあります。

では、プレイブックをどのように使用するのでしょうか?始めましょう!

ステップ1:YAML(.yml)ファイルを作成する

Ansibleプレイブックは.ymlファイルとして書き込まれます。Ansibleは他の形式を解釈できません。Ansibleプレイブックの例は次のようになります。

---
- hosts: webservers
  vars:
    http_port: 80
    max_clients: 200
  remote_user: root
  tasks:
  - name: ensure apache is at the latest version
    yum: pkg=httpd state=latest
  - name: write the apache config file
    template: src=/srv/httpd.j2 dest=/etc/httpd.conf
    notify:
    - restart apache
  - name: ensure apache is running (and enable it at boot)
    service: name=httpd state=started enabled=yes
  handlers:
    - name: restart apache
      service: name=httpd state=restarted

(Ansibleのドキュメントから引用)

ステップ2:プレイブックを理解する:タスクとハンドラー

ご覧のとおり、このハンドブックには複数のセクションがあります。まず、hosts:線が表示されます。これにより、プレイブックを実行するホストが決まります。また、プレイブック全体でアクセスおよび使用できる変数がいくつか定義されていることもわかります。次に、いくつかのタスクが表示されます。これらのタスクには、たとえば「Apacheのインストール」などの名前を付けることができます。例の2番目のタスクは、Apache構成に書き込みます。次に、以下が表示されます。

    notify:
    - restart apache

これは、特定のハンドラーを実行するようにタスクに指示します。この場合restart apacheは、ハンドブックの下部にあるハンドラーを参照しています。

  handlers:
    - name: restart apache
      service: name=httpd state=restarted

例では、Apacheを複数回再起動したい場合があるため、ハンドラーは便利です。この場合、Apacheを再起動する必要があるたびにタスクの作成を繰り返す必要はありませんが、代わりに毎回同じハンドラーを参照するだけで済みます。

ステップ3:プレイブックを実行する

Apacheサーバーをデプロイしたいとします。ご覧のとおり、そのためのハンドブックを作成しました。ansible-playbookコマンドを使用して、プレイブックを実行できます。たとえば、このプレイブックをwebserversカテゴリ内のすべてのサーバーで実行する場合(このカテゴリを/etc/ansible/hostsファイルに含める必要があります)、プレイブックファイルの名前が次の場合、次のコマンドを実行しますapache.yml

ansible-playbook -i webservers apache.yml

おめでとう!これで、webserversカテゴリ内のすべてのサーバーでプレイブックが実行されました。デプロイが完了するのを待つだけで、Apacheがこれらのサーバーに正常にインストールされ、構成されていることがわかります。



Leave a Comment

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、

LinuxでTeamTalk Serverをセットアップする

LinuxでTeamTalk Serverをセットアップする

TeamTalkは、ユーザーが高品質のオーディオ/ビデオ会話、テキストチャット、ファイルの転送、および画面の共有を可能にする会議システムです。それは

CentOS 7サーバーにCyber​​Panelをインストールして構成する方法

CentOS 7サーバーにCyber​​Panelをインストールして構成する方法

別のシステムを使用していますか?はじめにCyber​​Panelは、オープンソースでありOpenLiteSpeedを使用する市場で最初のコントロールパネルの1つです。なんてこった

FreeBSD 12にNeos CMSをインストールする方法

FreeBSD 12にNeos CMSをインストールする方法

別のシステムを使用していますか?Neosは、CMSとアプリケーションフレームワークをコアとするコンテンツアプリケーションプラットフォームです。このガイドでは、インストール方法を説明します

Ubuntu 16.04 LTSにDokuWikiをインストールする方法

Ubuntu 16.04 LTSにDokuWikiをインストールする方法

別のシステムを使用していますか?DokuWikiは、データベースを必要としないPHPで記述されたオープンソースのWikiプログラムです。データをテキストファイルに保存します。ドクウィク

Ubuntu 18.04 LTSにCyber​​Panelをインストールして構成する方法

Ubuntu 18.04 LTSにCyber​​Panelをインストールして構成する方法

別のシステムを使用していますか?はじめにCyber​​Panelは、オープンソースでありOpenLiteSpeedを使用する市場で最初のコントロールパネルの1つです。なんてこった

Ubuntu 16.04 LAMP VPSにBigTree CMSをインストールする方法

Ubuntu 16.04 LAMP VPSにBigTree CMSをインストールする方法

別のシステムを使用していますか?BigTree CMS 4.2は、高速で軽量な無料のオープンソースのエンタープライズグレードのコンテンツ管理システム(CMS)であり、

Debian 9でソースからBrotliをビルドする方法

Debian 9でソースからBrotliをビルドする方法

別のシステムを使用していますか?Brotliは、Gzipよりも圧縮率が高い新しい圧縮方法です。そのソースコードはGithubで公開されています。ティ

Ubuntu 16.04 LAMP VPSにBlogoText CMSをインストールする方法

Ubuntu 16.04 LAMP VPSにBlogoText CMSをインストールする方法

別のシステムを使用していますか?BlogoText CMSは、シンプルで軽量な無料のオープンソースコンテンツ管理システム(CMS)とシンプルなブログエンジンです。

CentOS 7へのNetdataのインストール

CentOS 7へのNetdataのインストール

別のシステムを使用していますか?Netdataは、リアルタイムのシステムメトリックモニタリングの分野における新星です。同じ種類の他のツールと比較すると、Netdata:

Fedora 29にWonderCMSをインストールする方法

Fedora 29にWonderCMSをインストールする方法

別のシステムを使用していますか?WonderCMSは、PHPで書かれたオープンソースの高速で小さなフラットファイルCMSです。WonderCMSソースコードはGithubでホストされています。このガイドは

Debian 9にNeos CMSをインストールする方法

Debian 9にNeos CMSをインストールする方法

別のシステムを使用していますか?Neosは、CMSとアプリケーションフレームワークをコアとするコンテンツアプリケーションプラットフォームです。このガイドでは、インストール方法を説明します

CentOS 7にDjangoをインストールする方法

CentOS 7にDjangoをインストールする方法

Djangoは、Webアプリケーションを作成するための一般的なPythonフレームワークです。Djangoを使用すると、ホイールを再発明することなく、アプリケーションをより速く構築できます。あなたが望むなら

OpenBSD 6.2にWordPressをインストールする

OpenBSD 6.2にWordPressをインストールする

はじめにWordPressは、インターネット上の主要なコンテンツ管理システムです。ブログから動的コンテンツを備えた複雑なWebサイトまで、あらゆるものを強化します

CentOS 7 LAMP VPSにTextPattern CMSをインストールする方法

CentOS 7 LAMP VPSにTextPattern CMSをインストールする方法

別のシステムを使用していますか?TextPattern CMS 4.6.2はシンプルで柔軟な無料のオープンソースコンテンツ管理システム(CMS)であり、Webデザイナーが

Ubuntu 16.04にZikulaをインストールする方法

Ubuntu 16.04にZikulaをインストールする方法

別のシステムを使用していますか?はじめにZikulaは、PHPで記述されたオープンソースのWebアプリケーションフレームワークです。インタラクティブで編集可能なウェブサイトをデザインできます

Ubuntu 16.04でNginxリバースプロキシを使用してKeystone.jsサーバーをセットアップする

Ubuntu 16.04でNginxリバースプロキシを使用してKeystone.jsサーバーをセットアップする

このチュートリアルでは、リバースプロキシを使用してWebサーバーをセットアップします。使用するCMSは、有名なWebアプリケーションフレームワークであるKeystone.jsです。

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。