SlideShare a Scribd company logo
1 of 63
Download to read offline
IT Automation with OpenStack and Ansible/AWX
~ Move to the next step of IT automation ~
Hideki Saito

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

2018-08-02
Red Hat / Ansible2
• 氏名: 齊藤 秀喜 (さいとう ひでき)
• TwitterID: @saito_hideki
• 所属: Ansible Support Team / Red Hat K.K.
• 仕事: Software Maintenance Engineer
• 趣味: Ansible / Ansible Tower / AWX
• OpenStack Days Tokyo事務局 / 撮影班副長
自己紹介
Ansible方面からきました
怪しい者ではありません
Red Hat / Ansible3
Ansibleを利用した自動化を管理するコントローラ "AWX" を紹介します。
本日のテーマ
本日お話すること:
1. AWXで実現する一歩進んだ自動化
2. AWXの仕組み
3. OpenStackとの連携
4. デモ (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 自動化を共通のツールを利用して実現する
Ansible + AWXで実現する
一歩進んだ自動化
Red Hat / Ansible10
Ansibleは、シンプルであることを重要視しているために不足している機能があり
ます。こんな機能があったらいいのになぁ...
Ansibleで始めた自動化の次の一手
1. いつ・誰が・どこで・どのようなPlaybookを実行したのか知りたい!
2. Playbookの実行結果をまとめて管理しておきたい!
3. そのPlaybook古くない?�指定されたバージョンのPlaybookを利用させたい!
4. 複数のPlaybookをワークフローのように実行したいんだけど...A->B->C...
5. ターゲットホストの認証情報を一元管理してたい!
6. コントロールホストのキャパシティをちゃんと管理したい...OOM killerさんが大暴
れしてるの...
7. 他のシステムと連携させたいけどAPIがない...だってただのコマンドだもの...
などなど...自動化を進める上で、このような課題が見えてきます。
Red Hat / Ansible11
AWXが提供する主な機能は以下の通りです。
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 / Ansible12
旧Ansible, Inc (2015年に Red Hat が買収)が、商用ソフトウェアとして提供し
ている Ansible Tower のアップストリーム版で、Apache v2ライセンスに基づい
てOSSとして開発が進められています。
AWXの位置付け
分類 アップストリーム エンタープライズ
(レッドハットが提供&サポート)
自動化プラットフォーム
(GUI/REST API/
権限管理/
実行履歴管理など)
AWX Project Ansible Tower
動作エンジン
(コマンド等のコア部分、

モジュール、プラグインなど)
Ansible Project Ansible Engine
Red Hat / Ansible13
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 / Ansible14
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 / 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
AWXは、コンテナ化された5つのサービスから構成されています。
AWXコンポーネントの構成
Infrastructure
Host OS
Docker Engine
Bins/Libs Bins/Libs Bins/Libs Bins/Libs Bins/Libs
awx-web awx-task awx-memcached awx-rabbit postgresql
Red Hat / Ansible17
モダンなWeb Dashboardを利用して操作することができます。
AWXを利用する
デモをちょっとだけ...
Red Hat / Ansible19
AWXでオペレーションを自動化する
AWXで自動化を実現するための機能要素は以下の通りです。
Red Hat / Ansible20
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
Projects
Job templates
Notifications
Organizations
Inventories
Users
21
AWXのオブジェクトモデル
Teams
Groups
Hosts
Inventory
Sources
Workflow Job
templates
Inventory
Scripts
Inventory
Smart
Inventory
Schedules
Instance Groups
Credential
Types
Credentials
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"
22
基本的な操作の全体の流れ
Create "User"
Create "Credential"
Create "Group" in
"Inventory"
Create "Job template"
Red Hat / Ansible23
Organizationを作成する。
基本的な操作の流れ(1)
AWXの管理情報は
Organization単位で管理される
Red Hat / Ansible24
Userを作成する。
基本的な操作の流れ(2)
Red Hat / Ansible25
AWXにログインして操作するためのユーザには、ユーザタイプの中から1つを選択
して割り当てることができます。
基本的な操作の流れ(2) - ユーザの種類
ユーザタイプ 概要
Normal User
(標準ユーザ)
一般ユーザとして、AWXのさまざまなオブジェクト(Project / Credential /
Inventory / Job template など)に設定された権限にしたがって操作を実行する。
System Auditor

(システム監査者)
AWXシステムの監査を目的として、全てのオブジェクトに対する読み込み権限をデフ
ォルト状態で持っている。
System Administrator
(システム管理者)
AWXシステム管理者として、全てのオブジェクトの管理者権限を持っている。
Red Hat / Ansible26
Teamを作成する。
基本的な操作の流れ(3)
Red Hat / Ansible27
UserをTeamに所属させて、適切な役割を設定する。
基本的な操作の流れ(4)
Red Hat / Ansible28
Credentialを作成する
基本的な操作の流れ(5)
Red Hat / Ansible29
現時点(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 / Ansible30
Inventoryを作成する
基本的な操作の流れ(6)
Red Hat / Ansible31
Inventory内にホストを作成する
基本的な操作の流れ(7)
Red Hat / Ansible32
Inventory内にグループを作成する。
基本的な操作の流れ(8)
Red Hat / Ansible33
Inventory内に作成したグループにホストを登録する。
基本的な操作の流れ(9)
Red Hat / Ansible34
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 / Ansible35
Projectを作成する。
基本的な操作の流れ(10)
Playbookが配置されているGithub/Gitlabなどの
外部SCMのリポジトリを指定する
Red Hat / Ansible36
Job templateを作成する。
基本的な操作の流れ(11)
Projectに指定したリポジトリ内の
Playbookを指定する
Red Hat / Ansible37
Project / Credential / Inventory / Job Template に対する権限を設定する。
基本的な操作の流れ(12)
Red Hat / Ansible38
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
39
Project / Credential / Inventory / Job template などのAWXの各オブジェ
クトに対する操作権限(role)は、ユーザ毎に割り当てられますが、これを複数のユー
ザを所属させたチームに対して行うことで一括設定が可能です。
基本的な操作の流れ(12) - 権限の割当
Team-A
foo
bar
baz
Red Hat / Ansible40
Job Templateを実行する。
基本的な操作の流れ(13)
Red Hat / Ansible41
Jobの実行結果を確認する。
基本的な操作の流れ(14)
ansible-playbookコマンドの実行結果は
Live Eventとしてリアルタイム出力
ansible-playbookコマンドの実行結果を
テキストファイルとしてダウンロード可能
Red Hat / Ansible42
Web Dashboardによる操作だけでなく、M2MインターフェイスとなるAPIを提供
しています。
このAPIを利用したコマンドラインインターフェイス(tower-cli)も、オープンソース
プロジェクトとして提供されています。
RESTful API / CLIを利用する
• RESTful API
- https://<AWX>/api/v2/ でAPIにアクセス可能
- 利用方法はAPIガイドを参照してください
- https://docs.ansible.com/ansible-tower/latest/html/towerapi/index.html
• tower-cli
- AWXが提供するAPIを利用したAWXのコマンドラインインターフェイス
- ソースコード
- https://github.com/ansible/tower-cli/
- ドキュメント
- https://docs.ansible.com/ansible-tower/latest/html/towerapi/tower_cli.html
AWXの仕組み
~ ジョブ実行編 ~
Red Hat / Ansible44
主要な機能は、以下のようなOSSプロダクトを利用して実現しています。
AWXを支える技術要素
OSS 役割
Docker AWXの各サービスをコンテナとして起動する
Django WebUI / RESTful APIを提供するためのフレームワーク
Nginx WebUI / RESTful APIを提供するためのフロントエンドサービス
PostgreSQL AWXの設定情報や、ジョブの実行結果を格納するデータベース
RabbitMQ ジョブスケジューラが利用するメッセージキューを管理する
Celery RabbitMQと連携するAMQPワーカー
Supervisord Celery / uwsgiなどのサービスをデーモンとして起動する
Ansible AWXが実行するジョブのエンジン部分を担う
Red Hat / Ansible
クラスタ構成の場合は のコンポーネントが新たに起動してスケールアウトを実現
45
AWXコンポーネントの構成
Infrastructure
Host OS
Docker Engine
Bins/Libs Bins/Libs Bins/Libs Bins/Libs Bins/Libs
awx-web awx-task awx-memcached awx-rabbit postgresql
Red Hat / Ansible
46
AWXの各コンテナが担うサービスコンポーネントは以下の通りです。
AWXのアーキテクチャ
awx-web
awx-memcached
awx-rabbit
awx-task
postgresql
スケールアウト可能
(*)現時点ではスケールダウン
には手間がかかります
Red Hat / Ansible47
awxのサービスを提供する各コンポーネントの役割は以下の通りです。
AWXコンテナの役割(1)
•awx-webコンテナ
- 利用者へのフロントエンドサービス(Web Dashboard / RESTful API)を提供
- Supervisordを利用してNginxとuwsgiを利用したフロントエンドサービスを起動
•awx-memcachedコンテナ
- AWXの他のコンポーネント向けにMemcachedサービスを提供
- ジョブの結果をLive EventでWebクライアントに提供したり、外部ロギングシステムに実行結果を
転送するために一時利用される
Red Hat / Ansible48
AWXコンテナの役割(2)
•awx-rabbitコンテナ
- フロントエンドから送られたAMQPメッセージをハンドリングするAMQPサービスを提供
- ジョブの起動やイベントの処理、バックグラウンドプロセス、WebSocketの処理に利用
- K8SやOpenShiftでawxサービスのpodを増やすと自動でRabbitMQクラスタに追加される
•awx-taskコンテナ(旧awx-celery)
- AWXの中枢として、awx-rabbitからメッセージを取得して、プロジェクトの管理やジョブの実行を
担う各サービスをSupervisordを利用して起動
- 自動化のエンジンとなるAnsible(ansible-playbookコマンド)は、このコンテナで実行される
- Ansibleの実行環境は、Pythonのvirtualenv上に配置(venv/ansible, venv/awx) されている
- Github / Gitlab などのSCMからチェックアウトしたPlaybookが配置される
•postgresqコンテナ
- AWXの設定情報を保存する構成管理データベース
- 全てのジョブの実行情報(Playbookの出力など)もデータベース上に保存される
Red Hat / Ansible49
ジョブ実行の流れ(概略)
1. API経由でジョブの実行リクエストを受信
2. rabbitmqのインスタンスグループのキューにメッセージ投入
3. リソースに空きのあるインスタンスでジョブ(Playbook)が起動
4. Playbookは、virtualenv:/var/lib/awx/venv/ansible/で起動(*1)
5. 各タスクのSTDOUTをCallback Pluginを利用してDBに書き込み
6. 各タスクのSTDOUTをwebsocket経由でlive eventとして送信
7. Playbookのfact_cacheをDBに書き込み(*2)
(*1) AWXは2つ(venv/ansible/, venv/awx/)のPython実行環境を持っています。
Playbookの実行に利用されるのは venv/ansible/ で、venv/awx/はAWXのシステム自体
が利用します。
(*2) Job templateで"Use Fact Cache"が有効化されている場合
Red Hat / Ansible50
ジョブ実行ホストの割り当て
複数のTowerホストをクラスタ構成することで、ジョブを実行するTowerホストの
グループ(インスタンスグループ)を構成することができます。
インスタンスグループを指定してジョブの実行や、プロジェクト・インベントリの更新
を実行することで、負荷を分散させることができます。
IG: tower IG: west IG: east
towerA
towerB
towerC
towerA
towerC
towerA
towerB
ジョブ
(1)
ジョブ
(2)
ジョブ
(3)
ジョブ
(4)
ジョブ
(5)
OpenStackとの連携
Red Hat / Ansible52
AWXで外部システムと連携
AWX
Authentication NotificationLogging
IaaS PaaS SCM
API Provisioning Callback
AWXは外部からAPI経由で操作可能。Job TemplateのProvisioning Callbacks
機能を有効化することで、外部からのジョブ起動も簡単に行えます。
Red Hat / Ansible53
OpenStack連携のパターン
(a) ジョブの適用対象となるOpenStack管理下の仮想マシンリストを自動作成する
(b) Ansibleのモジュールを利用してOpenStack上のリソースを管理する
(c) 仮想マシンからTowerのジョブをコールバックで起動する
AWXとOpenStackが連携させることで実現できる機能、大きく以下の3種類です。
Red Hat / Ansible
AWX
54
OpenStack連携方式-A
インベントリにホスト情報を登録する。
OpenStack
clouds.yml
(1) (2)
(3)
(4)
(1) 認証タイプ:OpenStackの認証情報からclouds.ymlを生成
(2) Dynamic Inventoryスクリプトから(1)で生成した
clouds.ymlを読み込み
(3) clouds.ymlにしたがってAPIリクエスト
(4) ホストリストを取得
インベントリ認証情報
Red Hat / Ansible55
OpenStack連携方式-A
OpenStack認証情報から生成される�clouds.yml は以下の通りです。
clouds:
devstack:
auth:
auth_url: "http://api.example.com:5000/v2.0/"
password: "********"
project_name: "admin"
username: "admin"
Red Hat / Ansible
AWX
56
OpenStack連携方式-B
OpenStack用の認証情報を利用して�os_*�モジュールを実行する。
OpenStack
clouds.yml
(1) (2)
(3)
(4)
(1) 認証タイプ:OpenStackの認証情報からclouds.ymlを生成
して実行環境の�OS_CLIENT_CONFIG_FILE�にパスを設定
(2) ジョブのタスクから(1)で生成したclouds.ymlを読み込む
(3) clouds.ymlにしたがってAPIリクエスト
ジョブ認証情報
Red Hat / Ansible57
OpenStack連携方式-B
OpenStack用の認証情報を利用して�os_*�モジュールを実行する。
---
- hosts: localhost
gather_facts: false
tasks:
- os_server_facts:
cloud: devstack
Red Hat / Ansible
AWX
58
OpenStack連携方式-C
OpenStack上の仮想マシンインスタンスからAWXのProvisioning Callback URL
にアクセスすることで、アクセス元の仮想マシンインスタンス自身に対してジョブを
実行する。
hostB
(1)
(1) ジョブテンプレートに設定されたProvisioning Callback URL
に、OpenStack管理下のhostBからアクセス
(2) (3) 連携方式-Bでインベントリのホスト情報を生成/更新
(4) インベントリにhostBが存在した場合はジョブを適用
ジョブインベントリ
hostA
hostB
...
hostN
OpenStack
(2)
(3)
(4)
AWX on OpenShift デモ
Red Hat / Ansible60
デモ内容
1. OpenStackの認証情報の作成
2. OpenStackインベントリソースの作成
3. インベントリの同期
4. os_*モジュールの利用
まとめ
Red Hat / Ansible62
まとめ
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

OpenStack & Ansible で実現する自動化
OpenStack & Ansible で実現する自動化OpenStack & Ansible で実現する自動化
OpenStack & Ansible で実現する自動化Hideki Saito
 
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~Takeshi Kuramochi
 
自社クラウドサービスをAnsibleで作った話
自社クラウドサービスをAnsibleで作った話自社クラウドサービスをAnsibleで作った話
自社クラウドサービスをAnsibleで作った話Watanabe Shunji
 
Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)akira6592
 
OpenStack Osloを使おう - cliff編
OpenStack Osloを使おう - cliff編OpenStack Osloを使おう - cliff編
OpenStack Osloを使おう - cliff編Hideki Saito
 
Ansible automationplatform product updates 2021
Ansible automationplatform product updates 2021Ansible automationplatform product updates 2021
Ansible automationplatform product updates 2021Hideki Saito
 
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)akira6592
 
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)akira6592
 
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみたakira6592
 
st2-docker ことはじめ
st2-docker ことはじめst2-docker ことはじめ
st2-docker ことはじめShu Sugimoto
 
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Kikunaga Taishi
 
Ansible 2.10 と Collection
Ansible 2.10 と CollectionAnsible 2.10 と Collection
Ansible 2.10 と Collectionakira6592
 
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化dcubeio
 
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)akira6592
 
Open Stack Day - Ansibleによる環境構築の自動化
Open Stack Day - Ansibleによる環境構築の自動化Open Stack Day - Ansibleによる環境構築の自動化
Open Stack Day - Ansibleによる環境構築の自動化shirou wakayama
 
Ansibleではじめるサーバー・ネットワークの自動化(2018/07/05)
Ansibleではじめるサーバー・ネットワークの自動化(2018/07/05)Ansibleではじめるサーバー・ネットワークの自動化(2018/07/05)
Ansibleではじめるサーバー・ネットワークの自動化(2018/07/05)akira6592
 
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejpAnsible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejpakira6592
 
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)akira6592
 
AWS SDK for Haskell開発
AWS SDK for Haskell開発AWS SDK for Haskell開発
AWS SDK for Haskell開発Nomura Yusuke
 

What's hot (20)

OpenStack & Ansible で実現する自動化
OpenStack & Ansible で実現する自動化OpenStack & Ansible で実現する自動化
OpenStack & Ansible で実現する自動化
 
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
インフラ自動構築エンジン "Ansible"の勘所を1日でつかむ ~基礎入門編~
 
自社クラウドサービスをAnsibleで作った話
自社クラウドサービスをAnsibleで作った話自社クラウドサービスをAnsibleで作った話
自社クラウドサービスをAnsibleで作った話
 
Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)Ansible ネットワーク自動化チュートリアル (JANOG42)
Ansible ネットワーク自動化チュートリアル (JANOG42)
 
OpenStack Osloを使おう - cliff編
OpenStack Osloを使おう - cliff編OpenStack Osloを使おう - cliff編
OpenStack Osloを使おう - cliff編
 
Ansible automationplatform product updates 2021
Ansible automationplatform product updates 2021Ansible automationplatform product updates 2021
Ansible automationplatform product updates 2021
 
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
 
Ansible night
Ansible nightAnsible night
Ansible night
 
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
 
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
 
st2-docker ことはじめ
st2-docker ことはじめst2-docker ことはじめ
st2-docker ことはじめ
 
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】
 
Ansible 2.10 と Collection
Ansible 2.10 と CollectionAnsible 2.10 と Collection
Ansible 2.10 と Collection
 
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化
 
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
 
Open Stack Day - Ansibleによる環境構築の自動化
Open Stack Day - Ansibleによる環境構築の自動化Open Stack Day - Ansibleによる環境構築の自動化
Open Stack Day - Ansibleによる環境構築の自動化
 
Ansibleではじめるサーバー・ネットワークの自動化(2018/07/05)
Ansibleではじめるサーバー・ネットワークの自動化(2018/07/05)Ansibleではじめるサーバー・ネットワークの自動化(2018/07/05)
Ansibleではじめるサーバー・ネットワークの自動化(2018/07/05)
 
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejpAnsible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
 
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
 
AWS SDK for Haskell開発
AWS SDK for Haskell開発AWS SDK for Haskell開発
AWS SDK for Haskell開発
 

Similar to IT Automation with OpenStack and Ansible/AWX

Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2Hiroshi Okano
 
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0Hiroshi Okano
 
Ansible AWXを導入してみた
Ansible AWXを導入してみたAnsible AWXを導入してみた
Ansible AWXを導入してみたsugoto
 
Ansible tower 構築方法と使い方
Ansible tower 構築方法と使い方Ansible tower 構築方法と使い方
Ansible tower 構築方法と使い方Hiroshi Okano
 
AWS CLI and CLOUDIAN HyperStore
AWS CLI and CLOUDIAN HyperStoreAWS CLI and CLOUDIAN HyperStore
AWS CLI and CLOUDIAN HyperStoreCLOUDIAN KK
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024Hideki Saito
 
AWSで開発するサーバレスAPIバックエンド
AWSで開発するサーバレスAPIバックエンドAWSで開発するサーバレスAPIバックエンド
AWSで開発するサーバレスAPIバックエンド暁 三宅
 
OpenShift v3 Technical Introduction
OpenShift v3 Technical IntroductionOpenShift v3 Technical Introduction
OpenShift v3 Technical IntroductionEtsuji Nakai
 
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 AWXで一歩進んだプロビジョニング
Ansible AWXで一歩進んだプロビジョニングAnsible AWXで一歩進んだプロビジョニング
Ansible AWXで一歩進んだプロビジョニングsugoto
 
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月VirtualTech Japan Inc.
 
Ansible2とOpenStackの関係
Ansible2とOpenStackの関係Ansible2とOpenStackの関係
Ansible2とOpenStackの関係Hideki Saito
 
Openstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verificationOpenstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verificationyukihiro kawada
 
SageMakerでもAUTOMATIC1111したい
SageMakerでもAUTOMATIC1111したいSageMakerでもAUTOMATIC1111したい
SageMakerでもAUTOMATIC1111したい真吾 吉田
 
OpenStack base public cloud service by GMO Internet Inc., at 2013/12/12 Okin...
OpenStack base public cloud service by GMO Internet Inc.,  at 2013/12/12 Okin...OpenStack base public cloud service by GMO Internet Inc.,  at 2013/12/12 Okin...
OpenStack base public cloud service by GMO Internet Inc., at 2013/12/12 Okin...Naoto Gohko
 
20161125 awsサービスアップデート
20161125 awsサービスアップデート20161125 awsサービスアップデート
20161125 awsサービスアップデートGenta Watanabe
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門VirtualTech Japan Inc.
 

Similar to IT Automation with OpenStack and Ansible/AWX (20)

Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.2
 
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0
Ansible tower 構築方法と使い方 with VMware モジュール Rev2.0
 
Ansible AWXを導入してみた
Ansible AWXを導入してみたAnsible AWXを導入してみた
Ansible AWXを導入してみた
 
Ansible tower 構築方法と使い方
Ansible tower 構築方法と使い方Ansible tower 構築方法と使い方
Ansible tower 構築方法と使い方
 
AWS CLI and CLOUDIAN HyperStore
AWS CLI and CLOUDIAN HyperStoreAWS CLI and CLOUDIAN HyperStore
AWS CLI and CLOUDIAN HyperStore
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024
 
AWSで開発するサーバレスAPIバックエンド
AWSで開発するサーバレスAPIバックエンドAWSで開発するサーバレスAPIバックエンド
AWSで開発するサーバレスAPIバックエンド
 
OpenShift v3 Technical Introduction
OpenShift v3 Technical IntroductionOpenShift v3 Technical Introduction
OpenShift v3 Technical Introduction
 
Okinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - AnsibleOkinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - Ansible
 
Ansible AWXで一歩進んだプロビジョニング
Ansible AWXで一歩進んだプロビジョニングAnsible AWXで一歩進んだプロビジョニング
Ansible AWXで一歩進んだプロビジョニング
 
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
OpenStack-Ansibleで作るOpenStack HA環境 手順書解説 - OpenStack最新情報セミナー 2016年3月
 
AWS OpsWorksハンズオン
AWS OpsWorksハンズオンAWS OpsWorksハンズオン
AWS OpsWorksハンズオン
 
Ansible2とOpenStackの関係
Ansible2とOpenStackの関係Ansible2とOpenStackの関係
Ansible2とOpenStackの関係
 
Openstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verificationOpenstack SPICE console (icehouse) verification
Openstack SPICE console (icehouse) verification
 
SageMakerでもAUTOMATIC1111したい
SageMakerでもAUTOMATIC1111したいSageMakerでもAUTOMATIC1111したい
SageMakerでもAUTOMATIC1111したい
 
AWS Ops service recap
AWS Ops service recapAWS Ops service recap
AWS Ops service recap
 
ACI Kubernetes Integration
ACI Kubernetes IntegrationACI Kubernetes Integration
ACI Kubernetes Integration
 
OpenStack base public cloud service by GMO Internet Inc., at 2013/12/12 Okin...
OpenStack base public cloud service by GMO Internet Inc.,  at 2013/12/12 Okin...OpenStack base public cloud service by GMO Internet Inc.,  at 2013/12/12 Okin...
OpenStack base public cloud service by GMO Internet Inc., at 2013/12/12 Okin...
 
20161125 awsサービスアップデート
20161125 awsサービスアップデート20161125 awsサービスアップデート
20161125 awsサービスアップデート
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 

More from Hideki 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 (16)

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
 
Osdt2015 saito
Osdt2015 saitoOsdt2015 saito
Osdt2015 saito
 
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

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 

Recently uploaded (8)

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 

IT Automation with OpenStack and Ansible/AWX

  • 1. IT Automation with OpenStack and Ansible/AWX ~ Move to the next step of IT automation ~ Hideki Saito
 Software Maintenance Engineer for Ansible@Red Hat K.K.
 2018-08-02
  • 2. Red Hat / Ansible2 • 氏名: 齊藤 秀喜 (さいとう ひでき) • TwitterID: @saito_hideki • 所属: Ansible Support Team / Red Hat K.K. • 仕事: Software Maintenance Engineer • 趣味: Ansible / Ansible Tower / AWX • OpenStack Days Tokyo事務局 / 撮影班副長 自己紹介 Ansible方面からきました 怪しい者ではありません
  • 3. Red Hat / Ansible3 Ansibleを利用した自動化を管理するコントローラ "AWX" を紹介します。 本日のテーマ 本日お話すること: 1. AWXで実現する一歩進んだ自動化 2. AWXの仕組み 3. OpenStackとの連携 4. デモ (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 自動化を共通のツールを利用して実現する
  • 10. Red Hat / Ansible10 Ansibleは、シンプルであることを重要視しているために不足している機能があり ます。こんな機能があったらいいのになぁ... Ansibleで始めた自動化の次の一手 1. いつ・誰が・どこで・どのようなPlaybookを実行したのか知りたい! 2. Playbookの実行結果をまとめて管理しておきたい! 3. そのPlaybook古くない?�指定されたバージョンのPlaybookを利用させたい! 4. 複数のPlaybookをワークフローのように実行したいんだけど...A->B->C... 5. ターゲットホストの認証情報を一元管理してたい! 6. コントロールホストのキャパシティをちゃんと管理したい...OOM killerさんが大暴 れしてるの... 7. 他のシステムと連携させたいけどAPIがない...だってただのコマンドだもの... などなど...自動化を進める上で、このような課題が見えてきます。
  • 11. Red Hat / Ansible11 AWXが提供する主な機能は以下の通りです。 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ではなくマルチノード構成)する機能
  • 12. Red Hat / Ansible12 旧Ansible, Inc (2015年に Red Hat が買収)が、商用ソフトウェアとして提供し ている Ansible Tower のアップストリーム版で、Apache v2ライセンスに基づい てOSSとして開発が進められています。 AWXの位置付け 分類 アップストリーム エンタープライズ (レッドハットが提供&サポート) 自動化プラットフォーム (GUI/REST API/ 権限管理/ 実行履歴管理など) AWX Project Ansible Tower 動作エンジン (コマンド等のコア部分、
 モジュール、プラグインなど) Ansible Project Ansible Engine
  • 13. Red Hat / Ansible13 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に関する情報
  • 14. Red Hat / Ansible14 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
  • 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 AWXは、コンテナ化された5つのサービスから構成されています。 AWXコンポーネントの構成 Infrastructure Host OS Docker Engine Bins/Libs Bins/Libs Bins/Libs Bins/Libs Bins/Libs awx-web awx-task awx-memcached awx-rabbit postgresql
  • 17. Red Hat / Ansible17 モダンなWeb Dashboardを利用して操作することができます。 AWXを利用する
  • 19. Red Hat / Ansible19 AWXでオペレーションを自動化する AWXで自動化を実現するための機能要素は以下の通りです。
  • 20. Red Hat / Ansible20 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同様に権限を付与可能
  • 21. Red Hat / Ansible Projects Job templates Notifications Organizations Inventories Users 21 AWXのオブジェクトモデル Teams Groups Hosts Inventory Sources Workflow Job templates Inventory Scripts Inventory Smart Inventory Schedules Instance Groups Credential Types Credentials
  • 22. 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" 22 基本的な操作の全体の流れ Create "User" Create "Credential" Create "Group" in "Inventory" Create "Job template"
  • 23. Red Hat / Ansible23 Organizationを作成する。 基本的な操作の流れ(1) AWXの管理情報は Organization単位で管理される
  • 24. Red Hat / Ansible24 Userを作成する。 基本的な操作の流れ(2)
  • 25. Red Hat / Ansible25 AWXにログインして操作するためのユーザには、ユーザタイプの中から1つを選択 して割り当てることができます。 基本的な操作の流れ(2) - ユーザの種類 ユーザタイプ 概要 Normal User (標準ユーザ) 一般ユーザとして、AWXのさまざまなオブジェクト(Project / Credential / Inventory / Job template など)に設定された権限にしたがって操作を実行する。 System Auditor
 (システム監査者) AWXシステムの監査を目的として、全てのオブジェクトに対する読み込み権限をデフ ォルト状態で持っている。 System Administrator (システム管理者) AWXシステム管理者として、全てのオブジェクトの管理者権限を持っている。
  • 26. Red Hat / Ansible26 Teamを作成する。 基本的な操作の流れ(3)
  • 27. Red Hat / Ansible27 UserをTeamに所属させて、適切な役割を設定する。 基本的な操作の流れ(4)
  • 28. Red Hat / Ansible28 Credentialを作成する 基本的な操作の流れ(5)
  • 29. Red Hat / Ansible29 現時点(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)
  • 30. Red Hat / Ansible30 Inventoryを作成する 基本的な操作の流れ(6)
  • 31. Red Hat / Ansible31 Inventory内にホストを作成する 基本的な操作の流れ(7)
  • 32. Red Hat / Ansible32 Inventory内にグループを作成する。 基本的な操作の流れ(8)
  • 33. Red Hat / Ansible33 Inventory内に作成したグループにホストを登録する。 基本的な操作の流れ(9)
  • 34. Red Hat / Ansible34 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}
  • 35. Red Hat / Ansible35 Projectを作成する。 基本的な操作の流れ(10) Playbookが配置されているGithub/Gitlabなどの 外部SCMのリポジトリを指定する
  • 36. Red Hat / Ansible36 Job templateを作成する。 基本的な操作の流れ(11) Projectに指定したリポジトリ内の Playbookを指定する
  • 37. Red Hat / Ansible37 Project / Credential / Inventory / Job Template に対する権限を設定する。 基本的な操作の流れ(12)
  • 38. Red Hat / Ansible38 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 => 実行権限
  • 39. Red Hat / Ansible Project-A Credential-A Inventory-A Job template-A role:use role:use role:use role:execute 39 Project / Credential / Inventory / Job template などのAWXの各オブジェ クトに対する操作権限(role)は、ユーザ毎に割り当てられますが、これを複数のユー ザを所属させたチームに対して行うことで一括設定が可能です。 基本的な操作の流れ(12) - 権限の割当 Team-A foo bar baz
  • 40. Red Hat / Ansible40 Job Templateを実行する。 基本的な操作の流れ(13)
  • 41. Red Hat / Ansible41 Jobの実行結果を確認する。 基本的な操作の流れ(14) ansible-playbookコマンドの実行結果は Live Eventとしてリアルタイム出力 ansible-playbookコマンドの実行結果を テキストファイルとしてダウンロード可能
  • 42. Red Hat / Ansible42 Web Dashboardによる操作だけでなく、M2MインターフェイスとなるAPIを提供 しています。 このAPIを利用したコマンドラインインターフェイス(tower-cli)も、オープンソース プロジェクトとして提供されています。 RESTful API / CLIを利用する • RESTful API - https://<AWX>/api/v2/ でAPIにアクセス可能 - 利用方法はAPIガイドを参照してください - https://docs.ansible.com/ansible-tower/latest/html/towerapi/index.html • tower-cli - AWXが提供するAPIを利用したAWXのコマンドラインインターフェイス - ソースコード - https://github.com/ansible/tower-cli/ - ドキュメント - https://docs.ansible.com/ansible-tower/latest/html/towerapi/tower_cli.html
  • 44. Red Hat / Ansible44 主要な機能は、以下のようなOSSプロダクトを利用して実現しています。 AWXを支える技術要素 OSS 役割 Docker AWXの各サービスをコンテナとして起動する Django WebUI / RESTful APIを提供するためのフレームワーク Nginx WebUI / RESTful APIを提供するためのフロントエンドサービス PostgreSQL AWXの設定情報や、ジョブの実行結果を格納するデータベース RabbitMQ ジョブスケジューラが利用するメッセージキューを管理する Celery RabbitMQと連携するAMQPワーカー Supervisord Celery / uwsgiなどのサービスをデーモンとして起動する Ansible AWXが実行するジョブのエンジン部分を担う
  • 45. Red Hat / Ansible クラスタ構成の場合は のコンポーネントが新たに起動してスケールアウトを実現 45 AWXコンポーネントの構成 Infrastructure Host OS Docker Engine Bins/Libs Bins/Libs Bins/Libs Bins/Libs Bins/Libs awx-web awx-task awx-memcached awx-rabbit postgresql
  • 46. Red Hat / Ansible 46 AWXの各コンテナが担うサービスコンポーネントは以下の通りです。 AWXのアーキテクチャ awx-web awx-memcached awx-rabbit awx-task postgresql スケールアウト可能 (*)現時点ではスケールダウン には手間がかかります
  • 47. Red Hat / Ansible47 awxのサービスを提供する各コンポーネントの役割は以下の通りです。 AWXコンテナの役割(1) •awx-webコンテナ - 利用者へのフロントエンドサービス(Web Dashboard / RESTful API)を提供 - Supervisordを利用してNginxとuwsgiを利用したフロントエンドサービスを起動 •awx-memcachedコンテナ - AWXの他のコンポーネント向けにMemcachedサービスを提供 - ジョブの結果をLive EventでWebクライアントに提供したり、外部ロギングシステムに実行結果を 転送するために一時利用される
  • 48. Red Hat / Ansible48 AWXコンテナの役割(2) •awx-rabbitコンテナ - フロントエンドから送られたAMQPメッセージをハンドリングするAMQPサービスを提供 - ジョブの起動やイベントの処理、バックグラウンドプロセス、WebSocketの処理に利用 - K8SやOpenShiftでawxサービスのpodを増やすと自動でRabbitMQクラスタに追加される •awx-taskコンテナ(旧awx-celery) - AWXの中枢として、awx-rabbitからメッセージを取得して、プロジェクトの管理やジョブの実行を 担う各サービスをSupervisordを利用して起動 - 自動化のエンジンとなるAnsible(ansible-playbookコマンド)は、このコンテナで実行される - Ansibleの実行環境は、Pythonのvirtualenv上に配置(venv/ansible, venv/awx) されている - Github / Gitlab などのSCMからチェックアウトしたPlaybookが配置される •postgresqコンテナ - AWXの設定情報を保存する構成管理データベース - 全てのジョブの実行情報(Playbookの出力など)もデータベース上に保存される
  • 49. Red Hat / Ansible49 ジョブ実行の流れ(概略) 1. API経由でジョブの実行リクエストを受信 2. rabbitmqのインスタンスグループのキューにメッセージ投入 3. リソースに空きのあるインスタンスでジョブ(Playbook)が起動 4. Playbookは、virtualenv:/var/lib/awx/venv/ansible/で起動(*1) 5. 各タスクのSTDOUTをCallback Pluginを利用してDBに書き込み 6. 各タスクのSTDOUTをwebsocket経由でlive eventとして送信 7. Playbookのfact_cacheをDBに書き込み(*2) (*1) AWXは2つ(venv/ansible/, venv/awx/)のPython実行環境を持っています。 Playbookの実行に利用されるのは venv/ansible/ で、venv/awx/はAWXのシステム自体 が利用します。 (*2) Job templateで"Use Fact Cache"が有効化されている場合
  • 50. Red Hat / Ansible50 ジョブ実行ホストの割り当て 複数のTowerホストをクラスタ構成することで、ジョブを実行するTowerホストの グループ(インスタンスグループ)を構成することができます。 インスタンスグループを指定してジョブの実行や、プロジェクト・インベントリの更新 を実行することで、負荷を分散させることができます。 IG: tower IG: west IG: east towerA towerB towerC towerA towerC towerA towerB ジョブ (1) ジョブ (2) ジョブ (3) ジョブ (4) ジョブ (5)
  • 52. Red Hat / Ansible52 AWXで外部システムと連携 AWX Authentication NotificationLogging IaaS PaaS SCM API Provisioning Callback AWXは外部からAPI経由で操作可能。Job TemplateのProvisioning Callbacks 機能を有効化することで、外部からのジョブ起動も簡単に行えます。
  • 53. Red Hat / Ansible53 OpenStack連携のパターン (a) ジョブの適用対象となるOpenStack管理下の仮想マシンリストを自動作成する (b) Ansibleのモジュールを利用してOpenStack上のリソースを管理する (c) 仮想マシンからTowerのジョブをコールバックで起動する AWXとOpenStackが連携させることで実現できる機能、大きく以下の3種類です。
  • 54. Red Hat / Ansible AWX 54 OpenStack連携方式-A インベントリにホスト情報を登録する。 OpenStack clouds.yml (1) (2) (3) (4) (1) 認証タイプ:OpenStackの認証情報からclouds.ymlを生成 (2) Dynamic Inventoryスクリプトから(1)で生成した clouds.ymlを読み込み (3) clouds.ymlにしたがってAPIリクエスト (4) ホストリストを取得 インベントリ認証情報
  • 55. Red Hat / Ansible55 OpenStack連携方式-A OpenStack認証情報から生成される�clouds.yml は以下の通りです。 clouds: devstack: auth: auth_url: "http://api.example.com:5000/v2.0/" password: "********" project_name: "admin" username: "admin"
  • 56. Red Hat / Ansible AWX 56 OpenStack連携方式-B OpenStack用の認証情報を利用して�os_*�モジュールを実行する。 OpenStack clouds.yml (1) (2) (3) (4) (1) 認証タイプ:OpenStackの認証情報からclouds.ymlを生成 して実行環境の�OS_CLIENT_CONFIG_FILE�にパスを設定 (2) ジョブのタスクから(1)で生成したclouds.ymlを読み込む (3) clouds.ymlにしたがってAPIリクエスト ジョブ認証情報
  • 57. Red Hat / Ansible57 OpenStack連携方式-B OpenStack用の認証情報を利用して�os_*�モジュールを実行する。 --- - hosts: localhost gather_facts: false tasks: - os_server_facts: cloud: devstack
  • 58. Red Hat / Ansible AWX 58 OpenStack連携方式-C OpenStack上の仮想マシンインスタンスからAWXのProvisioning Callback URL にアクセスすることで、アクセス元の仮想マシンインスタンス自身に対してジョブを 実行する。 hostB (1) (1) ジョブテンプレートに設定されたProvisioning Callback URL に、OpenStack管理下のhostBからアクセス (2) (3) 連携方式-Bでインベントリのホスト情報を生成/更新 (4) インベントリにhostBが存在した場合はジョブを適用 ジョブインベントリ hostA hostB ... hostN OpenStack (2) (3) (4)
  • 60. Red Hat / Ansible60 デモ内容 1. OpenStackの認証情報の作成 2. OpenStackインベントリソースの作成 3. インベントリの同期 4. os_*モジュールの利用
  • 62. Red Hat / Ansible62 まとめ Ansibleは、シンプルで強力な自動化ツールです。しかし、シンプルであるために、あ えて実装していない、さまざまな機能があります。 AWXは、Ansibleを自動化のエンジン部分として利用することで、自動化の根幹とな るPlaybookなどの仕組みをシンプルなまま維持し、これに加えてモダンなWeb UIや APIを提供することで、人だけではなく外部システムからも利用することを想定した機 能を補完しています。 みなさんも、AWXを利用して、Ansibleで実装してきた自動化をもう一歩進めてみま せんか?