SlideShare a Scribd company logo
1 of 44
Download to read offline
Ansible with AWX
~ Move to the next step of IT automation ~
Hideki Saito

Software Maintenance Engineer for Ansible@Red Hat K.K.

2018-07-29
Red Hat / Ansible2
• 氏名: 齊藤 秀喜 (さいとう ひでき)
• TwitterID: @saito_hideki
• 所属: Ansible Support Team / Red Hat K.K.
• 仕事: Software Maintenance Engineer
• 趣味: Ansible / Ansible Tower / AWX
自己紹介
Ansible方面からきました
怪しい者ではありません
Red Hat / Ansible3
Ansibleを利用した自動化を管理するコントローラ "AWX" を紹介します。
本日のテーマ
本日お話すること:
1. Ansibleによる自動化
2. Ansible + AWX で実現する一歩進んだ自動化
3. デモ (AWX on OpenShift)
Ansibleによる自動化
Red Hat / Ansible5
手作業で行っていたシステム運用の自動化を実現するためのツールです。
Ansibleの特徴を表す3つのキーワード :
1. SIMPLE
๏ 手順書感覚で自動化するオペレーションを記述することができる
๏ 最低限必要なのはInventoryファイルとPlaybookファイルのみ
2. POWERFUL
๏ 同時に複数台のターゲットを操作することができる
๏ モジュールを利用することで、さまざまな操作を自動化できる
3. AGENTLESS
๏ ターゲット側でエージェントを起動させることなく遠隔操作できる
Ansibleで実現できること
Red Hat / Ansible
Ansibleの仕組み
Ansibleが管理対象となるリモートホストを操作する方法は大きく3つ。
公式ドキュメントのUsing Ansible(https://goo.gl/bLvNFq)で解説されています。
6
コントロールホスト
ansibleコマンド
ansible-playbookコマンド
(1)SSH
(2)WinRM
(3)API
ターゲットホスト
(2)SSH / WinRM を利用する場合はターゲット上に実行可能プログラムを転送
(1)モジュールから生成した実行可能なプログラムコード
(2)APIを利用するモジュールの場合は
コントローラ上で実行
(3)SSH / WinRM を利用する場合は

ターゲットホスト上で実行
Red Hat / Ansible7
Ansibleの仕組み
ネットワーク機器とITサーバでは管理の仕組みが違います。
Red Hat / Ansible8
目的、利用者、利用方法を5W1Hで表現すると…
Ansibleで実現する自動化
WHY ITインフラの構成管理業務の品質向上とオペレータの負荷の軽減をめざして
WHO オペレータ自身が
WHEN 日常業務として
WHERE さまざまなシステムの構成要素に対して
WHAT 実施する作業を共通の手法でコード化する
HOW 自動化を共通のツールを利用して実現する
Red Hat / Ansible9
Ansibleは、シンプルであることを重要視しているために不足している機能があり
ます。こんな機能があったらいいのになぁ...
次のステップに進むためには...
1. いつ・誰が・どこで・どのようなPlaybookを実行したのか知りたい!
2. Playbookの実行結果をまとめて管理しておきたい!
3. そのPlaybook古くない?
4. 複数のPlaybookをワークフローのように実行したいんだけど...
5. ターゲットホストの認証情報を一元管理したい!
6. コントロールホストのキャパシティをちゃんと管理したい...OOM killerさんが大暴
れしてるの...
7. 他のシステムと連携させたいけどAPIがない...だってただのコマンドだもの
などなど...自動化を進める上で、このような課題が見えてきます。
Ansible + AWXで実現する
一歩進んだ自動化
Red Hat / Ansible11
旧Ansible, Inc (2015年に Red Hat が買収)が、商用ソフトウェアとして提供し
ている Ansible Tower のアップストリーム版で、Apache v2ライセンスに基づい
てOSSとして開発が進められています。
AWXの位置付け
分類 アップストリーム エンタープライズ
(レッドハットが提供&サポート)
自動化プラットフォーム
(GUI/REST API/
権限管理/
実行履歴管理など)
AWX Project Ansible Tower
動作エンジン
(コマンド等のコア部分、

モジュール、プラグインなど)
Ansible Project Ansible Engine
Red Hat / Ansible12
AWXに関する情報は、以下のサイトから入手することができます。
ユーザガイドや管理者ガイドなどのドキュメント類は、AWX向けとしては存在しません。
Enterprise版であるAnsible Towerのものを参照してください。
★Source Code
➡ https://github.com/ansible/awx
★Install Guide
➡ https://github.com/ansible/awx/blob/devel/INSTALL.md
★User Guide
• https://docs.ansible.com/ansible-tower/latest/html/userguide/index.html
★Administration Guide
➡ https://docs.ansible.com/ansible-tower/latest/html/administration/index.html
★API Guide
➡ https://docs.ansible.com/ansible-tower/latest/html/towerapi/index.html
AWXに関する情報
Red Hat / Ansible13
2018-08-16にv1.0.0がリリースされました。
最新版(2018-07-22時点)は、2018-04-28にリリースさらたv1.0.6です。
AWXのリリースタイムライン
’2017-08-16
v1.0.0
v1.0.1
v1.0.2
v1.0.3
v1.0.4
v1.0.5
v1.0.6
’2017-10-11
’2017-12-14
’2018-02-02
’2018-02-21
’2018-03-27
’2018-04-28
Red Hat / Ansible14
ここでは、以下の主要な10機能を紹介します。
AWXが提供する主な機能
1. WebUI / RESTful API / Callback URL 機能
2. ユーザ管理機能(Active DirectoryやGoogle OAuth2などと連携可能)
3. ターゲットホストの認証情報を一元管理するCredential機能
4. AWS / GCP / Azure / OpenStack などと連携可能なDynamic Inventory機能
5. Github / Gitlab などの外部SCM上のPlaybookを取得するための連携機能
6. 複数のジョブ(Playbook)をワークフローとして実行する機能
7. ジョブやワークフローを指定の日時で実行するスケジュール実行機能
8. ジョブの実行結果をIRCやSlackなどに送信する機能
9. ログをlogstashやsplunkなどの外部システムに転送する機能
10.AWXサービスをクラスタ化(HAではなくマルチノード構成)する機能
Red Hat / Ansible15
AWXリポジトリをクローンしてから、Playbookを利用してインストール(*)
*) 事前にAnsibleのインストールが必要です
AWXをインストールする
RHEL7系のOSの場合:
# yum install docker python-docker-py
# systemctl enable docker
# systemctl start docker
# git clone https://github.com/ansible/awx.git
# cd awx/installer
# ansible-playbook -i inventory install.yml
Red Hat / Ansible16
モダンなWeb Dashboardを利用して操作することができます。
AWXを利用する
Red Hat / Ansible17
AWXでオペレーションを自動化する
AWXで自動化を実現するための機能要素は以下の通りです。
Red Hat / Ansible18
AWXで外部システムと連携
AWX
Authentication NotificationLogging
IaaS PaaS SCM
API Provisioning Callback
AWXは外部からAPI経由で操作可能。Job TemplateのProvisioning Callbacks
機能を有効化することで、外部からのジョブ起動も簡単に行えます。
Red Hat / Ansible19
PlaybookをもとにしてJob Templateを作り、これをJobとして実行します。
AWXの機能要素
機能要素 概要
Organization 全ての機能要素を収容するグループ
Project Playbookを収容するディレクトリ
Credential 操作対象となるホストの認証情報(SSHユーザ・パスワード等)
Inventory 操作対象となるホスト及びホストをグループ化したリスト
Job Template Project(Playbook)/Credential/Inventoryから構成されるジョブ
Workflow 複数のJob Templateから作られたワークフロー
Job Job Template / Workflowの実行単位
User Towerの各機能要素を操作する権限を付与されたユーザ
Team 複数のTeamを所属させたチーム。User同様に権限を付与可能
Red Hat / Ansible
FinishedLaunch "Job template"Grant permissions to "User"
Create "Organization"
Add "User" to "Team"
Create "Host" in "Inventory"
Create "Project"
Create "Team"
Create "Inventory"
Add "Host" to "Group"
Setting up "Job template"
20
基本的な操作の全体の流れ
Create "User"
Create "Credential"
Create "Group" in
"Inventory"
Create "Job template"
Red Hat / Ansible21
Organizationを作成する。
基本的な操作の流れ(1)
AWXの管理情報は
Organization単位で管理される
Red Hat / Ansible22
Userを作成する。
基本的な操作の流れ(2)
Red Hat / Ansible23
AWXにログインして操作するためのユーザには、ユーザタイプの中から1つを選択
して割り当てることができます。
基本的な操作の流れ(2) - ユーザの種類
ユーザタイプ 概要
Normal User
(標準ユーザ)
一般ユーザとして、AWXのさまざまなオブジェクト(Project / Credential /
Inventory / Job template など)に設定された権限にしたがって操作を実行する。
System Auditor

(システム監査者)
AWXシステムの監査を目的として、全てのオブジェクトに対する読み込み権限をデフ
ォルト状態で持っている。
System Administrator
(システム管理者)
AWXシステム管理者として、全てのオブジェクトの管理者権限を持っている。
Red Hat / Ansible24
Teamを作成する。
基本的な操作の流れ(3)
Red Hat / Ansible25
UserをTeamに所属させて、適切な役割を設定する。
基本的な操作の流れ(4)
Red Hat / Ansible26
Credentialを作成する
基本的な操作の流れ(5)
Red Hat / Ansible27
現時点(v1.0.6)でプリセットされている認証情報タイプは以下の通りです。
基本的な操作の流れ(5) - 認証情報の種類
認証情報 用途
Amazon Web Services AWSとの連携に必要な認証情報(ACCESS_KEY/SECRET_KEY/STS_TOKEN)
Ansible Tower Ansibleのモジュールから利用できるTower/AWXの認証情報
Google Compute Engine GCEとの連携に必要な認証情報(サービス用アカウントのEmailアドレス等)
Insights Insightsと連携するための認証情報(USERNAME/PASSWORD)
Machine (必須) SSH/WinRMでターゲットホストに接続するために利用する認証情報
Microsoft Azure Resource Manager Azure Resource Managerとの連携に必要な認証情報(SUBSCRIPTION_ID等)
Network Ansibleから操作可能なネットワーク機器への接続に利用する認証情報
OpenStack OpenStackの認証情報(OS_USERNAME/OS_PASSWORD/OS_AUTH_URL等)
Red Hat Cloud Forms CloudFormsの認証情報(URL/USERNAME/PASSWORD)
Red Hat Satellite 6 Satellite 6.3以降との連携するための認証情報(URL/USERNAME/PASSWORD)
Red Hat Virtualization RHEV(Ovirt)と連携するための認証情報(URL/USERNAME/PASSWORD)
Souce Control Github/Gitlab等のSCMと連携するための認証情報(USERNAME/PASSWORD等)
Vault Ansible Vaultを利用するために必要な認証情報(PASSWORD)
VMware vCenter vCenterとの連携に必要な認証情報(HOST/USERNAME/PASSWORD)
Red Hat / Ansible28
Inventoryを作成する
基本的な操作の流れ(6)
Red Hat / Ansible29
Inventory内にホストを作成する
基本的な操作の流れ(7)
Red Hat / Ansible30
Inventory内にグループを作成する。
基本的な操作の流れ(8)
Red Hat / Ansible31
Inventory内に作成したグループにホストを登録する。
基本的な操作の流れ(9)
Red Hat / Ansible32
AnsibleのInventoryファイルと同様に、AWXのInventoryにはHostとGroupをを
定義します。varsパラメータも定義可能です。
基本的な操作の流れ(9) - GroupとHost
Inventory
{vars}
host-A
{vars}
host-B
{vars}
group-A
{vars}
group-B
{vars}
host-C
{vars}
Red Hat / Ansible33
Projectを作成する。
基本的な操作の流れ(10)
Playbookが配置されているGithub/Gitlabなどの
外部SCMのリポジトリを指定する
Red Hat / Ansible34
Job templateを作成する。
基本的な操作の流れ(11)
Projectに指定したリポジトリ内の
Playbookを指定する
Red Hat / Ansible35
Project / Credential / Inventory / Job Template に対する権限を設定する。
基本的な操作の流れ(12)
Red Hat / Ansible36
AnsibleのInventoryファイルと同様に、AWXのInventoryにはHostとGroupをを
定義します。varsパラメータも定義可能です。
基本的な操作の流れ(12) - 権限(Role)
オブジェクト 権限
Project
• Admin => 使用権限 / 編集権限 / SCMのリポジトリの同期権限
• Use => 使用権限
• Update => SCMリポジトリの同期権限
•
Credential
• Admin => 使用権限 / 編集権限
• Use => 使用権限
Inventory
• Admin => 使用権限 / Dynamic Inventoryの同期権限 / Ad Hocコマンド実行権
限
• Use => 使用権限
• Update => Dynamic Inventoryの同期権限
• Ad Hoc => Ad Hocコマンド実行権限
Job template
• Admin => 実行権限 / 編集権限
• Execute => 実行権限
Red Hat / Ansible
Project-A
Credential-A
Inventory-A
Job template-A
role:use
role:use
role:use
role:execute
37
Project / Credential / Inventory / Job template などのAWXの各オブジェ
クトに対する操作権限(role)は、ユーザ毎に割り当てられますが、これを複数のユー
ザを所属させたチームに対して行うことで一括設定が可能です。
基本的な操作の流れ(12) - 権限の割当
Team-A
foo
bar
baz
Red Hat / Ansible38
Job Templateを実行する。
基本的な操作の流れ(13)
Red Hat / Ansible39
Jobの実行結果を確認する。
基本的な操作の流れ(14)
ansible-playbookコマンドの実行結果は
Live Eventとしてリアルタイム出力
ansible-playbookコマンドの実行結果を
テキストファイルとしてダウンロード可能
AWX on OpenShift デモ
Red Hat / Ansible41
デモ内容
1. 組織を作成する
2. プロジェクトを作成する
3. ユーザを作成する
4. 認証情報を作成する
5. インベントリを作成する
6. ジョブテンプレートを作成して実行する
7. ジョブの実行結果をダウンロードする
8. OpenShift上のpodを増やしてクラスタ化する
まとめ
Red Hat / Ansible43
まとめ
Ansibleは、シンプルで強力な自動化ツールです。しかし、シンプルであるために、あ
えて実装していない、さまざまな機能があります。
AWXは、Ansibleを自動化のエンジン部分として利用することで、自動化の根幹とな
るPlaybookなどの仕組みをシンプルなまま維持し、これに加えてモダンなWeb UIや
APIを提供することで、人だけではなく外部システムからも利用することを想定した機
能を補完しています。
みなさんも、AWXを利用して、Ansibleで実装してきた自動化をもう一歩進めてみま
せんか?
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHat
ご清聴ありがとうございました

More Related Content

What's hot

自社クラウドサービスをAnsibleで作った話
自社クラウドサービスをAnsibleで作った話自社クラウドサービスをAnsibleで作った話
自社クラウドサービスをAnsibleで作った話Watanabe Shunji
 
Ansible AWXで一歩進んだプロビジョニング
Ansible AWXで一歩進んだプロビジョニングAnsible AWXで一歩進んだプロビジョニング
Ansible AWXで一歩進んだプロビジョニングsugoto
 
Ansible meetuptokyo 2015 Dynamic Inventory
Ansible meetuptokyo 2015 Dynamic InventoryAnsible meetuptokyo 2015 Dynamic Inventory
Ansible meetuptokyo 2015 Dynamic InventoryHideki Saito
 
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0Hiroshi Okano
 
Okinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - AnsibleOkinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - AnsibleHideki Saito
 
Ansible troubleshooting 101_2021
Ansible troubleshooting 101_2021Ansible troubleshooting 101_2021
Ansible troubleshooting 101_2021Hideki Saito
 
Azure で Ansible Tower と AWX(OSS版)に触れてみよう #hbstudy
Azure で Ansible Tower と AWX(OSS版)に触れてみよう #hbstudyAzure で Ansible Tower と AWX(OSS版)に触れてみよう #hbstudy
Azure で Ansible Tower と AWX(OSS版)に触れてみよう #hbstudyKazumi IWANAGA
 
サーバ構築を自動化する 〜Ansible〜
サーバ構築を自動化する 〜Ansible〜サーバ構築を自動化する 〜Ansible〜
サーバ構築を自動化する 〜Ansible〜Yui Ito
 
IT自動化ツール"Ansible"でIDCF Cloudを自動化する話
IT自動化ツール"Ansible"でIDCF Cloudを自動化する話IT自動化ツール"Ansible"でIDCF Cloudを自動化する話
IT自動化ツール"Ansible"でIDCF Cloudを自動化する話Hidetoshi Hirokawa
 
Ansible Tower on OpenShift
Ansible Tower on OpenShiftAnsible Tower on OpenShift
Ansible Tower on OpenShiftHideki Saito
 
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1Hidetoshi Hirokawa
 
Ansibleで味わうHelion OpenStack
Ansibleで味わうHelion OpenStackAnsibleで味わうHelion OpenStack
Ansibleで味わうHelion OpenStackMasataka Tsukamoto
 
AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門kk_Ataka
 
OpenStack Osloを使おう - cliff編
OpenStack Osloを使おう - cliff編OpenStack Osloを使おう - cliff編
OpenStack Osloを使おう - cliff編Hideki Saito
 
Ansible2とOpenStackの関係
Ansible2とOpenStackの関係Ansible2とOpenStackの関係
Ansible2とOpenStackの関係Hideki Saito
 
Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)akira6592
 

What's hot (19)

自社クラウドサービスをAnsibleで作った話
自社クラウドサービスをAnsibleで作った話自社クラウドサービスをAnsibleで作った話
自社クラウドサービスをAnsibleで作った話
 
Ansible AWXで一歩進んだプロビジョニング
Ansible AWXで一歩進んだプロビジョニングAnsible AWXで一歩進んだプロビジョニング
Ansible AWXで一歩進んだプロビジョニング
 
Ansible meetuptokyo 2015 Dynamic Inventory
Ansible meetuptokyo 2015 Dynamic InventoryAnsible meetuptokyo 2015 Dynamic Inventory
Ansible meetuptokyo 2015 Dynamic Inventory
 
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0
 
Okinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - AnsibleOkinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - Ansible
 
Ansible troubleshooting 101_2021
Ansible troubleshooting 101_2021Ansible troubleshooting 101_2021
Ansible troubleshooting 101_2021
 
Azure で Ansible Tower と AWX(OSS版)に触れてみよう #hbstudy
Azure で Ansible Tower と AWX(OSS版)に触れてみよう #hbstudyAzure で Ansible Tower と AWX(OSS版)に触れてみよう #hbstudy
Azure で Ansible Tower と AWX(OSS版)に触れてみよう #hbstudy
 
サーバ構築を自動化する 〜Ansible〜
サーバ構築を自動化する 〜Ansible〜サーバ構築を自動化する 〜Ansible〜
サーバ構築を自動化する 〜Ansible〜
 
IT自動化ツール"Ansible"でIDCF Cloudを自動化する話
IT自動化ツール"Ansible"でIDCF Cloudを自動化する話IT自動化ツール"Ansible"でIDCF Cloudを自動化する話
IT自動化ツール"Ansible"でIDCF Cloudを自動化する話
 
Ansible Tower on OpenShift
Ansible Tower on OpenShiftAnsible Tower on OpenShift
Ansible Tower on OpenShift
 
入門Ansible
入門Ansible入門Ansible
入門Ansible
 
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1
 
Ansibleで味わうHelion OpenStack
Ansibleで味わうHelion OpenStackAnsibleで味わうHelion OpenStack
Ansibleで味わうHelion OpenStack
 
Osdt2015 saito
Osdt2015 saitoOsdt2015 saito
Osdt2015 saito
 
AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門
 
OpenStack Osloを使おう - cliff編
OpenStack Osloを使おう - cliff編OpenStack Osloを使おう - cliff編
OpenStack Osloを使おう - cliff編
 
Ansible night
Ansible nightAnsible night
Ansible night
 
Ansible2とOpenStackの関係
Ansible2とOpenStackの関係Ansible2とOpenStackの関係
Ansible2とOpenStackの関係
 
Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)
 

Similar to Ansible with AWX

IT Automation with OpenStack and Ansible/AWX
IT Automation with OpenStack and Ansible/AWXIT Automation with OpenStack and Ansible/AWX
IT Automation with OpenStack and Ansible/AWXHideki Saito
 
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)akira6592
 
AWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオンAWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオンEiji KOMINAMI
 
red-hat-forum-2017-openshift-baremetal-deployment
red-hat-forum-2017-openshift-baremetal-deploymentred-hat-forum-2017-openshift-baremetal-deployment
red-hat-forum-2017-openshift-baremetal-deploymentTetsuya Sodo
 
OpenStackSDK with Ansible
OpenStackSDK with AnsibleOpenStackSDK with Ansible
OpenStackSDK with AnsibleHideki Saito
 
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)akira6592
 
自動化ツール Ansible に触れてみよう(技術インターン)
 自動化ツール Ansible に触れてみよう(技術インターン) 自動化ツール Ansible に触れてみよう(技術インターン)
自動化ツール Ansible に触れてみよう(技術インターン)akira6592
 
[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜
[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜
[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜Amazon Web Services Japan
 
AWS Black Belt Techシリーズ AWS Command Line Interface
AWS Black Belt Techシリーズ  AWS Command Line InterfaceAWS Black Belt Techシリーズ  AWS Command Line Interface
AWS Black Belt Techシリーズ AWS Command Line InterfaceAmazon Web Services Japan
 
OpenShift v3 Technical Introduction
OpenShift v3 Technical IntroductionOpenShift v3 Technical Introduction
OpenShift v3 Technical IntroductionEtsuji Nakai
 
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)Daisuke Ikeda
 
最新UIフレームワーク Onsen UI2で カッコイイWordPress連携アプリを作る方法
最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法
最新UIフレームワーク Onsen UI2で カッコイイWordPress連携アプリを作る方法アシアル株式会社
 
OSS運用管理勉強会 cockpit
OSS運用管理勉強会 cockpitOSS運用管理勉強会 cockpit
OSS運用管理勉強会 cockpitatk1234
 
OpenWhisk Serverless への期待
OpenWhisk Serverless への期待OpenWhisk Serverless への期待
OpenWhisk Serverless への期待Hideaki Tokida
 
Pro aspnetmvc3framework chap15
Pro aspnetmvc3framework chap15Pro aspnetmvc3framework chap15
Pro aspnetmvc3framework chap15Hideki Hashizume
 
Pythonを利用したAWSプログラミング勉強会 (第1回) EC2超基礎編
Pythonを利用したAWSプログラミング勉強会 (第1回) EC2超基礎編Pythonを利用したAWSプログラミング勉強会 (第1回) EC2超基礎編
Pythonを利用したAWSプログラミング勉強会 (第1回) EC2超基礎編Kiminori Yokoi
 
How to write Ansible modules for A10 Thunder - A10 Networks' presentation at ...
How to write Ansible modules for A10 Thunder - A10 Networks' presentation at ...How to write Ansible modules for A10 Thunder - A10 Networks' presentation at ...
How to write Ansible modules for A10 Thunder - A10 Networks' presentation at ...Kentaro Ishizuka
 
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料Osamu Shimoda
 
アプリ開発&チーム管理で 役立った拡張機能
アプリ開発&チーム管理で役立った拡張機能アプリ開発&チーム管理で役立った拡張機能
アプリ開発&チーム管理で 役立った拡張機能Masaki Suzuki
 

Similar to Ansible with AWX (20)

IT Automation with OpenStack and Ansible/AWX
IT Automation with OpenStack and Ansible/AWXIT Automation with OpenStack and Ansible/AWX
IT Automation with OpenStack and Ansible/AWX
 
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
 
AWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオンAWS Amplify - Auth/API Category & Vue 構築ハンズオン
AWS Amplify - Auth/API Category & Vue 構築ハンズオン
 
red-hat-forum-2017-openshift-baremetal-deployment
red-hat-forum-2017-openshift-baremetal-deploymentred-hat-forum-2017-openshift-baremetal-deployment
red-hat-forum-2017-openshift-baremetal-deployment
 
OpenStackSDK with Ansible
OpenStackSDK with AnsibleOpenStackSDK with Ansible
OpenStackSDK with Ansible
 
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
 
自動化ツール Ansible に触れてみよう(技術インターン)
 自動化ツール Ansible に触れてみよう(技術インターン) 自動化ツール Ansible に触れてみよう(技術インターン)
自動化ツール Ansible に触れてみよう(技術インターン)
 
[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜
[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜
[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜
 
AWS Black Belt Techシリーズ AWS Command Line Interface
AWS Black Belt Techシリーズ  AWS Command Line InterfaceAWS Black Belt Techシリーズ  AWS Command Line Interface
AWS Black Belt Techシリーズ AWS Command Line Interface
 
OpenShift v3 Technical Introduction
OpenShift v3 Technical IntroductionOpenShift v3 Technical Introduction
OpenShift v3 Technical Introduction
 
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
 
最新UIフレームワーク Onsen UI2で カッコイイWordPress連携アプリを作る方法
最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法最新UIフレームワーク Onsen UI2でカッコイイWordPress連携アプリを作る方法
最新UIフレームワーク Onsen UI2で カッコイイWordPress連携アプリを作る方法
 
OSS運用管理勉強会 cockpit
OSS運用管理勉強会 cockpitOSS運用管理勉強会 cockpit
OSS運用管理勉強会 cockpit
 
OpenWhisk Serverless への期待
OpenWhisk Serverless への期待OpenWhisk Serverless への期待
OpenWhisk Serverless への期待
 
Pro aspnetmvc3framework chap15
Pro aspnetmvc3framework chap15Pro aspnetmvc3framework chap15
Pro aspnetmvc3framework chap15
 
Pythonを利用したAWSプログラミング勉強会 (第1回) EC2超基礎編
Pythonを利用したAWSプログラミング勉強会 (第1回) EC2超基礎編Pythonを利用したAWSプログラミング勉強会 (第1回) EC2超基礎編
Pythonを利用したAWSプログラミング勉強会 (第1回) EC2超基礎編
 
How to write Ansible modules for A10 Thunder - A10 Networks' presentation at ...
How to write Ansible modules for A10 Thunder - A10 Networks' presentation at ...How to write Ansible modules for A10 Thunder - A10 Networks' presentation at ...
How to write Ansible modules for A10 Thunder - A10 Networks' presentation at ...
 
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
 
はじめてのAWS CLI
はじめてのAWS CLIはじめてのAWS CLI
はじめてのAWS CLI
 
アプリ開発&チーム管理で 役立った拡張機能
アプリ開発&チーム管理で役立った拡張機能アプリ開発&チーム管理で役立った拡張機能
アプリ開発&チーム管理で 役立った拡張機能
 

More from Hideki Saito

これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024Hideki Saito
 
Ansible automationplatform product updates 2021
Ansible automationplatform product updates 2021Ansible automationplatform product updates 2021
Ansible automationplatform product updates 2021Hideki Saito
 
Getting Started - Ansible Galaxy NG
Getting Started - Ansible Galaxy NGGetting Started - Ansible Galaxy NG
Getting Started - Ansible Galaxy NGHideki Saito
 
Ansible troubleshooting 101_202007
Ansible troubleshooting 101_202007Ansible troubleshooting 101_202007
Ansible troubleshooting 101_202007Hideki Saito
 
How to contribute code to ansible awx
How to contribute code to ansible awxHow to contribute code to ansible awx
How to contribute code to ansible awxHideki Saito
 
Update: Ansible Tower 3.6.0
Update: Ansible Tower 3.6.0Update: Ansible Tower 3.6.0
Update: Ansible Tower 3.6.0Hideki Saito
 
Ansible handson ood2016
Ansible handson ood2016Ansible handson ood2016
Ansible handson ood2016Hideki Saito
 
OpenStack with SR-IOV
OpenStack with SR-IOVOpenStack with SR-IOV
OpenStack with SR-IOVHideki Saito
 
Deep Dive into Modules
Deep Dive into ModulesDeep Dive into Modules
Deep Dive into ModulesHideki Saito
 
OpenStack Summitの歩き方
OpenStack Summitの歩き方OpenStack Summitの歩き方
OpenStack Summitの歩き方Hideki Saito
 
OpenStack Summit 2015 Vancouver Report
OpenStack Summit 2015 Vancouver ReportOpenStack Summit 2015 Vancouver Report
OpenStack Summit 2015 Vancouver ReportHideki Saito
 
OpenStack and Ansible Handson
OpenStack and Ansible HandsonOpenStack and Ansible Handson
OpenStack and Ansible HandsonHideki Saito
 
ANSIBLE_KEEP_REMOTE_FILESをTrueにしてみよう!
ANSIBLE_KEEP_REMOTE_FILESをTrueにしてみよう!ANSIBLE_KEEP_REMOTE_FILESをTrueにしてみよう!
ANSIBLE_KEEP_REMOTE_FILESをTrueにしてみよう!Hideki Saito
 
OSC2014-KANSAI@Kyoto JOSUG - OpenStack and Ansible
OSC2014-KANSAI@Kyoto JOSUG - OpenStack and AnsibleOSC2014-KANSAI@Kyoto JOSUG - OpenStack and Ansible
OSC2014-KANSAI@Kyoto JOSUG - OpenStack and AnsibleHideki Saito
 

More from Hideki Saito (17)

これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024
 
Ansible automationplatform product updates 2021
Ansible automationplatform product updates 2021Ansible automationplatform product updates 2021
Ansible automationplatform product updates 2021
 
Getting Started - Ansible Galaxy NG
Getting Started - Ansible Galaxy NGGetting Started - Ansible Galaxy NG
Getting Started - Ansible Galaxy NG
 
Ansible troubleshooting 101_202007
Ansible troubleshooting 101_202007Ansible troubleshooting 101_202007
Ansible troubleshooting 101_202007
 
How to contribute code to ansible awx
How to contribute code to ansible awxHow to contribute code to ansible awx
How to contribute code to ansible awx
 
Update: Ansible Tower 3.6.0
Update: Ansible Tower 3.6.0Update: Ansible Tower 3.6.0
Update: Ansible Tower 3.6.0
 
Ansible101
Ansible101Ansible101
Ansible101
 
Ansible handson ood2016
Ansible handson ood2016Ansible handson ood2016
Ansible handson ood2016
 
Ansible handson
Ansible handsonAnsible handson
Ansible handson
 
OpenStack Now!
OpenStack Now!OpenStack Now!
OpenStack Now!
 
OpenStack with SR-IOV
OpenStack with SR-IOVOpenStack with SR-IOV
OpenStack with SR-IOV
 
Deep Dive into Modules
Deep Dive into ModulesDeep Dive into Modules
Deep Dive into Modules
 
OpenStack Summitの歩き方
OpenStack Summitの歩き方OpenStack Summitの歩き方
OpenStack Summitの歩き方
 
OpenStack Summit 2015 Vancouver Report
OpenStack Summit 2015 Vancouver ReportOpenStack Summit 2015 Vancouver Report
OpenStack Summit 2015 Vancouver Report
 
OpenStack and Ansible Handson
OpenStack and Ansible HandsonOpenStack and Ansible Handson
OpenStack and Ansible Handson
 
ANSIBLE_KEEP_REMOTE_FILESをTrueにしてみよう!
ANSIBLE_KEEP_REMOTE_FILESをTrueにしてみよう!ANSIBLE_KEEP_REMOTE_FILESをTrueにしてみよう!
ANSIBLE_KEEP_REMOTE_FILESをTrueにしてみよう!
 
OSC2014-KANSAI@Kyoto JOSUG - OpenStack and Ansible
OSC2014-KANSAI@Kyoto JOSUG - OpenStack and AnsibleOSC2014-KANSAI@Kyoto JOSUG - OpenStack and Ansible
OSC2014-KANSAI@Kyoto JOSUG - OpenStack and Ansible
 

Recently uploaded

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (7)

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 

Ansible with AWX

  • 1. Ansible with AWX ~ Move to the next step of IT automation ~ Hideki Saito
 Software Maintenance Engineer for Ansible@Red Hat K.K.
 2018-07-29
  • 2. Red Hat / Ansible2 • 氏名: 齊藤 秀喜 (さいとう ひでき) • TwitterID: @saito_hideki • 所属: Ansible Support Team / Red Hat K.K. • 仕事: Software Maintenance Engineer • 趣味: Ansible / Ansible Tower / AWX 自己紹介 Ansible方面からきました 怪しい者ではありません
  • 3. Red Hat / Ansible3 Ansibleを利用した自動化を管理するコントローラ "AWX" を紹介します。 本日のテーマ 本日お話すること: 1. Ansibleによる自動化 2. Ansible + AWX で実現する一歩進んだ自動化 3. デモ (AWX on OpenShift)
  • 5. Red Hat / Ansible5 手作業で行っていたシステム運用の自動化を実現するためのツールです。 Ansibleの特徴を表す3つのキーワード : 1. SIMPLE ๏ 手順書感覚で自動化するオペレーションを記述することができる ๏ 最低限必要なのはInventoryファイルとPlaybookファイルのみ 2. POWERFUL ๏ 同時に複数台のターゲットを操作することができる ๏ モジュールを利用することで、さまざまな操作を自動化できる 3. AGENTLESS ๏ ターゲット側でエージェントを起動させることなく遠隔操作できる Ansibleで実現できること
  • 6. Red Hat / Ansible Ansibleの仕組み Ansibleが管理対象となるリモートホストを操作する方法は大きく3つ。 公式ドキュメントのUsing Ansible(https://goo.gl/bLvNFq)で解説されています。 6 コントロールホスト ansibleコマンド ansible-playbookコマンド (1)SSH (2)WinRM (3)API ターゲットホスト (2)SSH / WinRM を利用する場合はターゲット上に実行可能プログラムを転送 (1)モジュールから生成した実行可能なプログラムコード (2)APIを利用するモジュールの場合は コントローラ上で実行 (3)SSH / WinRM を利用する場合は
 ターゲットホスト上で実行
  • 7. Red Hat / Ansible7 Ansibleの仕組み ネットワーク機器とITサーバでは管理の仕組みが違います。
  • 8. Red Hat / Ansible8 目的、利用者、利用方法を5W1Hで表現すると… Ansibleで実現する自動化 WHY ITインフラの構成管理業務の品質向上とオペレータの負荷の軽減をめざして WHO オペレータ自身が WHEN 日常業務として WHERE さまざまなシステムの構成要素に対して WHAT 実施する作業を共通の手法でコード化する HOW 自動化を共通のツールを利用して実現する
  • 9. Red Hat / Ansible9 Ansibleは、シンプルであることを重要視しているために不足している機能があり ます。こんな機能があったらいいのになぁ... 次のステップに進むためには... 1. いつ・誰が・どこで・どのようなPlaybookを実行したのか知りたい! 2. Playbookの実行結果をまとめて管理しておきたい! 3. そのPlaybook古くない? 4. 複数のPlaybookをワークフローのように実行したいんだけど... 5. ターゲットホストの認証情報を一元管理したい! 6. コントロールホストのキャパシティをちゃんと管理したい...OOM killerさんが大暴 れしてるの... 7. 他のシステムと連携させたいけどAPIがない...だってただのコマンドだもの などなど...自動化を進める上で、このような課題が見えてきます。
  • 11. Red Hat / Ansible11 旧Ansible, Inc (2015年に Red Hat が買収)が、商用ソフトウェアとして提供し ている Ansible Tower のアップストリーム版で、Apache v2ライセンスに基づい てOSSとして開発が進められています。 AWXの位置付け 分類 アップストリーム エンタープライズ (レッドハットが提供&サポート) 自動化プラットフォーム (GUI/REST API/ 権限管理/ 実行履歴管理など) AWX Project Ansible Tower 動作エンジン (コマンド等のコア部分、
 モジュール、プラグインなど) Ansible Project Ansible Engine
  • 12. Red Hat / Ansible12 AWXに関する情報は、以下のサイトから入手することができます。 ユーザガイドや管理者ガイドなどのドキュメント類は、AWX向けとしては存在しません。 Enterprise版であるAnsible Towerのものを参照してください。 ★Source Code ➡ https://github.com/ansible/awx ★Install Guide ➡ https://github.com/ansible/awx/blob/devel/INSTALL.md ★User Guide • https://docs.ansible.com/ansible-tower/latest/html/userguide/index.html ★Administration Guide ➡ https://docs.ansible.com/ansible-tower/latest/html/administration/index.html ★API Guide ➡ https://docs.ansible.com/ansible-tower/latest/html/towerapi/index.html AWXに関する情報
  • 13. Red Hat / Ansible13 2018-08-16にv1.0.0がリリースされました。 最新版(2018-07-22時点)は、2018-04-28にリリースさらたv1.0.6です。 AWXのリリースタイムライン ’2017-08-16 v1.0.0 v1.0.1 v1.0.2 v1.0.3 v1.0.4 v1.0.5 v1.0.6 ’2017-10-11 ’2017-12-14 ’2018-02-02 ’2018-02-21 ’2018-03-27 ’2018-04-28
  • 14. Red Hat / Ansible14 ここでは、以下の主要な10機能を紹介します。 AWXが提供する主な機能 1. WebUI / RESTful API / Callback URL 機能 2. ユーザ管理機能(Active DirectoryやGoogle OAuth2などと連携可能) 3. ターゲットホストの認証情報を一元管理するCredential機能 4. AWS / GCP / Azure / OpenStack などと連携可能なDynamic Inventory機能 5. Github / Gitlab などの外部SCM上のPlaybookを取得するための連携機能 6. 複数のジョブ(Playbook)をワークフローとして実行する機能 7. ジョブやワークフローを指定の日時で実行するスケジュール実行機能 8. ジョブの実行結果をIRCやSlackなどに送信する機能 9. ログをlogstashやsplunkなどの外部システムに転送する機能 10.AWXサービスをクラスタ化(HAではなくマルチノード構成)する機能
  • 15. Red Hat / Ansible15 AWXリポジトリをクローンしてから、Playbookを利用してインストール(*) *) 事前にAnsibleのインストールが必要です AWXをインストールする RHEL7系のOSの場合: # yum install docker python-docker-py # systemctl enable docker # systemctl start docker # git clone https://github.com/ansible/awx.git # cd awx/installer # ansible-playbook -i inventory install.yml
  • 16. Red Hat / Ansible16 モダンなWeb Dashboardを利用して操作することができます。 AWXを利用する
  • 17. Red Hat / Ansible17 AWXでオペレーションを自動化する AWXで自動化を実現するための機能要素は以下の通りです。
  • 18. Red Hat / Ansible18 AWXで外部システムと連携 AWX Authentication NotificationLogging IaaS PaaS SCM API Provisioning Callback AWXは外部からAPI経由で操作可能。Job TemplateのProvisioning Callbacks 機能を有効化することで、外部からのジョブ起動も簡単に行えます。
  • 19. Red Hat / Ansible19 PlaybookをもとにしてJob Templateを作り、これをJobとして実行します。 AWXの機能要素 機能要素 概要 Organization 全ての機能要素を収容するグループ Project Playbookを収容するディレクトリ Credential 操作対象となるホストの認証情報(SSHユーザ・パスワード等) Inventory 操作対象となるホスト及びホストをグループ化したリスト Job Template Project(Playbook)/Credential/Inventoryから構成されるジョブ Workflow 複数のJob Templateから作られたワークフロー Job Job Template / Workflowの実行単位 User Towerの各機能要素を操作する権限を付与されたユーザ Team 複数のTeamを所属させたチーム。User同様に権限を付与可能
  • 20. Red Hat / Ansible FinishedLaunch "Job template"Grant permissions to "User" Create "Organization" Add "User" to "Team" Create "Host" in "Inventory" Create "Project" Create "Team" Create "Inventory" Add "Host" to "Group" Setting up "Job template" 20 基本的な操作の全体の流れ Create "User" Create "Credential" Create "Group" in "Inventory" Create "Job template"
  • 21. Red Hat / Ansible21 Organizationを作成する。 基本的な操作の流れ(1) AWXの管理情報は Organization単位で管理される
  • 22. Red Hat / Ansible22 Userを作成する。 基本的な操作の流れ(2)
  • 23. Red Hat / Ansible23 AWXにログインして操作するためのユーザには、ユーザタイプの中から1つを選択 して割り当てることができます。 基本的な操作の流れ(2) - ユーザの種類 ユーザタイプ 概要 Normal User (標準ユーザ) 一般ユーザとして、AWXのさまざまなオブジェクト(Project / Credential / Inventory / Job template など)に設定された権限にしたがって操作を実行する。 System Auditor
 (システム監査者) AWXシステムの監査を目的として、全てのオブジェクトに対する読み込み権限をデフ ォルト状態で持っている。 System Administrator (システム管理者) AWXシステム管理者として、全てのオブジェクトの管理者権限を持っている。
  • 24. Red Hat / Ansible24 Teamを作成する。 基本的な操作の流れ(3)
  • 25. Red Hat / Ansible25 UserをTeamに所属させて、適切な役割を設定する。 基本的な操作の流れ(4)
  • 26. Red Hat / Ansible26 Credentialを作成する 基本的な操作の流れ(5)
  • 27. Red Hat / Ansible27 現時点(v1.0.6)でプリセットされている認証情報タイプは以下の通りです。 基本的な操作の流れ(5) - 認証情報の種類 認証情報 用途 Amazon Web Services AWSとの連携に必要な認証情報(ACCESS_KEY/SECRET_KEY/STS_TOKEN) Ansible Tower Ansibleのモジュールから利用できるTower/AWXの認証情報 Google Compute Engine GCEとの連携に必要な認証情報(サービス用アカウントのEmailアドレス等) Insights Insightsと連携するための認証情報(USERNAME/PASSWORD) Machine (必須) SSH/WinRMでターゲットホストに接続するために利用する認証情報 Microsoft Azure Resource Manager Azure Resource Managerとの連携に必要な認証情報(SUBSCRIPTION_ID等) Network Ansibleから操作可能なネットワーク機器への接続に利用する認証情報 OpenStack OpenStackの認証情報(OS_USERNAME/OS_PASSWORD/OS_AUTH_URL等) Red Hat Cloud Forms CloudFormsの認証情報(URL/USERNAME/PASSWORD) Red Hat Satellite 6 Satellite 6.3以降との連携するための認証情報(URL/USERNAME/PASSWORD) Red Hat Virtualization RHEV(Ovirt)と連携するための認証情報(URL/USERNAME/PASSWORD) Souce Control Github/Gitlab等のSCMと連携するための認証情報(USERNAME/PASSWORD等) Vault Ansible Vaultを利用するために必要な認証情報(PASSWORD) VMware vCenter vCenterとの連携に必要な認証情報(HOST/USERNAME/PASSWORD)
  • 28. Red Hat / Ansible28 Inventoryを作成する 基本的な操作の流れ(6)
  • 29. Red Hat / Ansible29 Inventory内にホストを作成する 基本的な操作の流れ(7)
  • 30. Red Hat / Ansible30 Inventory内にグループを作成する。 基本的な操作の流れ(8)
  • 31. Red Hat / Ansible31 Inventory内に作成したグループにホストを登録する。 基本的な操作の流れ(9)
  • 32. Red Hat / Ansible32 AnsibleのInventoryファイルと同様に、AWXのInventoryにはHostとGroupをを 定義します。varsパラメータも定義可能です。 基本的な操作の流れ(9) - GroupとHost Inventory {vars} host-A {vars} host-B {vars} group-A {vars} group-B {vars} host-C {vars}
  • 33. Red Hat / Ansible33 Projectを作成する。 基本的な操作の流れ(10) Playbookが配置されているGithub/Gitlabなどの 外部SCMのリポジトリを指定する
  • 34. Red Hat / Ansible34 Job templateを作成する。 基本的な操作の流れ(11) Projectに指定したリポジトリ内の Playbookを指定する
  • 35. Red Hat / Ansible35 Project / Credential / Inventory / Job Template に対する権限を設定する。 基本的な操作の流れ(12)
  • 36. Red Hat / Ansible36 AnsibleのInventoryファイルと同様に、AWXのInventoryにはHostとGroupをを 定義します。varsパラメータも定義可能です。 基本的な操作の流れ(12) - 権限(Role) オブジェクト 権限 Project • Admin => 使用権限 / 編集権限 / SCMのリポジトリの同期権限 • Use => 使用権限 • Update => SCMリポジトリの同期権限 • Credential • Admin => 使用権限 / 編集権限 • Use => 使用権限 Inventory • Admin => 使用権限 / Dynamic Inventoryの同期権限 / Ad Hocコマンド実行権 限 • Use => 使用権限 • Update => Dynamic Inventoryの同期権限 • Ad Hoc => Ad Hocコマンド実行権限 Job template • Admin => 実行権限 / 編集権限 • Execute => 実行権限
  • 37. Red Hat / Ansible Project-A Credential-A Inventory-A Job template-A role:use role:use role:use role:execute 37 Project / Credential / Inventory / Job template などのAWXの各オブジェ クトに対する操作権限(role)は、ユーザ毎に割り当てられますが、これを複数のユー ザを所属させたチームに対して行うことで一括設定が可能です。 基本的な操作の流れ(12) - 権限の割当 Team-A foo bar baz
  • 38. Red Hat / Ansible38 Job Templateを実行する。 基本的な操作の流れ(13)
  • 39. Red Hat / Ansible39 Jobの実行結果を確認する。 基本的な操作の流れ(14) ansible-playbookコマンドの実行結果は Live Eventとしてリアルタイム出力 ansible-playbookコマンドの実行結果を テキストファイルとしてダウンロード可能
  • 41. Red Hat / Ansible41 デモ内容 1. 組織を作成する 2. プロジェクトを作成する 3. ユーザを作成する 4. 認証情報を作成する 5. インベントリを作成する 6. ジョブテンプレートを作成して実行する 7. ジョブの実行結果をダウンロードする 8. OpenShift上のpodを増やしてクラスタ化する
  • 43. Red Hat / Ansible43 まとめ Ansibleは、シンプルで強力な自動化ツールです。しかし、シンプルであるために、あ えて実装していない、さまざまな機能があります。 AWXは、Ansibleを自動化のエンジン部分として利用することで、自動化の根幹とな るPlaybookなどの仕組みをシンプルなまま維持し、これに加えてモダンなWeb UIや APIを提供することで、人だけではなく外部システムからも利用することを想定した機 能を補完しています。 みなさんも、AWXを利用して、Ansibleで実装してきた自動化をもう一歩進めてみま せんか?