Upload
moriwaka-kazuo
View
291
Download
3
Embed Size (px)
Citation preview
Ansible Tower by Red Hatのご紹介
Red Hat 株式会社
2017-02-01
2
Agenda1. Ansible
2. Ansible Tower
3. Ansible Towerの販売
4. Ansible Towerの導入事例
IT運用自動化の課題共通認識「IT運用には定型作業が多いから自動化したいね」「簡単に自動化できるところもあるよね」
↓やろう↓● 関係者のスキルレベルにギャップ → 翻訳が必要
– スクリプトで自動化したものをExcelでレビュー– メンテナンスも二重管理に
● 企業内に多様なハードウェア・ソフトウェアが存在– 「自動化のためのAPI」があるものは多いが利用方法はバラバラ– 複数製品にまたがる自動化が難しい– ある方法で自動化すると特定ベンダーへロックインされる
Ansibleによる解決● 一つの言語で全てに対応
– 「そこそこ記述能力があって」「だいたいの関係者が読めそうなくらい」の難しさ
– 言語のバランスの良さで人気● 多数のソフトウェア・ハードウェアに対応
– 各製品用のコンポーネントをモジュールとして提供
課題の例「Webサーバを1台足す」タスクを自動化する
– VMwareで仮想マシンを作成→SOAP API– VM上のRHELにhttpdをインストール→シェルスクリプト– ロードバランサの設定を変更→ssh経由のコマンド
↓● Ansibleならひとつの言語で対応
Ansible の ラインナップ
Ansible TowerRed Hat 社が提供するAnsible Coreを企業でうまく使うための製品
6
Ansible Core自動化を実現するためのOSSRed Hatの製品としての提供はされていませんお客さんが「Ansible」というとおそらくこちら
Ansible powered by Red Hat
Ansible を使ってできること
プロビジョニング オーケストレーション 構成管理
パッケージインストール 設定変更 ファイル転送
複数の機器・製品に対して自動で順序実行
サーバ/ルータ/スイッチ/ファイアウォール/ロードバランサ/ストレージ/データベース/クラウド など
サービスの起動・終了 状態把握・確認 バッチ処理 アップデート実行 セキュリティパッチ
8
Ansible の特徴
シンプル エージェントレスパワフル
管理対象にエージェント インストール不要 SSH or WinRMのみ
多数の製品・環境に対応し、様々な操作が可能
すぐ利用できるロールを多数提供
ソースコードではない 一つの言語(YAML) 冪等性
9
その他のLinux ディストリビューション
Ansibleで操作可能なOS
Ansibleで操作可能なNW製品ベンダー
Ansibleで操作可能なクラウド製品など
Ansibleで操作可能なアプリケーション等
Ansible の動作
playbookユーザー
ネットワーク
モジュール
クラウド
インベントリ
サーバー
API
14
ユーザはPlaybookと呼ばれるスクリプトを作成し、Ansibleで実行Ansibleは管理対象の各システムと通信し、Playbookの内容を実現
Playbookの例
playbookユーザー
ネットワーク
モジュール
クラウド
インベントリ
サーバー
API
15
- 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
Ansible Towerby Red Hat
Ansible Coreの課題● 「Ansibleで何でもできる権限」を誰にでもは渡せない
– 例: VMwareの管理者権限、ネットワーク機器の管理者権限 etc.● バラバラにAnsibleを利用すると「いつ、誰が、何に、
何を」実行したかわからない– 誰が作ったか謎の仮想マシン→「このVM誰が使ってるの??」
● 「特定Playbookの実行だけをさせる」ような制限つきの権限を渡したい– 自分でPlaybookを書けないユーザ– 他のシステムからの呼びだし
Ansible Towerによる解決● Ansible Towerに企業内のAnsibleを集約
– パスワードなどの情報をAnsible Towerに集約● ユーザ権限管理
– ユーザAはProject BのメンバーなのでProject Bに関しての操作だけができる
– XXシステムは「あらかじめ割りあてられたJob YYの実行」だけができる● 履歴管理
– いつ誰が何を実行して結果がどうだったか?● オペレータ用の操作画面● 他プログラムからAnsible Towerを呼びだすためのAPI提供
Ansible Tower について
ジョブコントロール
シンプル エージェントレスパワフル
可視化 権限管理
19
Ansible Towerは各種管理機能を提供し、ユーザはAnsible Tower経由でAnsibleを実行する
20
ジョブコントロール スケジュール実行 ジョブの集中管理 / 一括実行 Ad-hoc Command の実行 ジョブの抽象化
権限管理● ユーザの認証機能(ログイン)● 複数のユーザをまとめたTeamの作
成● ユーザ / Team 毎の権限設定
● Inventory (対象ホスト群)● Credentials (パスワード等)● Job Template (パラメータ+Playbook)
● Project (Playbook群)
22
可視化 ダッシュボード
全体の実行結果 Jobの実行結果
Step毎の結果 ログ
Job Template 毎の実行結果 Inventory / Host 毎の実行結果
監査が可能
Ansible Towerの便利な機能
外部からRestful API経由でAnsible Towerの機能を実行 一度登録すると暗号化され編集時にも過去の登録内容は一切表示されません。
Restful API 通知機能 パスワード管理
Job 実行 / playbook 更新などの通知機能 Email / Slack / Twilio/ PagerDuty / HipChat / Webhook
OS に対してのステータス収集を行うJob
Package / Service / Status
スキャン Job システム追跡
Scan Job の結果比較機能 Scan Job が同時実行された複数のHost 間 / 同一のHost の過去結果との比較
Activity Stream
全操作に対する実行履歴の時系列表示機能
Ansible Towerの便利な機能
Ansible Towerの販売
Ansible Coreで何が嬉しいの?● Ansible Coreでの自動化による効率化
– 定型作業を自動化できて作業負荷が下がる– 作業の品質向上、再現性向上、人的ミス回避
● Playbookを改善していくことで運用の品質を持続的に向上していく
– (Playbookが十分に良ければ)人的ミスによる手戻りなし● 1台ずつの確認作業削減
Ansible Towerで何が嬉しいの?● Ansible Towerでの「管理者権限の部分的な譲与」による効率化– セルフサービスによる効率化
● 社内ユーザにAnsible Towerで直接作業を起動してもらう → 待ち時間短縮・事務的手続きの省略
– 他システムとの連携による効率化● 他システムのイベントを契機とした処理
– Ansible Core単体では導入しづらい状況への対応
誰に売るの?● IT運用負荷の軽減を考えている人開発チーム、システム管理部門、ネットワーク管理部門、DevOpsチーム– Ansibleを既に使っていませんか?– バラバラに作り込んで属人化していませんか?– アプリケーションやインフラの配備を頻繁にやっていますか?– プログラムがわからない人にもレビューしてほしいですよね?– 今Ansibleをご存知でなくてもRed Hat公式のAnsibleのトレーニ
ングがありますよ
誰に売るの?● 「Ansible知ってますか?」と聞いて
「知ってるけど会社で使うのはチョットなあ」と言っている人– 「チョット」と言っているところはだいたい……
● 管理面 → Ansible Towerの出番● Playbookを書ける人が少ない → トレーニングの出番● サポート → Red Hatですよ!
– Ansible Towerの見込み客としては有望かもしれない
誰に売れないの?● 自社内でPlaybookを書く/読む気が全くない人
– 「自動化する人のためのツール」で「買うと自動化される魔法」ではない→ 他のお客さんを探そう……
● 運用ではなく「構築だけ」をする人– 構築時には全部の権限を持った人がいるケースが多い
そのためAnsible Coreだけで用が足りがち→ 他の人や部門とのやりとりや関連がないか?
● 関係者全員がプログラマ– 「プログラムが書けない人にも読める」というAnsibleの特徴が
あまりマッチしない (Rubyで書けるChefにいく人が多そう)→ 他の人や部門とのやりとりや関連がないか?
誰に売れないの?● Puppet/Chef/Salt 等の既存資産が山ほどあるところ
– 既存資産があって困っていないところは困難→ 他のお客さんを探そう
– 既存資産があっても困っている場合は脈があるかもしれない● 書ける人が少ない / 読める人が少ない → Ansibleは比較的簡単● 管理機能が不足 → Ansible Towerの管理機能● 「自動化に慣れている」点では良い候補
● 一人で全部やっているところ– 「管理者一人で全部やってます!」という会社にはTowerは売れない
→ Ansible Coreだけ勧めて他のお客さんを探そう
価格
Ansible Tower StandardMCT3299 Ansible Tower by Red Hat, Standard (100 Managed Nodes) 1,300,000
MCT3446 Ansible Tower by Red Hat, Standard (5000 Managed Nodes) 55,250,000
MCT3447 Ansible Tower by Red Hat, Standard (10000 Managed Nodes) 104,000,000
Ansible Tower PremiumMCT3305 Ansible Tower by Red Hat, Premium (100 Managed Nodes) 1,820,000
MCT3448 Ansible Tower by Red Hat, Premium (5000 Managed Nodes) 78,000,000
MCT3449 Ansible Tower by Red Hat, Premium (10000 Managed Nodes) 156,000,000
Ansible Towerのサブスクリプション費用は管理対象ノードの数により決まります。サブスクリプションは積みあげ可能です。 例: 160ノード管理したい場合は 100ノードの製品を2本購入する
Ansible Towerは「高い」のか?「定価だと100ノードで年間130万円で、これから開始ですね」「え、高くない?」「Ansible Towerを導入して自動化がうまくいったら、社内全体で週に何時間くらい作業時間を削れそうですか?」「10時間くらいかな……?」 ↑これを考えて貰うことが重要「年48週として、皆さんの時間”480時間”を130万円で買うと思うとどうでしょうか……?」
5 時間 10 時間 16 時間 20 時間0200040006000
※ 週に3時間しかないと1時間9000円なので高い……?
週にxx時間節約
1時間
yy円
Ansible 関連トレーニング● DO007 Ansible Essentials: Simplicity in Automation
Technical Overview (無償、英語ビデオコース)● DO408 Automation with Ansible with exam (4.5日、教室、英語テキスト/日本語講師、216,000円(税別))
Ansible TowerとRed Hat他製品の連携
Red Hat Insightsによる問題検出・緩和● 各RHELの状態をRed Hat Insightsへレポート● ルールにより障害につながる可能性が高い要素を検出
– 重大な問題が修正される前のバージョン– 典型的な設定の問題– 統計情報の異常– ファームウェアバージョンやISV製品との互換性
● 問題に対する緩和策をAnsible Playbookにより提供– 次バージョンより。現在はbetaでプレビュー提供中– 全ての検出された問題には対応できません
Insights + Ansibleイメージ図
1. 診断情報を定期送付
2. レポート表示/Playbook生成
playbook のダウンロード3. Playbookをレビューのうえ Ansible Towerへ登録
4. 対策の自動実行
Red Hat Satelliteによるコンテンツ管理● Red Hat Satelliteによるコンテンツ(rpmパッケージ等)の
バージョン管理機能を活用する● コンテンツ管理と自動操作の組み合わせによる作業の再現性を向上
● 利用例) ① 「2017年5月15日版」のコンテンツビューを作成② テスト環境でAnsibleによるアップデート実施③ テスト環境で各種のテストを実施④ 「2017年5月15日版」を本番環境へ適用⑤ テスト環境でテスト済みのAnsible Playbookによるアップデートを実施
Satellite + Ansibleイメージ図
Satellite
コンテンツ同期
サブスクリプション管理パッケージを同期
各サーバのインベントリコンテンツのバージョン管理
パッケージのインストールやアップデートを含む各種作業を
それぞれのサーバに指示
インストール・アップデート
パッケージの提供タイミングは
基本的に「なるはや」
任意タイミングで社内用バージョン作成
更新指示
インベントリ情報同期
Ansible Towerの導入事例
44
Ansible by Red Hat の顧客事例世界で、既に600社を超える企業に導入されています。
Narrative Clip 企業
服やカバンなどに取り付けると30秒ごとに自動で撮影を行い日常を記録してくれるウェアラブルカメラ: Narrative Clipを提供する企業です。 撮影された画像は(AWS上の)Narrative Cloudにアップロードされ保存されます。
課題 Narrative Clipのアプリケーションを支えるためには自動化されたデプロイを連続的に実行する必要がありました。 Ansible Towerを選択する前にAnsibleを使用していましたが、Ansible Serverへの管理Nodeの追加等の設定をを手動で行う必要がありました。
解決策 Ansible Towerを用いて、EC2上へのインスタンスの作成と状態確認を実行しました。
効果 Ansible Towerの導入により、ほぼ自動でこれらの作業を実施することができるようになりました。
Lifesum 企業
Lifesumは、スマフォを使った健康管理アプリを提供する企業で、ヨーロッパを中心に1,300万DLを突破しています。 課題
LifesumのインフラはAWSのLinux上で動作しており、アプリケーションの展開やリモートコマンド実行を各種ツールやスクリプトを駆使して実行していましたが、複数の異なる環境を構築し管理するためには複雑で、多くの問題を抱えていました。 解決策
Ansibleを使用しコンフィグ管理、インスタンスの作成とアプリケーションの展開を自動化しました。 効果
Ansible導入後3ヶ月で運用に移行しました。 シンプルでエージェントレス設計のAnsibleを利用することで、コンフィグ管理とアプリケーションの展開が容易で円滑になりました。 反復可能なプロセスでplaybookを作成することにより設定ミスがなくなり、開発者は提供する製品の品質に注力することができました。 毎日何度も展開できるようになり必要に応じて迅速なロールバックも可能になりました。
BinckBank 企業
BinckBankは、オランダで最大のオンライン投資銀行で、76万以上の口座を保有しています。 課題
データセンターの複雑さが課題でした。 自動化製品を使用するにあたってトレーニングが不要なシンプルさが必要でした。 独自のスクリプトで自動化していましたが、作成やデバッグにかなりの時間を費やしていました。
解決策 Linux / Unix Serverに対してAnsibleを使用しました。
効果 Ansibleを使用することで正しく環境が構築できていることを示せるようになり、これまで問題が発生した際にインストールは正しく行われたか設定は間違っていないか等の疑念から長時間の確認作業を強いられていましたが、信頼されるようになりました。 500台以上のサーバに対して、事前の設定なく(エージェントのインストールが不要で)すぐに設定を行えるようになりました。 Ansible Towerを導入したことで社内の非技術者もAnsibleを利用できるようになりました。
THANK YOU