Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Red Hat Ansible Towerのご紹介(20171114)

749 views

Published on



Red Hat Ansible Towerがどういう位置づけの製品かを簡単に紹介する資料

更新はこちら https://speakerdeck.com/moriwaka/red-hat-ansible-towerfalsegoshao-jie

Published in: Technology
  • Be the first to comment

Red Hat Ansible Towerのご紹介(20171114)

  1. 1. Red Hat Ansible Towerのご紹介 Red Hat 株式会社 2017-11-14
  2. 2. 2 概要 1. Ansible Engine 2. Ansible Tower 3. Ansible Towerの販売 4. Ansible Towerの導入事例
  3. 3. IT運用自動化の課題 運用管理自動化により、作業時間の短縮や、作業ミスの削減 ↓やってみると……↓ ● 関係者のスキルレベルにギャップ → 翻訳が必要 – スクリプトで自動化したものをExcelでレビュー – メンテナンスも二重管理に ● 企業内に多様なハードウェア・ソフトウェアが存在 – 「自動化のためのAPI」があるものは多いが利用方法はバラバラ – 複数製品にまたがる自動化が難しい – 自動化のしくみにより特定ベンダーへロックインされる懸念
  4. 4. Ansibleによる解決 ● 一つの言語で全てに対応 – 「そこそこ記述能力があって」 「だいたいの関係者が読めそうなくらい」の難しさ – 言語のバランスの良さで人気 ● 多数のソフトウェア・ハードウェアに対応 – 各製品用のコンポーネントをモジュールとして提供
  5. 5. 課題の例 「Webサーバを1台足す」タスクを自動化するだけ でも様々な仕組みが必要になる – VMwareで仮想マシンを作成→SOAP API – VM上のRHELにhttpdをインストール→シェルスクリプト – ロードバランサの設定を変更→ssh経由のコマンド ↓ ● Ansible Engineならひとつの言語で対応
  6. 6. ポピュラー 運用管理自動化用途のOSSとしてAnsibleが一番人気 過去5年のgoogle検索傾向: Ansible install, Puppet install, Chef install 2012年9月 2017年8月2016年 2015年10月 Red Hatが買収
  7. 7. Ansible の ラインナップ 7 Red Hat Ansible Engine 自動化を実現するための製品 「Playbook」とよばれるスクリプトで手順を 書き、コマンドラインから利用する Red Hat Ansible Tower Ansible Engineを企業でうまく使うための製品 権限管理やWeb UI、REST APIなど企業で必要な 機能を提供し、内部でAnsible Engineを呼びだす
  8. 8. Red Hat Ansible Engine
  9. 9. Ansibleでできること プロビジョニング オーケストレーション 構成管理  パッケージインストール  設定変更  ファイル転送  複数の機器・製品に対し て自動で順序実行  サーバ/ルータ/スイッチ /ファイアウォール/ロー ドバランサ/ストレージ/ データベース/クラウド など  サービスの起動・終了  状態把握・確認  バッチ処理  アップデート実行  セキュリティパッチ 9
  10. 10. Ansibleの特徴 シンプル エージェントレスパワフル  管理対象にエージェント  インストール不要  SSH or WinRMのみ  多数の製品・環境に対応 し、様々な操作が可能  すぐ利用できるロールを 多数提供  ソースコードではない  一つの言語(YAML)  冪等性 10
  11. 11. その他のLinux ディストリビューション Ansibleで操作可能なOS
  12. 12. Ansibleで操作可能なNW製品ベンダー
  13. 13. Ansibleで操作可能なクラウド製品など
  14. 14. Ansibleで操作可能なアプリケーション等
  15. 15. Ansible の動作 playbookユーザー ネットワーク モジュール クラウド インベントリ サーバー API 15 ユーザはPlaybookと呼ばれるスクリプトを作成し、Ansibleで実行 Ansibleは管理対象の各システムと通信し、Playbookの内容を実現
  16. 16. Playbookの例 playbookユーザー ネットワーク モジュール クラウド インベントリ サーバー API 16 - hosts: webservers vars: http_port: 80 max_clients: 200 remote_user: root tasks: - name: ensure apache is at the latest vers yum: name: httpd state: latest
  17. 17. 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) {{ 変数名 }} でタスクに 変数を埋め込み
  18. 18. 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)
  19. 19. Red Hat Ansible Tower
  20. 20. Ansibleの課題 ● 定期実行などのジョブ管理機能がほしい ● 皆がバラバラにAnsibleを利用すると「いつ、誰が、 何に、何を」実行したかわからない – 誰が作ったか謎の仮想マシン→「このVM誰が使ってるの??」 – → どこかでログを集約したい ● 「Ansibleで何でもできる権限」を誰にでもは渡せない – 例: VMwareの管理者権限、ネットワーク機器の管理者権限 etc. – →「特定Playbookの実行だけをさせる」ような制限つきの権限を渡す仕組みが 欲しい ● 他システムとの連携
  21. 21. Ansible Towerによる解決 ● PlaybookをJob Templateとしてテンプレート化、 ジョブコントロール ● 実行ログを集約・可視化 ● ユーザ権限管理 、監査ログの記録 – Project BのメンバーはProject Bに関しての操作だけができる – 「あらかじめ割りあてられたJob YYの実行」だけができるオペ レータ用の操作画面 ● 他システムからREST APIによる呼び出し
  22. 22. Ansible Tower について Ansible Towerは各種管理機能を提供し、 ユーザはAnsible Tower経由でAnsibleを実行する ジョブコントロール 可視化 権限管理 シンプル エージェントレスパワフル
  23. 23. 23 ジョブコントロール  スケジュール実行  ジョブの集中管理 / 一括実行  Ad-hoc Command の実行  ジョブの抽象化
  24. 24. 権限管理 ● ユーザの認証機能(ログイン) ● 複数のユーザをまとめたTeamの 作成 ● ユーザ / Team 毎の権限設定 ● Inventory (対象ホスト群) ● Credentials (パスワード等) ● Job Template (パラメータ+Playbook) ● Project (Playbook群)
  25. 25. 25 可視化  ダッシュボード  全体の実行結果  Jobの実行結果  Step毎の結果  ログ  Job Template 毎の実行結果  Inventory / Host 毎の実行結果 監査が可能
  26. 26. Ansible Towerの便利な機能  外部からRestful API経由 でAnsible Towerの機能 を実行  一度登録すると暗号化 され編集時にも過去の 登録内容は一切表示さ れません。 Restful API 通知機能 パスワード管理  Job 実行 / playbook 更新などの通知機能  Email / Slack / Twilio / PagerDuty / HipChat / Webhook
  27. 27.  OS に対してのステータス 収集を行うJob  Package / Service / Status スキャン Job Fact Caching  一度収集したfactを指 定時間だけ保持する。  fact収集を複数回実行 することによる処理時 間を短縮。 Activity Stream  全操作に対する実行履 歴の時系列表示機能 Ansible Towerの便利な機能
  28. 28. Ansibleの販売
  29. 29. Ansible Engineで何が嬉しいの? ● 自動化による効率化 – 定型作業を自動化できて作業負荷が下がる – 作業の品質向上、再現性向上、人的ミス回避 ● Playbookを改善していくことで運用の品質を 持続的に向上していく – (Playbookが十分に良ければ)人的ミスによる手戻りなし ● 1台ずつの確認作業削減
  30. 30. Ansible Towerで何が嬉しいの? ● 管理者権限の部分的な譲渡による効率化 – セルフサービス化による効率化 ● 社内ユーザにAnsible Towerで直接作業を起動してもらう → やりとりの待ち時間短縮・事務的手続きの省略 – 他システムとの連携による効率化 ● 他システムのイベントを契機とした処理 ● 他システムとの連携 – REST API, 通知, etc.
  31. 31. 誰に売るの? ● IT運用負荷の軽減を考えている人 開発チーム、システム管理部門、 ネットワーク管理部門、DevOpsチーム – Ansibleを既に使っていませんか? – IT関連で申請と受付がたくさんあって大変じゃないですか? – バラバラに作り込んで属人化していませんか? – アプリケーションやインフラの配備を頻繁にやっていますか? – プログラムがわからない人にもレビューしてほしいですよね?
  32. 32. 誰に売るの? ● 「Ansible知ってますか?」と聞いて 「知ってるけど会社で使うのはチョットなあ」と 言っている人 – 「チョット」と言っているところはだいたい…… ● 管理面 → Ansible Towerの出番 ● Playbookを書ける人が少ない → トレーニングの出番 ● サポート → サポートだけならAnsible Engineかも – Ansible Towerの見込み客としては有望かもしれない
  33. 33. Ansible Towerが合わない人は? ● 運用ではなく「構築だけ」をする人 – 構築時には全部の権限を持っているケースが多い そのためTowerは不要でAnsible Engineだけで用が足りがち → 他の人や部門とのやりとりや関連がないか?を探す ● 一人で全部やっているところ – 「管理者一人で全部やってます!」という会社にはほぼ権 限管理の必要がない → Ansible Towerの監査ログ収集や、エンドユーザにセルフ サービスしてもらうのに興味があるか聞いてみる
  34. 34. 誰に売れないの? ● 自社内でPlaybookを書く/読む気が全くない人 – 「自動化する人が使うツール」で「買うと自動化される魔法」ではない → 他のお客さんを探そう…… ● 関係者全員がプログラマ – Ansibleの特徴「プログラムが書けない人にもだいたい読める」が あまりマッチしない → 他の人や部門とのやりとりや関連がないか?
  35. 35. 価格は? Ansible EngineおよびAnsible Towerのサブスクリプション費用は 管理対象ノードの数により決まります。サブスクリプションは積み あげします。( 例: 160ノード管理したい場合は 100ノードの製品を2 本購入する) Ansible Engine Networking Add-onのみ、管理台数にかかわらず1 社で1本 unit Standard Premium Ansible Tower 100 nodes 1,300,000 1,820,000 Ansible Engine 100 nodes 650,000 910,000 Ansible Tower with Ansible Engine 100 nodes 1,690,000 2,275,000 Networking Add-on 1社 6,500,000
  36. 36. Ansible Towerは「高い」のか? 「定価100ノードで年間169万円で、これから開始ですね」 「え、高くない?」 「Ansible Towerを導入して自動化がうまくいったら、社内 全体で週に何時間くらい時間を節約できそうですか?」 「10時間くらいかな……」↑ここを考えて貰うのが重要 「年48週稼動として、皆さんの時間”480時間”を169万円で 買うと思うと、1時間あたり3000円くらいですよね……?」
  37. 37. 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円(税別))
  38. 38. パートナー向け無償トレーニング 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を書けるようになるための演習
  39. 39. Ansible TowerとRed Hat他製品の連携
  40. 40. 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による自動化対応(予定)
  41. 41. Red Hat Insightsによる問題検出・緩和 ● 各RHELの状態をRed Hat Insightsへレポート ● ルールにより障害につながる可能性が高い要素を検出 – 重大な問題が修正される前のバージョン – 典型的な設定の問題 – 統計情報の異常 – ファームウェアバージョンやISV製品との互換性 ● 問題に対する緩和策をAnsible Playbookにより提供 – 一部の問題のみ – 選択したホスト用に出力
  42. 42. Insights + Ansibleイメージ図 1. 診断情報を定期送付 2. レポート表示/ Playbook生成 3. Insights API経由でPlaybookを Job Templateとして取り込み 4. 対策の実施
  43. 43. Red Hat Satelliteによるコンテンツ管理 ● Red Hat Satelliteによるコンテンツ(rpmパッケージ等)の バージョン管理機能を活用する ● コンテンツ管理と自動操作の組み合わせによる作業の再 現性を向上 ● 利用例) ① 「2017年5月15日版」のコンテンツビューを作成 ② テスト環境でAnsibleによるアップデート実施 ③ テスト環境で各種のテストを実施 ④ 「2017年5月15日版」を本番環境へ適用 ⑤ テスト環境でテスト済みのAnsible Playbookによるアップデートを実施
  44. 44. Satellite + Ansibleイメージ図 Satellite コンテンツ同期 ● サブスクリプション管理 ● パッケージを同期 ● 各サーバのインベントリ ● コンテンツのバージョン管理 パッケージのインストールや アップデートを含む各種作業を それぞれのサーバに指示 インストール・ アップデート パッケージの 提供タイミングは 基本的に「なるはや」 任意タイミングで 社内用バージョン作成 更新指示 インベントリ情報同期
  45. 45. Ansible Towerの導入事例
  46. 46. 46 Ansible by Red Hat の顧客事例 世界で、既に600社を超える企業に導入されています。
  47. 47. Narrative Clip  企業  服やカバンなどに取り付けると30秒ごとに自動で撮影を行い日常を記録してくれる ウェアラブルカメラ: Narrative Clipを提供する企業です。  撮影された画像は(AWS上の)Narrative Cloudにアップロードされ保存されます。  課題  Narrative Clipのアプリケーションを支えるためには自動化されたデプロイを連続的 に実行する必要がありました。  Ansible Towerを選択する前にAnsibleを使用していましたが、Ansible Serverへの管 理Nodeの追加等の設定を手動で行う必要がありました。  解決策  Ansible Towerを用いて、EC2上へのインスタンスの作成と状態確認を実行しまし た。  効果  Ansible Towerの導入により、ほぼ自動でこれらの作業を実施することができるよう になりました。
  48. 48. Lifesum 企業  Lifesumは、スマフォを使った健康管理アプリを提供する企業で、 ヨーロッパを中心に1,300万DLを突破しています。  課題  LifesumのインフラはAWSのLinux上で動作しており、アプリケーションの展開や リモートコマンド実行を各種ツールやスクリプトを駆使して実行していました が、複数の異なる環境を構築し管理するためには複雑で、多くの問題を抱えてい ました。  解決策  Ansibleを使用しコンフィグ管理、インスタンスの作成とアプリケーションの展開 を自動化しました。  効果  Ansible導入後3ヶ月で運用に移行しました。  シンプルでエージェントレス設計のAnsibleを利用することで、コンフィグ管理と アプリケーションの展開が容易で円滑になりました。  反復可能なプロセスでplaybookを作成することにより設定ミスがなくなり、開発 者は提供する製品の品質に注力することができました。  毎日何度も展開できるようになり必要に応じて迅速なロールバックも可能になり ました。
  49. 49. BinckBank  企業  BinckBankは、オランダで最大のオンライン投資銀行で、 76万以上の口座を保有しています。  課題  データセンターの複雑さが課題でした。  自動化製品を使用するにあたってトレーニングが不要なシンプルさが必要でした。  独自のスクリプトで自動化していましたが、作成やデバッグにかなりの時間を費やし ていました。  解決策  Linux / Unix Serverに対してAnsibleを使用しました。  効果  Ansibleを使用することで正しく環境が構築できていることを示せるようになり、こ れまで問題が発生した際にインストールは正しく行われたか設定は間違っていないか 等の疑念から長時間の確認作業を強いられていましたが、信頼されるようになりまし た。  500台以上のサーバに対して、事前の設定なく(エージェントのインストールが不要 で)すぐに設定を行えるようになりました。  Ansible Towerを導入したことで社内の非技術者もAnsibleを利用できるようになりま した。
  50. 50. THANK YOU
  51. 51. backup slide
  52. 52. モジュールのサポート core 一部network community Ansible Engine Red Hatにて Networking add- onがあれば コミュニティにて Ansible Tower Ansible Engine 部分についてのサポートはなし Ansible Tower with Ansible Engine Red Hatにて Networking add- onがあれば コミュニティにて http://docs.ansible.com/ansible/latest/modules_support.html
  53. 53. コミュニティプロジェクトと製品 AWX Project Ansible Project Ansible Tower Ansible Engine サポート コミュニティ コミュニティ Red Hat Red Hat 自動化 ○ ○ 管理機能 ○ ○ 頻繁に リリース 頻繁に リリース AWXの中で 選別した バージョンを 18ヶ月間 メンテナンス 2バージョン 後の 出荷まで メンテナンス https://access.redhat.com/support/policy/updates/ansible-engine https://access.redhat.com/support/policy/updates/ansible-tower

×