オープンソース活用研究所 | 第一回目「注目の運用自動化ツールAnsibleとAnsible Towerとは」

第一回目「注目の運用自動化ツールAnsibleとAnsible Towerとは」

オープンソース活用研究所

2017年05月23日
オープンソース活用研究所 所長 寺田雄一

2017年3月、都内でTIS株式会社レッドハット株式会社による共催セミナー「Ansibleを活用しインフラ構築を自動化(Infrastructure as Code)した、プロジェクト工期短縮事例 ~インフラエンジニアの働き方をSHIFTする~」が開催されました。

レッドハット社が提供するAnsibleは、既存ツールの弱点を克服し、IaC (Infrastructure as Code:インフラのコード化)を具現化するための自動化実行エンジンです。自動化プラットフォームである「Ansible Tower」とともに、システムの運用自動化を目指す企業のIT担当者、システムインテグレーターから注目を浴びています。

このセミナーでは、Ansible及びAnsible Towerの概要紹介をはじめ、TIS社によるAnsible導入事例とベストプラクティス、さらにはインフラエンジニアのみならずIT業界全体の働き方改革についての提言もなされました。本レポートでは、このセミナーの概要を3回にわけてご紹介します。

第1回目のテーマは、レッドハット株式会社 テクニカルセールス本部 エバンジェリスト 平田千浩氏によるセッション『注目の自動化ツール「Ansible」と「Ansible Tower」とは』です。

IaCを可能にする構成管理ツール、Ansible

Ansibleをご紹介する前に、インフラ管理の背景についてお話します。

管理するシステム数が膨大になり、その管理に費やす時間が増大する現在、ソフトウェア開発の現場で注目されているキーワードに、IaC があります。IaCとは文字通りインフラをコード化することであり、構成管理ツールを使ってインフラをコード化し、構成を情報化するという手法です。

IaCという概念を取り入れることで、システム開発の速度低下を未然に防ぎ、生産性と品質を継続的に向上させることが可能になります。

国内におけるIaCの現状としては、ツールの活用が属人化していたり、社内でのナレッジ共有が徹底されていなかったりという理由から普及に時間がかかっていますが、IaC という考え方の本質は、企業内IT担当者にも、システムインテグレーターにも、両者に恩恵をもたらすものです。たとえば、構成管理ツールを活用することで、次のようなメリットが考えられます。

  • 手動オペレーションによるタイムロスを減らす。
  • メンテナンス時におけるオペレーションミスを減らす。
  • 運用後の手順変更が、作業手順書に反映されていないといったような作業漏れを減らす。
  • 直接ログインする機会を最小限にしてセキュリティを向上させる。

IaCを具現化するとともに、上記のような構成管理ツールのメリットを享受し、インフラ構築を自動化するツールがAnsibleです。

Ansibleは設定ファイルがシンプルであり、管理対象サーバにソフトウェアをインストールする必要がありません。最小限の手順で、インフラの各種設定を自動化することが可能です。

Ansible開発者のマイケル・デハーン(Michael DeHaan)氏は、現状の課題を構成管理ツールとアプリケーションデプロイツールが別々に存在し、同時に実行できないことだと捉えました。そこで枠にしばられることなく、ユースケースや製品にも特化せずに、すべてのものを自動化できるツールとしてAnsibleを開発したのです。

Ansibleで運用管理自動化を実現する3つのポイント

組織全体で取り組むべき自動化

平田氏によると、エンタープライズにおいて運用自動化を実現するポイントは次の3点になり、Red HatのAnsibleであれば実現できます。

(1) Ansibleは、対象機器やユースケースにとらわれない

Ansibleは構成管理ツールとしてだけでなく、インスタンスのデプロイも可能で、更にはポリシーのチェックや正常性の確認、問題点の改善、タスクフローの管理も自動で行います。

また、Ansibleはエージェントレスな設計であるため、様々なストレージやネットワーク、クラウド、コンテナ、ほかにも各種アプリケーションやDBにも対応しています。エージェントがあると、対象機器にインストールが必要になるほか、エージェントのセキュリティやサービスへの影響を考慮しなければなりません。

特にネットワークやコンテナなどはエージェントを入れることが難しいですが、Ansibleなら対応が可能となります。

PlaybookのSample

(2) Ansibleは、YAML形式ファイルで誰でも簡単に活用できる

Ansibleには、従来の構成管理ツールで手順を記述する際に必要だったプログラミングが不要です。Ansibleでは、Playbook というYAML形式のテキストファイルに手順を列挙するだけで、プログラムが専門外のインフラエンジニアであっても自動化することが可能です。YAML形式は、開発側からも運用側からもわかりやすい記述であり、共有や再利用も可能です。

(3) Ansible Towerは、権限付与と集中管理が可能

Ansible Towerでは、プロセスに応じた適切な権限付与と集中管理が可能です。実行者の権限を限定することで、より適切な管理をすることができます。

エンタープライズ向け自動化プラットフォーム、Ansible Tower

Red Hatが提供するAnsibleは、次の3つの要素から成り立っています。

  • Playbook(YAML形式のテキストファイル):オープンソース
  • Core(自動化処理の実行エンジン):オープンソース
  • Tower(自動化プラットフォーム):自動化プラットフォーム

Ansibleでは、PlaybookというYAML形式のテキストファイルに定型業務をタスクとして記述し、それをAnsibleに実行させることにより、様々な処理を行います。

基本的な仕組みは、Playbookを元にAnsibleサーバがコードを生成した後、管理対象に転送し、セキュアなSSH経由で実行します。ローカルモードでは、サーバを立てずにAnsibleで管理することも可能です。

PlaybookとCoreについてはオープンソースで提供されています。そして自動化プラットフォームであるTowerは、エンタープライズ向け有償ツールとなります。Towerを入れることにより、スケジュール管理やコンプライアンス対応、アクセス制御などエンタープライズ向け機能が活用できるようになります。

Ansible Towerの特徴的な機能は次のようなものです。

Ansible Towerの機能:ユーザーと権限付与

Ansible Towerは、Webブラウザからユーザー認証をおこなった後にアクセスできます。このユーザーやグループに対して実行権限を割り振ることができます。

Ansible Towerの機能:ジョブの実行制御

ジョブのスケジューリング実行を集中管理で行うことができます。並列に実行した処理についてもAnsible Towerが順序を制御して実行してくれます。

Ansible Towerの機能:可視化機能

管理権限のある実行ジョブの結果についてはダッシュボードから、何が実行され、どうなったのか、確認することができます。ジョブテンプレートやインベントリー、ホスト毎にも確認ができ、障害時には直前の処理状況等を把握することができます。

Ansible Towerの機能:そのほか

SYSTEM TRACKINGの画面例

対象サーバに対してScan Job を実行することにより、パッケージのバージョン情報やサービスの状態、ステイタスなどを取得して保存することができます。

また、System Tracking ではサーバの変更前後の状態を比較することや、正常稼働のサーバと問題が発生したサーバを比較して問題についての知見を得ることが可能です。Ansible Tower3.1からはWindowsでも、この機能が使えるようになりました。

Ansible Tower 3.1からは日本語対応

Ansible3.1アップデートにより、GUIが日本語対応になりました。またワークフロージョブという機能も追加されました。ワークフロージョブは、ジョブの実行結果を受けて次に実行する最適なジョブを設定できる機能です。

Ansible Tower、グローバル導入事例

Ansible Towerを導入している企業は、全世界で1000社を超えました。ことに2015年にレッドハット社がAnsible社を買収してからは、導入企業は加速度的に増えています。そのなかから、グローバル展開している企業の事例をご紹介します。

Ansible Tower導入で、デリバリー時間が大幅に短縮

Amelcoという英国金融系企業では、400台のLinuxサーバでアプリケーションを迅速かつ正確にデプロイする必要がありました。これまで1件につき数週間かけてデリバリーしていたものが、Ansible導入により1日以下で可能になり、劇的な効率化が実現しました。

Ansible Tower導入で、アクセスの一元管理を可能に

米NASAでは、OpenStackやAWSなどハイブリッドクラウドでの運用において、各サーバへのアクセスが煩雑になるという課題に対してAnsible Towerを導入しました。運用の自動化はもちろんのこと、アクセスの一元管理も可能となり、幅広い意味での効率化が可能となりました。

Ansible Tower導入で、圧倒的な効率化を実現

NEC Corporation of America では、同社が展開するSDNを活用したユニファイドコミュニケーションサービスが抱えていた課題をAnsible Tower導入によって解決しました。

コミュニケーションサービスでは円滑な通信が肝要であり、遅延が発生しないように詳細な設定が求められます。従来は、1社当たり2週間程度を要していたこの設定が、Ansible Towerを導入後は10分未満にまで短縮され、圧倒的な効率化が実現しました。

Ansible Towerまとめ

運用自動化の目的は、生産性と品質の向上です。エンタープライズで運用自動化を実現するためのポイントは以下の3点です。

  1. 「対象機器やユースケースにとらわれない」
  2. 「YAML形式ファイルで誰でも簡単に手順を記述できる」
  3. 「権限付与と集中管理が可能」

これらに対応できることがRed Hatの提供するAnsible最大の特徴となります。

運用自動化が実現すれば、人海戦術によるルーチンワークが減り、エンジニアが本来注力すべき業務に集中することが可能になることでしょう。

いかがでしたでしょうか。

次回は、TIS株式会社 浪川氏によるセッション『【SIerも逃げられない】Ansibleによる自動構築事例と活用のスタンダード化』をご紹介します。

ご参考

Ansible紹介ページ
本セミナーの講演資料は、マジセミからダウンロードできます(無料)。


OSSNEWSに広告を掲載しませんか?

著者プロフィール

オープンソース活用研究所 所長 寺田雄一

1993年、株式会社野村総合研究所(NRI)入社。 インフラ系エンジニア、ITアーキテクトとして、証券会社基幹系システム、証券オンライントレードシステム、損保代理店システム、大手流通業基幹系システムなど、大規模システムのアーキテクチャ設計、基盤構築に従事。 2003年、NRI社内に、オープンソースの専門組織の設立を企画、10月に日本初となるオープンソース・ソリューションセンター設立。 2006年、社内ベンチャー制度にて、オープンソース・ワンストップサービス 「OpenStandia(オープンスタンディア)」事業を開始。オープンソースを活用した、企業情報ポータル、情報分析、シングルサインオン、統合ID管理、ドキュメント管理、統合業務システム(ERP)などの事業を次々と展開。 オープンソースビジネス推進協議会(OBCI),OpenAMコンソーシアムなどの業界団体も設立。同会の理事、会長や、NPO法人日本ADempiereの理事などを歴任。 2013年、NRIを退社し、株式会社オープンソース活用研究所を設立。

最新TOPICS

【OSS】「Zabbix Conference Japan 2017」事例レポート---リクルートが4万5000台のVDIシステムにZabbixを採用した理由 他(2017年12月13日 20:03)

11月17日に開催された「Zabbix Conference Japan 2017」において、さまざまなソリューションや事例が紹介された模様をレポート。 【Zabbixとは】 統合監視ツール https://www.ossnews.jp/oss_info/Zabbix 【レポートテーマ】 ①Zabbix「3.4は過去最高のリリース、4.0ではさらに機能を強化」 ②サイバー・ソリ...

関連オープンソース

Apache Maven(アパッチ メイヴン)

  • 運用管理・運用自動化

Apache Maven(アパッチ メイヴン)とは、Java用プロジェクト管理ツールです。不明瞭なソフトウェア開発プロジェクトをモデル化して、開発効率を高めます。

Zabbix(ザビックス)

  • 運用管理・運用自動化

Zabbix(ザビックス)とは、オープンソースの統合監視ツールです。サーバ/ネットワーク/アプリケーションなどを高度に集中監視し、アラート通知/パフォーマンス可視化などを行えます。

Spinnaker(スピネーカー)

  • 運用管理・運用自動化

Spinnaker(スピネーカー)とは、マルチクラウド対応の継続的デリバリプラットフォームです。複数クラウドに対するデプロイ/クラスタ管理を行い、継続的デリバリプロセスの自動化を行います。

Prometheus(プロメテウス)

  • 運用管理・運用自動化

Prometheus(プロメテウス)とは、オープンソースのサービス監視ツールです。時系列メトリクス監視に特化しており、Pull型監視を行います。

Beats(ビーツ)

  • 運用管理・運用自動化

Beats(ビーツ)。オープンソースデータ収集/転送プラットフォームです。Elastic社のプロダクト群で、サーバからあらゆる種類のオペレーショナルデータを収集して、Elasticsearch/Logstashなどに情報を転送します。

Draft(ドラフト)

  • 運用管理・運用自動化

Draft(ドラフト)とは、「Docker」コンテナデプロイサポートツールです。Microsoftが提供しています。「Kubernetes」クラスタ上へのデプロイと継続的インテグレーション機能を提供します。

Juju(ジュジュ)

  • 運用管理・運用自動化

Juju(ジュジュ)とは、Ubuntu専用のデプロイツールです。各種環境(AWS、Azure、OpenStackなど)のUbuntuサーバに各種サービスをデプロイします。

Consul(コンサル)

  • クラスタリング

Consul(コンサル/コンスル)とは、クライアントサーバ型のクラスタ管理ツールです。同様ツール「Serf」よりも汎用的で、サービス検出(ヘルスチェック)用途などにも活用できます。

Serf(サーフ)

  • クラスタリング

Serf(サーフ)とは、非集中/分散型のクラスタ管理ツールです。対象サーバにバイナリを1つ配置して軽量エージェントを起動するだけで、手軽にクラスタを構成できます。

Terraform(テラフォーム)

  • 運用管理・運用自動化

Terraform(テラフォーム)とは、インフラストラクチャ用プロビジョニングツールです。コードからインフラの構築/変更/バージョン管理を行えます。

Packer(パッカー)

  • 運用管理・運用自動化

Packer(パッカー)とは、マシンイメージの自動生成/管理を行なうコマンドラインツールです。マシンイメージ作成に関するさまざまな問題を解決するためのサポートを行います。

Vagrant(ベイグラント)

  • 運用管理・運用自動化

Vagrant(ベイグラント)とは、仮想環境構築/共有ツールです。仮想化ツール(VirtualBoxなど)のフロントエンドラッパーとして機能し、数行のコマンドのみで簡単に仮想化環境を構築できます。

Itamae(イタマエ)

  • 運用管理・運用自動化

Itamae(イタマエ)とは、サーバ管理を自動化する構成管理ツールです。「Chef」ライクなRuby DSLで記述するツールで、必要最低限の機能のみを揃えており、非常にシンプルに使用できます。

Serverspec(サーバスペック)

  • 自動テストツール

Serverspec(サーバスペック)。サーバ状態のテスト自動化フレームワークです。UNIX/LinuxサーバとWindowsサーバに対応します。

CDIR Collector(シーディーアイアールコレクター)

  • インシデント管理

CDIR Collector(シーディーアイアールコレクター)。セキュリティインシデント初動対応時の適切なデータ保全をサポートするツールです。調査対象端末汚染を最小限に抑えながら安全にデータを収集します。

Apache ZooKeeper(アパッチズーキーパー)

  • 運用管理・運用自動化

Apache ZooKeeper(アパッチズーキーパー)。分散環境運用サポートサービスを提供するコーディネーションエンジンです。各ノード(システム全体)を集中保守管理するための機能を提供します。

Apache Ant(アパッチアント)

  • 運用管理・運用自動化

Apache Ant(アパッチ アント)。ビルドツールです。複雑なコンパイル作業を自動化します。「XML記述」「Javaベースであるためプラットフォームに依存しない」などの特徴があります。

Nagios(ナギオス)

  • 運用管理・運用自動化

Nagios(ナギオス)。統合監視フレームワークです。サーバ/ネットワーク/リソース/サービスなどの稼働状況を監視し、異常時に通知を行います。

CuMAS(カマス)

  • ITIL管理

CuMAS(カマス)。オープンソースの問い合わせメール情報管理/運用システムです。受信メールを問い合わせ情報として登録し、進捗/対応状況の管理が可能です。

Kubernetes(クーベルネイテス)

  • 運用管理・運用自動化

Kubernetes(クーベルネイテス)。Dockerコンテナ群管理フレームワークです。コンテナ群のデプロイ/オーケストレーション/クラスタリング管理/運用管理などの各機能を提供します。

Pandora FMS(パンドラエフエムエス)

  • 運用管理・運用自動化

Pandora FMS(パンドラエフエムエス)。オープンソースの高機能統合監視ツールです。ネットワーク/コンピュータシステム/アプリケーション稼働状況などの監視を行います。

Hatohol(ハトホル)

  • 運用管理・運用自動化

Hatohol(ハトホル)。システム全体を一元的に監視する統合運用管理ツールです。複数の運用管理ツール(Zabbix、Nagiosなど)のハブとして統合的に機能します。

Embulk(エンバルク)

  • ログ管理

Embulk(エンバルク)。オープンソースの並列データ転送フレームワークです。「fluentd」のバッチ版のようなバルク処理に特化したプラグインベースのデータローダーです。大規模データセットのバルクインポートを行えます。

Puppet(パペット)

  • 運用管理・運用自動化

Puppet(パペット)。オープンソースの構成管理ツールです。サーバの環境設定/インストールなどを自動化します。

Chef(シェフ)

  • 運用管理・運用自動化

Chef(シェフ)。構成管理(プロビジョニング)ツールです。ユーザ作成、パッケージインストール、設定ファイル編集などの展開作業を自動化します。物理環境/仮想環境/クラウド環境などの各種インフラに対応します。

Logstash(ログスタッシュ)

  • ログ管理

Logstash(ログスタッシュ)。Elastic社が提供するオープンソースログ収集管理ツールです。ログを収集し、1つのサーバに集約して管理します。主に、Elastic社のリアルタイム検索エンジン「Elasticsearch」とのセットでの使用を想定されています。

Ansible(アンシブル)

  • 運用管理・運用自動化

Ansible(アンシブル)。多数の構築管理対象に対して、アプリーケーション/システムのデプロイ作業を容易にする構成管理ツールです。

SyLAS(シラス)

  • ログ管理

SyLAS(シラス)。システムログを高速検索できるソフトウェアです。複数サーバログの一元管理も可能です。Webインターフェースから操作を行えます。

EasySCP(イージーエスシーピー)

  • 運用管理・運用自動化

EasySCP(イージーエスシーピー)とは、仮想ホスティングコントロールパネルです。Linux系サーバの各種管理/設定をサポートします。

fluentd(フルエントディー)

  • ログ管理

Fluentd(フルーエントディー)。オープンソースログデータ収集管理ツールです。ログなどのデータを収集/JSON変換/転送します。「スキーマレス」「プラグイン機構」「バッファリング機構」などの特徴があります。

Bacula(バキュラ)

  • バックアップツール

Bacula(バキュラ)は『世界で最も利用されているオープンソースのバックアップ&リカバリソフトウェア』であり、様々な種類のコンピュータOSに対応したネットワークバックアップ・リカバリー・データ監査ソフトです。

OTRS(オーティーアールエス)

  • ITIL管理

OTRS(オーティーアールエス)。ヘルプデスク機能+ITIL対応運用管理機能を備える高機能オープンソースのチケット管理ソリューションです。「Open source Ticket Request System」の略で、日本語版ウィキペディアも採用しています。

Hinemos(ヒネモス)

  • 運用管理・運用自動化

Hinemos(ヒネモス)。複数のコンピュータ群を単一のコンピュータのようなイメージで管理することを可能とする国産オープンソース統合運用管理ソリューションです。

Apache log4j(アパッチログフォージェイ)

  • ログ管理

Apache log4j(アパッチログフォージェイ)。オープンソースのJava プログラム用ロギングユーティリティ(API)。

バックナンバー

関連記事

無料資料プレゼント

AI技術の方向性と企業の活用シナリオ

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該資料の作成・提供企業とも共有させていただき、当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

本資料を見るには次の画面でアンケートに回答していただく必要があります。



  • オープソース書籍(サイド)

facebook

twitter