53
Red Hat Ansible Towerのご紹介 Red Hat 株式会社 2017-11-14

Red Hat Ansible Towerのご紹介(20171114)

Embed Size (px)

Citation preview

Page 1: Red Hat Ansible Towerのご紹介(20171114)

Red Hat Ansible Towerのご紹介Red Hat 株式会社2017-11-14

Page 2: Red Hat Ansible Towerのご紹介(20171114)

2

概要1. Ansible Engine

2. Ansible Tower

3. Ansible Towerの販売4. Ansible Towerの導入事例

Page 3: Red Hat Ansible Towerのご紹介(20171114)

IT運用自動化の課題運用管理自動化により、作業時間の短縮や、作業ミスの削減

↓やってみると……↓● 関係者のスキルレベルにギャップ → 翻訳が必要

– スクリプトで自動化したものをExcelでレビュー– メンテナンスも二重管理に

● 企業内に多様なハードウェア・ソフトウェアが存在– 「自動化のためのAPI」があるものは多いが利用方法はバラバラ– 複数製品にまたがる自動化が難しい– 自動化のしくみにより特定ベンダーへロックインされる懸念

Page 4: Red Hat Ansible Towerのご紹介(20171114)

Ansibleによる解決● 一つの言語で全てに対応

– 「そこそこ記述能力があって」「だいたいの関係者が読めそうなくらい」の難しさ

– 言語のバランスの良さで人気● 多数のソフトウェア・ハードウェアに対応

– 各製品用のコンポーネントをモジュールとして提供

Page 5: Red Hat Ansible Towerのご紹介(20171114)

課題の例「Webサーバを1台足す」タスクを自動化するだけでも様々な仕組みが必要になる

– VMwareで仮想マシンを作成→SOAP API– VM上のRHELにhttpdをインストール→シェルスクリプト– ロードバランサの設定を変更→ssh経由のコマンド

↓● Ansible Engineならひとつの言語で対応

Page 6: Red Hat Ansible Towerのご紹介(20171114)

ポピュラー運用管理自動化用途のOSSとしてAnsibleが一番人気過去5年のgoogle検索傾向:Ansible install, Puppet install, Chef install

2012年9月 2017年8月2016年

2015年10月Red Hatが買収

Page 7: Red Hat Ansible Towerのご紹介(20171114)

Ansible の ラインナップ

7

Red Hat Ansible Engine自動化を実現するための製品「Playbook」とよばれるスクリプトで手順を書き、コマンドラインから利用する

Red Hat Ansible TowerAnsible Engineを企業でうまく使うための製品権限管理やWeb UI、REST APIなど企業で必要な機能を提供し、内部でAnsible Engineを呼びだす

Page 8: Red Hat Ansible Towerのご紹介(20171114)

Red Hat Ansible Engine

Page 9: Red Hat Ansible Towerのご紹介(20171114)

Ansibleでできること

プロビジョニング オーケストレーション 構成管理 パッケージインストール 設定変更 ファイル転送

複数の機器・製品に対して自動で順序実行 サーバ/ルータ/スイッチ

/ファイアウォール/ロードバランサ/ストレージ/データベース/クラウド など

サービスの起動・終了 状態把握・確認 バッチ処理 アップデート実行 セキュリティパッチ

9

Page 10: Red Hat Ansible Towerのご紹介(20171114)

Ansibleの特徴

シンプル エージェントレスパワフル 管理対象にエージェント インストール不要 SSH or WinRMのみ

多数の製品・環境に対応し、様々な操作が可能 すぐ利用できるロールを多数提供

ソースコードではない 一つの言語(YAML) 冪等性

10

Page 11: Red Hat Ansible Towerのご紹介(20171114)

その他のLinux ディストリビューション

Ansibleで操作可能なOS

Page 12: Red Hat Ansible Towerのご紹介(20171114)

Ansibleで操作可能なNW製品ベンダー

Page 13: Red Hat Ansible Towerのご紹介(20171114)

Ansibleで操作可能なクラウド製品など

Page 14: Red Hat Ansible Towerのご紹介(20171114)

Ansibleで操作可能なアプリケーション等

Page 15: Red Hat Ansible Towerのご紹介(20171114)

Ansible の動作

playbookユーザー

ネットワークモジュール

クラウド

インベントリサーバー

API

15

ユーザはPlaybookと呼ばれるスクリプトを作成し、Ansibleで実行Ansibleは管理対象の各システムと通信し、Playbookの内容を実現

Page 16: Red Hat Ansible Towerのご紹介(20171114)

Playbookの例

playbookユーザー

ネットワークモジュール

クラウド

インベントリサーバー

API

16

- hosts: webservers vars: http_port: 80 max_clients: 200 remote_user: root tasks: - name: ensure apache is at the latest version yum: name: httpd state: latest

Page 17: Red Hat Ansible Towerのご紹介(20171114)

tasks: - name: キャッシュディレクトリ追加 file: path=/opt/cache state=directory - name: nginxをインストール yum: name=nginx state=latest - name: nginxを再起動 service: name=nginx state=restarted

Playbookはタスクを並べたもの

上から下へ順に実行していく

tasks: - name: apacheをインストール yum: name={{ item }} state=present with_items: - httpd - libselinux-python ループはタスク単位

with_itemsは item変数に代入して順に実行

Playbookの基本(1)

{{ 変数名 }} でタスクに変数を埋め込み

Page 18: Red Hat Ansible Towerのご紹介(20171114)

tasks: - name: cache dirを作成 file: path={{ cache_dir }} state=directory - name: nginxをインストール yum: name=httpd state=installed when: ansible_os_family == "RedHat"

条件文もタスク単位

そこまででnotifyの呼出がされていると

handlerは1回だけ実行

tasks: - name: cache dirを作成 file: path=/opt/cache state=directory - name: nginxをインストール yum: name=nginx state=latest notify: nginxを再起動handlers: - name: nginxを再起動 service: name=nginx state=restarted

Playbookの基本(2)

Page 19: Red Hat Ansible Towerのご紹介(20171114)

Red Hat Ansible Tower

Page 20: Red Hat Ansible Towerのご紹介(20171114)

Ansibleの課題● 定期実行などのジョブ管理機能がほしい● 皆がバラバラにAnsibleを利用すると「いつ、誰が、何に、何を」実行したかわからない– 誰が作ったか謎の仮想マシン→「このVM誰が使ってるの??」– → どこかでログを集約したい

● 「Ansibleで何でもできる権限」を誰にでもは渡せない– 例: VMwareの管理者権限、ネットワーク機器の管理者権限 etc.– →「特定Playbookの実行だけをさせる」ような制限つきの権限を渡す仕組みが欲しい

● 他システムとの連携

Page 21: Red Hat Ansible Towerのご紹介(20171114)

Ansible Towerによる解決● PlaybookをJob Templateとしてテンプレート化、

ジョブコントロール● 実行ログを集約・可視化● ユーザ権限管理 、監査ログの記録

– Project BのメンバーはProject Bに関しての操作だけができる– 「あらかじめ割りあてられたJob YYの実行」だけができるオペ

レータ用の操作画面● 他システムからREST APIによる呼び出し

Page 22: Red Hat Ansible Towerのご紹介(20171114)

Ansible Tower についてAnsible Towerは各種管理機能を提供し、ユーザはAnsible Tower経由でAnsibleを実行する

ジョブコントロール 可視化 権限管理

シンプル エージェントレスパワフル

Page 23: Red Hat Ansible Towerのご紹介(20171114)

23

ジョブコントロール スケジュール実行 ジョブの集中管理 / 一括実行 Ad-hoc Command の実行 ジョブの抽象化

Page 24: Red Hat Ansible Towerのご紹介(20171114)

権限管理● ユーザの認証機能(ログイン)● 複数のユーザをまとめたTeamの作成● ユーザ / Team 毎の権限設定

● Inventory (対象ホスト群)● Credentials (パスワード等)● Job Template (パラメータ+Playbook)● Project (Playbook群)

Page 25: Red Hat Ansible Towerのご紹介(20171114)

25

可視化 ダッシュボード

全体の実行結果 Jobの実行結果

Step毎の結果 ログ

Job Template 毎の実行結果 Inventory / Host 毎の実行結果

監査が可能

Page 26: Red Hat Ansible Towerのご紹介(20171114)

Ansible Towerの便利な機能

外部からRestful API経由でAnsible Towerの機能を実行 一度登録すると暗号化され編集時にも過去の登録内容は一切表示されません。

Restful API 通知機能 パスワード管理 Job 実行 / playbook 更新などの通知機能 Email / Slack / Twilio/ PagerDuty / HipChat / Webhook

Page 27: Red Hat Ansible Towerのご紹介(20171114)

OS に対してのステータス収集を行うJob Package / Service / Status

スキャン Job Fact Caching

一度収集したfactを指定時間だけ保持する。 fact収集を複数回実行することによる処理時間を短縮。

Activity Stream

全操作に対する実行履歴の時系列表示機能

Ansible Towerの便利な機能

Page 28: Red Hat Ansible Towerのご紹介(20171114)

Ansibleの販売

Page 29: Red Hat Ansible Towerのご紹介(20171114)

Ansible Engineで何が嬉しいの?● 自動化による効率化

– 定型作業を自動化できて作業負荷が下がる– 作業の品質向上、再現性向上、人的ミス回避

● Playbookを改善していくことで運用の品質を持続的に向上していく

– (Playbookが十分に良ければ)人的ミスによる手戻りなし● 1台ずつの確認作業削減

Page 30: Red Hat Ansible Towerのご紹介(20171114)

Ansible Towerで何が嬉しいの?● 管理者権限の部分的な譲渡による効率化

– セルフサービス化による効率化● 社内ユーザにAnsible Towerで直接作業を起動してもらう

→ やりとりの待ち時間短縮・事務的手続きの省略– 他システムとの連携による効率化

● 他システムのイベントを契機とした処理● 他システムとの連携

– REST API, 通知, etc.

Page 31: Red Hat Ansible Towerのご紹介(20171114)

誰に売るの?

● IT運用負荷の軽減を考えている人開発チーム、システム管理部門、ネットワーク管理部門、DevOpsチーム– Ansibleを既に使っていませんか?– IT関連で申請と受付がたくさんあって大変じゃないですか?– バラバラに作り込んで属人化していませんか?– アプリケーションやインフラの配備を頻繁にやっていますか?– プログラムがわからない人にもレビューしてほしいですよね?

Page 32: Red Hat Ansible Towerのご紹介(20171114)

誰に売るの?

● 「Ansible知ってますか?」と聞いて「知ってるけど会社で使うのはチョットなあ」と言っている人– 「チョット」と言っているところはだいたい……

● 管理面 → Ansible Towerの出番● Playbookを書ける人が少ない → トレーニングの出番● サポート → サポートだけならAnsible Engineかも

– Ansible Towerの見込み客としては有望かもしれない

Page 33: Red Hat Ansible Towerのご紹介(20171114)

Ansible Towerが合わない人は?

● 運用ではなく「構築だけ」をする人– 構築時には全部の権限を持っているケースが多い

そのためTowerは不要でAnsible Engineだけで用が足りがち→ 他の人や部門とのやりとりや関連がないか?を探す

● 一人で全部やっているところ– 「管理者一人で全部やってます!」という会社にはほぼ権

限管理の必要がない→ Ansible Towerの監査ログ収集や、エンドユーザにセルフサービスしてもらうのに興味があるか聞いてみる

Page 34: Red Hat Ansible Towerのご紹介(20171114)

誰に売れないの?● 自社内でPlaybookを書く/読む気が全くない人

– 「自動化する人が使うツール」で「買うと自動化される魔法」ではない→ 他のお客さんを探そう……

● 関係者全員がプログラマ– Ansibleの特徴「プログラムが書けない人にもだいたい読める」が

あまりマッチしない→ 他の人や部門とのやりとりや関連がないか?

Page 35: Red Hat Ansible Towerのご紹介(20171114)

価格は?

Ansible EngineおよびAnsible Towerのサブスクリプション費用は管理対象ノードの数により決まります。サブスクリプションは積みあげします。( 例: 160ノード管理したい場合は 100ノードの製品を2本購入する)Ansible Engine Networking Add-onのみ、管理台数にかかわらず1社で1本

unit Standard PremiumAnsible Tower 100 nodes 1,300,000 1,820,000Ansible Engine 100 nodes 650,000 910,000Ansible Tower with Ansible Engine 100 nodes 1,690,000 2,275,000Networking Add-on 1社 6,500,000

Page 36: Red Hat Ansible Towerのご紹介(20171114)

Ansible Towerは「高い」のか?

「定価100ノードで年間169万円で、これから開始ですね」「え、高くない?」「Ansible Towerを導入して自動化がうまくいったら、社内全体で週に何時間くらい時間を節約できそうですか?」「10時間くらいかな……」↑ここを考えて貰うのが重要「年48週稼動として、皆さんの時間”480時間”を169万円で買うと思うと、1時間あたり3000円くらいですよね……?」

Page 37: Red Hat Ansible Towerのご紹介(20171114)

Ansible 関連トレーニング「興味はあるけどPlaybookとかわからないなー」という場合にもトレーニングがあります

● DO007 Ansible Essentials: Simplicity in Automation Technical Overview (無償、英語ビデオコース)

● DO408 Automation with Ansible with exam (4.5日、教室、日本語、216,000円(税別))

● DO409 Automation with Ansible II: Ansible Tower(オンライン、英語、93,500円(税別))

Page 38: Red Hat Ansible Towerのご紹介(20171114)

パートナー向け無償トレーニングRed Hat認定パートナーにはパートナーセンターにてオンライントレーニングを提供中● How to Sell Ansible Tower by Red Hat

– 営業むけトレーニング● Ansible by Red Hat Foundations

– AnsibleとAnsible Towerの機能概要を見る演習● Automation with Ansible by Red Hat

– DO408の縮小版。Playbookを書けるようになるための演習

Page 39: Red Hat Ansible Towerのご紹介(20171114)

Ansible TowerとRed Hat他製品の連携

Page 40: Red Hat Ansible Towerのご紹介(20171114)

Red Hat他製品との統合● Red Hat Enterprise Linux

– 7.4からRHEL System Roles 同梱● Red Hat Insights

– 一部のアクションで対応用Playbookを生成● Red Hat CloudForms

– Ansible Towerと連携、Ansibleによる自動化対応● Red Hat Satellite

– Ansible Towerと連携、Ansibleによる自動化対応(予定)

Page 41: Red Hat Ansible Towerのご紹介(20171114)

Red Hat Insightsによる問題検出・緩和● 各RHELの状態をRed Hat Insightsへレポート● ルールにより障害につながる可能性が高い要素を検出

– 重大な問題が修正される前のバージョン– 典型的な設定の問題– 統計情報の異常– ファームウェアバージョンやISV製品との互換性

● 問題に対する緩和策をAnsible Playbookにより提供– 一部の問題のみ– 選択したホスト用に出力

Page 42: Red Hat Ansible Towerのご紹介(20171114)

Insights + Ansibleイメージ図1. 診断情報を定期送付

2. レポート表示/Playbook生成 3. Insights API経由でPlaybookを

Job Templateとして取り込み

4. 対策の実施

Page 43: Red Hat Ansible Towerのご紹介(20171114)

Red Hat Satelliteによるコンテンツ管理● Red Hat Satelliteによるコンテンツ(rpmパッケージ等)の

バージョン管理機能を活用する● コンテンツ管理と自動操作の組み合わせによる作業の再

現性を向上● 利用例) ① 「2017年5月15日版」のコンテンツビューを作成② テスト環境でAnsibleによるアップデート実施③ テスト環境で各種のテストを実施④ 「2017年5月15日版」を本番環境へ適用⑤ テスト環境でテスト済みのAnsible Playbookによるアップデートを実施

Page 44: Red Hat Ansible Towerのご紹介(20171114)

Satellite + Ansibleイメージ図

Satellite

コンテンツ同期

● サブスクリプション管理● パッケージを同期● 各サーバのインベントリ● コンテンツのバージョン管理

パッケージのインストールやアップデートを含む各種作業を

それぞれのサーバに指示

インストール・アップデート

パッケージの提供タイミングは基本的に「なるはや」

任意タイミングで社内用バージョン作成

更新指示インベントリ情報同期

Page 45: Red Hat Ansible Towerのご紹介(20171114)

Ansible Towerの導入事例

Page 46: Red Hat Ansible Towerのご紹介(20171114)

46

Ansible by Red Hat の顧客事例世界で、既に600社を超える企業に導入されています。

Page 47: Red Hat Ansible Towerのご紹介(20171114)

Narrative Clip 企業

服やカバンなどに取り付けると30秒ごとに自動で撮影を行い日常を記録してくれるウェアラブルカメラ: Narrative Clipを提供する企業です。 撮影された画像は(AWS上の)Narrative Cloudにアップロードされ保存されます。

課題 Narrative Clipのアプリケーションを支えるためには自動化されたデプロイを連続的に実行する必要がありました。 Ansible Towerを選択する前にAnsibleを使用していましたが、Ansible Serverへの管理Nodeの追加等の設定を手動で行う必要がありました。

解決策 Ansible Towerを用いて、EC2上へのインスタンスの作成と状態確認を実行しました。

効果 Ansible Towerの導入により、ほぼ自動でこれらの作業を実施することができるようになりました。

Page 48: Red Hat Ansible Towerのご紹介(20171114)

Lifesum 企業

Lifesumは、スマフォを使った健康管理アプリを提供する企業で、ヨーロッパを中心に1,300万DLを突破しています。 課題

LifesumのインフラはAWSのLinux上で動作しており、アプリケーションの展開やリモートコマンド実行を各種ツールやスクリプトを駆使して実行していましたが、複数の異なる環境を構築し管理するためには複雑で、多くの問題を抱えていました。 解決策

Ansibleを使用しコンフィグ管理、インスタンスの作成とアプリケーションの展開を自動化しました。 効果

Ansible導入後3ヶ月で運用に移行しました。 シンプルでエージェントレス設計のAnsibleを利用することで、コンフィグ管理とアプリケーションの展開が容易で円滑になりました。 反復可能なプロセスでplaybookを作成することにより設定ミスがなくなり、開発者は提供する製品の品質に注力することができました。 毎日何度も展開できるようになり必要に応じて迅速なロールバックも可能になりました。

Page 49: Red Hat Ansible Towerのご紹介(20171114)

BinckBank 企業

BinckBankは、オランダで最大のオンライン投資銀行で、76万以上の口座を保有しています。 課題

データセンターの複雑さが課題でした。 自動化製品を使用するにあたってトレーニングが不要なシンプルさが必要でした。 独自のスクリプトで自動化していましたが、作成やデバッグにかなりの時間を費やしていました。

解決策 Linux / Unix Serverに対してAnsibleを使用しました。

効果 Ansibleを使用することで正しく環境が構築できていることを示せるようになり、これまで問題が発生した際にインストールは正しく行われたか設定は間違っていないか等の疑念から長時間の確認作業を強いられていましたが、信頼されるようになりました。 500台以上のサーバに対して、事前の設定なく(エージェントのインストールが不要で)すぐに設定を行えるようになりました。 Ansible Towerを導入したことで社内の非技術者もAnsibleを利用できるようになりました。

Page 50: Red Hat Ansible Towerのご紹介(20171114)

THANK YOU

Page 51: Red Hat Ansible Towerのご紹介(20171114)

backup slide

Page 52: Red Hat Ansible Towerのご紹介(20171114)

モジュールのサポートcore 一部network community

Ansible Engine Red Hatにて Networking add-onがあれば コミュニティにて

Ansible Tower Ansible Engine 部分についてのサポートはなしAnsible Tower with Ansible

EngineRed Hatにて Networking add-

onがあれば コミュニティにて

http://docs.ansible.com/ansible/latest/modules_support.html

Page 53: Red Hat Ansible Towerのご紹介(20171114)

コミュニティプロジェクトと製品AWX

ProjectAnsible Project

Ansible Tower

Ansible Engine

サポート コミュニティ コミュニティ Red Hat Red Hat自動化 ○ ○

管理機能 ○ ○

頻繁にリリース

頻繁にリリース

AWXの中で選別した

バージョンを18ヶ月間

メンテナンス

2バージョン後の出荷まで

メンテナンスhttps://access.redhat.com/support/policy/updates/ansible-enginehttps://access.redhat.com/support/policy/updates/ansible-tower