SlideShare a Scribd company logo
1 of 13
開発者でも知っておきたいインフラ構築自動化
- Ansible入門編
Developer Dojo
2023. 9.27
© 2023 IBM Corporation 2
© 2023 IBM Corporation
What is
Ansible?
Ansibleは2012年にリリースされたインフラ自動化のソフトウェアです。
Ansible=構成管理ツールだったのですが、すごい進化しているため、
行為性管理もできる自動化ツールといったほうが正しい気がしています。
サーバやネットワーク、仮想環境だけでなく様々なミドルウェアやクラウド環境に対して、
構築や設定変更ができます。
Ansible offers open-source automation that is simple,
flexible, and powerful.
Simple
Yaml形式で短く、
簡潔に自動化を定義
Powerful
様々なIT機器、
クラウド、
ミドルウェアに対応
Flexible
エージェントレス!
© 2023 IBM Corporation 3
© 2023 IBM Corporation
What is
IaC ?
Infrastructure as Code
インフラの構成や変更作業をコードで記述する。
ソフトウェア開発の進め方をインフラに適用していこうぜという考え方
ツールで自動化 バージョン管理 コードで管理
IaC適用前の課題...
運用手順書を見ながら同じ作業を手作業で実施。
何台ものサーバーで同じ作業を繰り返すため、どこかで設定ミスが発生してしまう。
パッチ適用など変更を行った情報をExcelで管理し、運用手順書を更新する。
ツールで自動化 バージョン管理 コードで管理
© 2023 IBM Corporation 4
Ansible入門
© 2023 IBM Corporation 5
© 2023 IBM Corporation
Key
Components Module
Collection
Inventory
tgt1 10.0.1.22
tgt2 xx.xx.xx
Playbook
- Targets
- Task
- Handler
Server
Network
Cloud
Ansible
RedHat社によってpythonで開発されたOSS
ターゲット
今日ご紹介するAnsibleの基本要素です。Module/Inventory/Playbookの
3つを覚えてください。
© 2023 IBM Corporation 6
ターゲット上で実行されるタスクの単位で、Ansibleが自動化できる内容がたくさん用意されている。
モジュール は「タスクプラグイン」または「ライブラリープラグイン」とも呼ばれる
built-inモジュールと呼ばれる最初から入っているモジュールに加え、
追加で導入するモジュールはコレクションとしてまとめられている。
built-in
モジュール郡
Module &
Collection
自動化の部品 &
部品のセット
利用可能なモジュールの一覧
pingモジュールで
疎通確認する > ターゲット
カテゴリー モジュール名 概要
コマンド系 shell shellを実行する
ファイル操作系 file ファイル作成、リンク
copy コピーする
パッケージ管理系 yum パッケージ更新、インストール
クラウド操作系 ec2 ec2の作成、停止、起動
© 2023 IBM Corporation 7
Inventory Ansibleがターゲットとする対象を指定するファイルをinventoryと呼びます。
複数ホストを1つのグループにまとめたり、グループに対して変数を設定できたりする。
自動化する対象を指定する [grp1]
tgt1
tgt2
[grp2]
tgt3.example.com
10.0.11.121
[all:vars]
ansible_user=root
ansible_ssh_password=password
[grp1:vars]
myname=sagawa
inv ファイル
grp1って言われたら
tgt1とtgt2を操作するんですね!
承知しました!
$ ansible –i inv tgt1 –m ping –o
© 2023 IBM Corporation 8
とりあえず試してみよう その1
Ad-Hoc コマンド
Podman 環境
ssh
Controller
IaCではなくなってしまいますが、Playbookを書かずにコマンドで操作する方法をAd-Hocといいます。
ちょっとした検証に使う
[ansible-handson]# ansible -i inv grp1 -m ping –o
tgt2 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python":
"/usr/libexec/platform-python"},"changed": false,"ping": "pong"}
$ ansible -i inventory_name target_name –m module_name
Target
sshd
© 2023 IBM Corporation 9
Playbook
---
- name: first plyabook
hosts: all
become: yes
tasks:
- name: first task
yum:
name: httpd
state: latest
- name: start
service:
name: httpd
state: started
enabled: yes
- name: copy new html
copy:
src: files/index.html
dest: /var/www/html/
Playbook.yaml
Playパート: ヘッダー部分
taskパート: 自動化の定義
- その1
任意のタスク名
使うモジュール
モジュールへ渡す引数
- その2
- その3
YAML形式で記述し、ターゲットの望ましい状態を定義する
© 2023 IBM Corporation 10
© 2023 IBM Corporation
YAMLと
仲良しですか?
参加者の皆様はYAMLの読み書きできますか?
Jsonとはマブダチだけど...実はYAMLはあまり好きじゃないという方向けにYAMLのおさらい。
YAMLはjsonの上位互換 (らしいです)
ルール:インデントするときはTab使えない。配列は ハイフンで表す
#可読性Good!コメント書ける!
---
people: #コメント
- name: saito
age: 10
friend: true
- name: sagawa
age: 12
friend: false
{
"people": [
{
"name": "saito",
"age": 10,
"friend": "yes"
},
{
"name": "sagawa",
"age": 12,
"friend": "no"
}
]
}
vs
© 2023 IBM Corporation 11
とりあえず試してみよう その2
Playbookの作成と実行
Podman 環境
Controller Target1
Target2
playbook
---
- name: first plyabook
hosts: all
become: true
tasks:
- name: first task
yum:
name: httpd
state: latest
- name: start
service:
name: httpd
state: started
enabled: yes
- name: copy new html
copy:
src: files/index.html
dest: /var/www/html/
1. httpdをインストールして、
2. startして、
3. htmlファイルをコピーする
© 2023 IBM Corporation 12
とりあえず試してみよう その2
Playbookの作成と実行
冪等性
何度繰り返しても、同じ結果が得られる
Playbookに従い処理を実行する前に、
本当に処理する必要があるかを確認しています。
httpdがインストールされているか?
指定のバージョンか?
を確認した上で、異なる場合だけ処理を実行します。
そのため、同じplaybookを2回、3回と実行しても
結果は変わりません。
Podman 環境
Controller Target1
Target2
playbook
© 2023 IBM Corporation 13
Ansible触ってみよう!
https://killercoda.com/ansible/scenario/ansible-101
webでハンズオンができます!
日本語もあるのでおすすめ!
お時間ある方はぜひ実施してください!
19時まで残っているので、QA受け付けます。

More Related Content

What's hot

現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせKuniteru Asami
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティスAmazon Web Services Japan
 
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことMySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことyoku0825
 
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAmazon Web Services Japan
 
ネットワークエンジニア的Ansibleの始め方
ネットワークエンジニア的Ansibleの始め方ネットワークエンジニア的Ansibleの始め方
ネットワークエンジニア的Ansibleの始め方akira6592
 
とにかく分かりづらいTwelve-Factor Appの解説を試みる
とにかく分かりづらいTwelve-Factor Appの解説を試みるとにかく分かりづらいTwelve-Factor Appの解説を試みる
とにかく分かりづらいTwelve-Factor Appの解説を試みるMasatoshi Tada
 
第15回JSSUG「Azure SQL Database 超入門」
第15回JSSUG「Azure SQL Database 超入門」第15回JSSUG「Azure SQL Database 超入門」
第15回JSSUG「Azure SQL Database 超入門」裕之 木下
 
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQLAmazon Web Services Japan
 
Part 0: 製造リファレンス・アーキテクチャとは?(製造リファレンス・アーキテクチャ勉強会)
Part 0: 製造リファレンス・アーキテクチャとは?(製造リファレンス・アーキテクチャ勉強会)Part 0: 製造リファレンス・アーキテクチャとは?(製造リファレンス・アーキテクチャ勉強会)
Part 0: 製造リファレンス・アーキテクチャとは?(製造リファレンス・アーキテクチャ勉強会)Takeshi Fukuhara
 
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ることGraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ることShingo Fukui
 
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...Amazon Web Services Japan
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
 
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...TakeshiFukae
 
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch ServiceAmazon Web Services Japan
 
ITコミュニティと情報発信に共通する成長と貢献の要素
ITコミュニティと情報発信に共通する成長と貢献の要素ITコミュニティと情報発信に共通する成長と貢献の要素
ITコミュニティと情報発信に共通する成長と貢献の要素NISHIHARA Shota
 
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService PrincipalToru Makabe
 
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?Masahito Zembutsu
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 

What's hot (20)

現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
 
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことMySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
 
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic BeanstalkAWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
 
ネットワークエンジニア的Ansibleの始め方
ネットワークエンジニア的Ansibleの始め方ネットワークエンジニア的Ansibleの始め方
ネットワークエンジニア的Ansibleの始め方
 
とにかく分かりづらいTwelve-Factor Appの解説を試みる
とにかく分かりづらいTwelve-Factor Appの解説を試みるとにかく分かりづらいTwelve-Factor Appの解説を試みる
とにかく分かりづらいTwelve-Factor Appの解説を試みる
 
第15回JSSUG「Azure SQL Database 超入門」
第15回JSSUG「Azure SQL Database 超入門」第15回JSSUG「Azure SQL Database 超入門」
第15回JSSUG「Azure SQL Database 超入門」
 
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
 
Part 0: 製造リファレンス・アーキテクチャとは?(製造リファレンス・アーキテクチャ勉強会)
Part 0: 製造リファレンス・アーキテクチャとは?(製造リファレンス・アーキテクチャ勉強会)Part 0: 製造リファレンス・アーキテクチャとは?(製造リファレンス・アーキテクチャ勉強会)
Part 0: 製造リファレンス・アーキテクチャとは?(製造リファレンス・アーキテクチャ勉強会)
 
Google Cloud で実践する SRE
Google Cloud で実践する SRE  Google Cloud で実践する SRE
Google Cloud で実践する SRE
 
GraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ることGraphQLのsubscriptionで出来ること
GraphQLのsubscriptionで出来ること
 
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
AWS OpsWorksハンズオン
AWS OpsWorksハンズオンAWS OpsWorksハンズオン
AWS OpsWorksハンズオン
 
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA !  ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
【JAWS-UG AI/ML支部 第14回勉強会】Amazon EC2 Trn1 GA ! ~ AWSが提供するML向けインスタンスの豊富な品揃えと 専...
 
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
20200623 AWS Black Belt Online Seminar Amazon Elasticsearch Service
 
ITコミュニティと情報発信に共通する成長と貢献の要素
ITコミュニティと情報発信に共通する成長と貢献の要素ITコミュニティと情報発信に共通する成長と貢献の要素
ITコミュニティと情報発信に共通する成長と貢献の要素
 
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
 
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 

Similar to Ansible入門.pptx

decode2016振り返り Azure IaaSなどインフラ系8セッションのポイントについて語ります!
decode2016振り返り Azure IaaSなどインフラ系8セッションのポイントについて語ります!decode2016振り返り Azure IaaSなどインフラ系8セッションのポイントについて語ります!
decode2016振り返り Azure IaaSなどインフラ系8セッションのポイントについて語ります!wintechq
 
IT自動化ツール"Ansible"でIDCF Cloudを自動化する話
IT自動化ツール"Ansible"でIDCF Cloudを自動化する話IT自動化ツール"Ansible"でIDCF Cloudを自動化する話
IT自動化ツール"Ansible"でIDCF Cloudを自動化する話Hidetoshi Hirokawa
 
自動化ツール Ansible に触れてみよう(技術インターン)
 自動化ツール Ansible に触れてみよう(技術インターン) 自動化ツール Ansible に触れてみよう(技術インターン)
自動化ツール Ansible に触れてみよう(技術インターン)akira6592
 
KDDIにおけるAWS×アジャイル開発
KDDIにおけるAWS×アジャイル開発KDDIにおけるAWS×アジャイル開発
KDDIにおけるAWS×アジャイル開発Kazuya Suda
 
Ansible はじめてみました
Ansible はじめてみましたAnsible はじめてみました
Ansible はじめてみましたTakeshi Kuramochi
 
Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Boss4434
 
IaaS型パブリッククラウド「IBM SoftLayer」とは
IaaS型パブリッククラウド「IBM SoftLayer」とはIaaS型パブリッククラウド「IBM SoftLayer」とは
IaaS型パブリッククラウド「IBM SoftLayer」とはKimihiko Kitase
 
20191129 AWS CloudFormarion
20191129 AWS CloudFormarion20191129 AWS CloudFormarion
20191129 AWS CloudFormarionyamamotomsc
 
Introduction to web development 1
Introduction to web development 1Introduction to web development 1
Introduction to web development 1hideaki honda
 
プライベートクラウドの動向とIT業へのインパクト(インタリオセミナー072409)最終版
プライベートクラウドの動向とIT業へのインパクト(インタリオセミナー072409)最終版プライベートクラウドの動向とIT業へのインパクト(インタリオセミナー072409)最終版
プライベートクラウドの動向とIT業へのインパクト(インタリオセミナー072409)最終版Tomoaki Sawada
 
OpenWhisk Serverless への期待
OpenWhisk Serverless への期待OpenWhisk Serverless への期待
OpenWhisk Serverless への期待Hideaki Tokida
 
Inter op tokyo 基調講演
Inter op tokyo 基調講演Inter op tokyo 基調講演
Inter op tokyo 基調講演Yoshisato Ushio
 
HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解Monaca
 
【Interop Tokyo 2016】 エコシステムですすめる レノボのSDIソリューション
【Interop Tokyo 2016】 エコシステムですすめる レノボのSDIソリューション【Interop Tokyo 2016】 エコシステムですすめる レノボのSDIソリューション
【Interop Tokyo 2016】 エコシステムですすめる レノボのSDIソリューションJuniper Networks (日本)
 
コンソールアプリケーションでDIを使う
コンソールアプリケーションでDIを使うコンソールアプリケーションでDIを使う
コンソールアプリケーションでDIを使うCore Concept Technologies
 
[AC02] Cloud Robotics Azure Platform って何だ!?~ IoT をもっと簡単に、Cloud AI の活用をもっと気軽にや...
[AC02] Cloud Robotics Azure Platform って何だ!?~ IoT をもっと簡単に、Cloud AI の活用をもっと気軽にや...[AC02] Cloud Robotics Azure Platform って何だ!?~ IoT をもっと簡単に、Cloud AI の活用をもっと気軽にや...
[AC02] Cloud Robotics Azure Platform って何だ!?~ IoT をもっと簡単に、Cloud AI の活用をもっと気軽にや...de:code 2017
 
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜Teruo Adachi
 
UnityとAmazon Web Servicesで生み出す新しい価値
UnityとAmazon Web Servicesで生み出す新しい価値UnityとAmazon Web Servicesで生み出す新しい価値
UnityとAmazon Web Servicesで生み出す新しい価値Keisuke Nishitani
 
2011年マイクロソフト テクノロジー振り返り~開発編~
2011年マイクロソフト テクノロジー振り返り~開発編~2011年マイクロソフト テクノロジー振り返り~開発編~
2011年マイクロソフト テクノロジー振り返り~開発編~Takeshi Shinmura
 

Similar to Ansible入門.pptx (20)

decode2016振り返り Azure IaaSなどインフラ系8セッションのポイントについて語ります!
decode2016振り返り Azure IaaSなどインフラ系8セッションのポイントについて語ります!decode2016振り返り Azure IaaSなどインフラ系8セッションのポイントについて語ります!
decode2016振り返り Azure IaaSなどインフラ系8セッションのポイントについて語ります!
 
IT自動化ツール"Ansible"でIDCF Cloudを自動化する話
IT自動化ツール"Ansible"でIDCF Cloudを自動化する話IT自動化ツール"Ansible"でIDCF Cloudを自動化する話
IT自動化ツール"Ansible"でIDCF Cloudを自動化する話
 
Ansible Module Topic
Ansible Module Topic Ansible Module Topic
Ansible Module Topic
 
自動化ツール Ansible に触れてみよう(技術インターン)
 自動化ツール Ansible に触れてみよう(技術インターン) 自動化ツール Ansible に触れてみよう(技術インターン)
自動化ツール Ansible に触れてみよう(技術インターン)
 
KDDIにおけるAWS×アジャイル開発
KDDIにおけるAWS×アジャイル開発KDDIにおけるAWS×アジャイル開発
KDDIにおけるAWS×アジャイル開発
 
Ansible はじめてみました
Ansible はじめてみましたAnsible はじめてみました
Ansible はじめてみました
 
Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!Aws summits2014 nttデータaws上のシステムはこう作る!
Aws summits2014 nttデータaws上のシステムはこう作る!
 
IaaS型パブリッククラウド「IBM SoftLayer」とは
IaaS型パブリッククラウド「IBM SoftLayer」とはIaaS型パブリッククラウド「IBM SoftLayer」とは
IaaS型パブリッククラウド「IBM SoftLayer」とは
 
20191129 AWS CloudFormarion
20191129 AWS CloudFormarion20191129 AWS CloudFormarion
20191129 AWS CloudFormarion
 
Introduction to web development 1
Introduction to web development 1Introduction to web development 1
Introduction to web development 1
 
プライベートクラウドの動向とIT業へのインパクト(インタリオセミナー072409)最終版
プライベートクラウドの動向とIT業へのインパクト(インタリオセミナー072409)最終版プライベートクラウドの動向とIT業へのインパクト(インタリオセミナー072409)最終版
プライベートクラウドの動向とIT業へのインパクト(インタリオセミナー072409)最終版
 
OpenWhisk Serverless への期待
OpenWhisk Serverless への期待OpenWhisk Serverless への期待
OpenWhisk Serverless への期待
 
Inter op tokyo 基調講演
Inter op tokyo 基調講演Inter op tokyo 基調講演
Inter op tokyo 基調講演
 
HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解
 
【Interop Tokyo 2016】 エコシステムですすめる レノボのSDIソリューション
【Interop Tokyo 2016】 エコシステムですすめる レノボのSDIソリューション【Interop Tokyo 2016】 エコシステムですすめる レノボのSDIソリューション
【Interop Tokyo 2016】 エコシステムですすめる レノボのSDIソリューション
 
コンソールアプリケーションでDIを使う
コンソールアプリケーションでDIを使うコンソールアプリケーションでDIを使う
コンソールアプリケーションでDIを使う
 
[AC02] Cloud Robotics Azure Platform って何だ!?~ IoT をもっと簡単に、Cloud AI の活用をもっと気軽にや...
[AC02] Cloud Robotics Azure Platform って何だ!?~ IoT をもっと簡単に、Cloud AI の活用をもっと気軽にや...[AC02] Cloud Robotics Azure Platform って何だ!?~ IoT をもっと簡単に、Cloud AI の活用をもっと気軽にや...
[AC02] Cloud Robotics Azure Platform って何だ!?~ IoT をもっと簡単に、Cloud AI の活用をもっと気軽にや...
 
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
 
UnityとAmazon Web Servicesで生み出す新しい価値
UnityとAmazon Web Servicesで生み出す新しい価値UnityとAmazon Web Servicesで生み出す新しい価値
UnityとAmazon Web Servicesで生み出す新しい価値
 
2011年マイクロソフト テクノロジー振り返り~開発編~
2011年マイクロソフト テクノロジー振り返り~開発編~2011年マイクロソフト テクノロジー振り返り~開発編~
2011年マイクロソフト テクノロジー振り返り~開発編~
 

Ansible入門.pptx

  • 2. © 2023 IBM Corporation 2 © 2023 IBM Corporation What is Ansible? Ansibleは2012年にリリースされたインフラ自動化のソフトウェアです。 Ansible=構成管理ツールだったのですが、すごい進化しているため、 行為性管理もできる自動化ツールといったほうが正しい気がしています。 サーバやネットワーク、仮想環境だけでなく様々なミドルウェアやクラウド環境に対して、 構築や設定変更ができます。 Ansible offers open-source automation that is simple, flexible, and powerful. Simple Yaml形式で短く、 簡潔に自動化を定義 Powerful 様々なIT機器、 クラウド、 ミドルウェアに対応 Flexible エージェントレス!
  • 3. © 2023 IBM Corporation 3 © 2023 IBM Corporation What is IaC ? Infrastructure as Code インフラの構成や変更作業をコードで記述する。 ソフトウェア開発の進め方をインフラに適用していこうぜという考え方 ツールで自動化 バージョン管理 コードで管理 IaC適用前の課題... 運用手順書を見ながら同じ作業を手作業で実施。 何台ものサーバーで同じ作業を繰り返すため、どこかで設定ミスが発生してしまう。 パッチ適用など変更を行った情報をExcelで管理し、運用手順書を更新する。 ツールで自動化 バージョン管理 コードで管理
  • 4. © 2023 IBM Corporation 4 Ansible入門
  • 5. © 2023 IBM Corporation 5 © 2023 IBM Corporation Key Components Module Collection Inventory tgt1 10.0.1.22 tgt2 xx.xx.xx Playbook - Targets - Task - Handler Server Network Cloud Ansible RedHat社によってpythonで開発されたOSS ターゲット 今日ご紹介するAnsibleの基本要素です。Module/Inventory/Playbookの 3つを覚えてください。
  • 6. © 2023 IBM Corporation 6 ターゲット上で実行されるタスクの単位で、Ansibleが自動化できる内容がたくさん用意されている。 モジュール は「タスクプラグイン」または「ライブラリープラグイン」とも呼ばれる built-inモジュールと呼ばれる最初から入っているモジュールに加え、 追加で導入するモジュールはコレクションとしてまとめられている。 built-in モジュール郡 Module & Collection 自動化の部品 & 部品のセット 利用可能なモジュールの一覧 pingモジュールで 疎通確認する > ターゲット カテゴリー モジュール名 概要 コマンド系 shell shellを実行する ファイル操作系 file ファイル作成、リンク copy コピーする パッケージ管理系 yum パッケージ更新、インストール クラウド操作系 ec2 ec2の作成、停止、起動
  • 7. © 2023 IBM Corporation 7 Inventory Ansibleがターゲットとする対象を指定するファイルをinventoryと呼びます。 複数ホストを1つのグループにまとめたり、グループに対して変数を設定できたりする。 自動化する対象を指定する [grp1] tgt1 tgt2 [grp2] tgt3.example.com 10.0.11.121 [all:vars] ansible_user=root ansible_ssh_password=password [grp1:vars] myname=sagawa inv ファイル grp1って言われたら tgt1とtgt2を操作するんですね! 承知しました! $ ansible –i inv tgt1 –m ping –o
  • 8. © 2023 IBM Corporation 8 とりあえず試してみよう その1 Ad-Hoc コマンド Podman 環境 ssh Controller IaCではなくなってしまいますが、Playbookを書かずにコマンドで操作する方法をAd-Hocといいます。 ちょっとした検証に使う [ansible-handson]# ansible -i inv grp1 -m ping –o tgt2 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/libexec/platform-python"},"changed": false,"ping": "pong"} $ ansible -i inventory_name target_name –m module_name Target sshd
  • 9. © 2023 IBM Corporation 9 Playbook --- - name: first plyabook hosts: all become: yes tasks: - name: first task yum: name: httpd state: latest - name: start service: name: httpd state: started enabled: yes - name: copy new html copy: src: files/index.html dest: /var/www/html/ Playbook.yaml Playパート: ヘッダー部分 taskパート: 自動化の定義 - その1 任意のタスク名 使うモジュール モジュールへ渡す引数 - その2 - その3 YAML形式で記述し、ターゲットの望ましい状態を定義する
  • 10. © 2023 IBM Corporation 10 © 2023 IBM Corporation YAMLと 仲良しですか? 参加者の皆様はYAMLの読み書きできますか? Jsonとはマブダチだけど...実はYAMLはあまり好きじゃないという方向けにYAMLのおさらい。 YAMLはjsonの上位互換 (らしいです) ルール:インデントするときはTab使えない。配列は ハイフンで表す #可読性Good!コメント書ける! --- people: #コメント - name: saito age: 10 friend: true - name: sagawa age: 12 friend: false { "people": [ { "name": "saito", "age": 10, "friend": "yes" }, { "name": "sagawa", "age": 12, "friend": "no" } ] } vs
  • 11. © 2023 IBM Corporation 11 とりあえず試してみよう その2 Playbookの作成と実行 Podman 環境 Controller Target1 Target2 playbook --- - name: first plyabook hosts: all become: true tasks: - name: first task yum: name: httpd state: latest - name: start service: name: httpd state: started enabled: yes - name: copy new html copy: src: files/index.html dest: /var/www/html/ 1. httpdをインストールして、 2. startして、 3. htmlファイルをコピーする
  • 12. © 2023 IBM Corporation 12 とりあえず試してみよう その2 Playbookの作成と実行 冪等性 何度繰り返しても、同じ結果が得られる Playbookに従い処理を実行する前に、 本当に処理する必要があるかを確認しています。 httpdがインストールされているか? 指定のバージョンか? を確認した上で、異なる場合だけ処理を実行します。 そのため、同じplaybookを2回、3回と実行しても 結果は変わりません。 Podman 環境 Controller Target1 Target2 playbook
  • 13. © 2023 IBM Corporation 13 Ansible触ってみよう! https://killercoda.com/ansible/scenario/ansible-101 webでハンズオンができます! 日本語もあるのでおすすめ! お時間ある方はぜひ実施してください! 19時まで残っているので、QA受け付けます。