SlideShare a Scribd company logo
開発者でも知っておきたいインフラ構築自動化
- 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

GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...
GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...
GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...
VirtualTech Japan Inc.
 
SoRとSoEをつなぐ 「エンジニアの役割」と 「企業の課題」
SoRとSoEをつなぐ 「エンジニアの役割」と 「企業の課題」SoRとSoEをつなぐ 「エンジニアの役割」と 「企業の課題」
SoRとSoEをつなぐ 「エンジニアの役割」と 「企業の課題」
Keiichiro Seida
 
Oracle GoldenGate Cloud Service(GGCS)概要
Oracle GoldenGate Cloud Service(GGCS)概要Oracle GoldenGate Cloud Service(GGCS)概要
Oracle GoldenGate Cloud Service(GGCS)概要
オラクルエンジニア通信
 
AWS Black Belt Online Seminar 2017 動画配信 on AWS
AWS Black Belt Online Seminar 2017 動画配信 on AWSAWS Black Belt Online Seminar 2017 動画配信 on AWS
AWS Black Belt Online Seminar 2017 動画配信 on AWS
Amazon Web Services Japan
 
データローダについてちょっと詳しくなる
データローダについてちょっと詳しくなるデータローダについてちょっと詳しくなる
データローダについてちょっと詳しくなる
Junko Nakayama
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
 
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Hinemos
 
Fate/Grand Orderにおける大規模なデータベース移行と負荷試験
Fate/Grand Orderにおける大規模なデータベース移行と負荷試験Fate/Grand Orderにおける大規模なデータベース移行と負荷試験
Fate/Grand Orderにおける大規模なデータベース移行と負荷試験
MorioImai
 
Kyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in JapaneseKyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in JapaneseMikio Hirabayashi
 
20171005 告白に学ぶ http status code
20171005 告白に学ぶ http status code20171005 告白に学ぶ http status code
20171005 告白に学ぶ http status code
Shinichi Takahashi
 
クラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えようクラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えよう
NTT Communications Technology Development
 
[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送
[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送
[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送
Google Cloud Platform - Japan
 
負荷分散だけじゃないELBのメリット
負荷分散だけじゃないELBのメリット負荷分散だけじゃないELBのメリット
負荷分散だけじゃないELBのメリット
Takashi Toyosaki
 
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化
dcubeio
 
Systems manager 入門 ops jaws
Systems manager 入門 ops jawsSystems manager 入門 ops jaws
Systems manager 入門 ops jaws
真乙 九龍
 
中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング
勲 國府田
 
JPAのキャッシュを使ったアプリケーション高速化手法
JPAのキャッシュを使ったアプリケーション高速化手法JPAのキャッシュを使ったアプリケーション高速化手法
JPAのキャッシュを使ったアプリケーション高速化手法
Chihiro Ito
 
Quarkus入門
Quarkus入門Quarkus入門
Quarkus入門
Norito Agetsuma
 
サーバ構築を自動化する 〜Ansible〜
サーバ構築を自動化する 〜Ansible〜サーバ構築を自動化する 〜Ansible〜
サーバ構築を自動化する 〜Ansible〜
Yui Ito
 

What's hot (20)

GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...
GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...
GMOインターネット様 発表「OpenStackのモデルの最適化とConoHa, Z.comとGMOアプリクラウドへの適用」 - OpenStack最新情...
 
SoRとSoEをつなぐ 「エンジニアの役割」と 「企業の課題」
SoRとSoEをつなぐ 「エンジニアの役割」と 「企業の課題」SoRとSoEをつなぐ 「エンジニアの役割」と 「企業の課題」
SoRとSoEをつなぐ 「エンジニアの役割」と 「企業の課題」
 
Oracle GoldenGate Cloud Service(GGCS)概要
Oracle GoldenGate Cloud Service(GGCS)概要Oracle GoldenGate Cloud Service(GGCS)概要
Oracle GoldenGate Cloud Service(GGCS)概要
 
AWS Black Belt Online Seminar 2017 動画配信 on AWS
AWS Black Belt Online Seminar 2017 動画配信 on AWSAWS Black Belt Online Seminar 2017 動画配信 on AWS
AWS Black Belt Online Seminar 2017 動画配信 on AWS
 
データローダについてちょっと詳しくなる
データローダについてちょっと詳しくなるデータローダについてちょっと詳しくなる
データローダについてちょっと詳しくなる
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
 
はじめての品質
はじめての品質はじめての品質
はじめての品質
 
Fate/Grand Orderにおける大規模なデータベース移行と負荷試験
Fate/Grand Orderにおける大規模なデータベース移行と負荷試験Fate/Grand Orderにおける大規模なデータベース移行と負荷試験
Fate/Grand Orderにおける大規模なデータベース移行と負荷試験
 
Kyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in JapaneseKyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in Japanese
 
20171005 告白に学ぶ http status code
20171005 告白に学ぶ http status code20171005 告白に学ぶ http status code
20171005 告白に学ぶ http status code
 
クラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えようクラウドを最大限活用するinfrastructure as codeを考えよう
クラウドを最大限活用するinfrastructure as codeを考えよう
 
[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送
[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送
[Cloud OnAir] Google Cloud で実現するバックアップ ディザスタリカバリのベストプラクティス 2019年4月25日 放送
 
負荷分散だけじゃないELBのメリット
負荷分散だけじゃないELBのメリット負荷分散だけじゃないELBのメリット
負荷分散だけじゃないELBのメリット
 
Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化Ansibleで始めるインフラ構築自動化
Ansibleで始めるインフラ構築自動化
 
Systems manager 入門 ops jaws
Systems manager 入門 ops jawsSystems manager 入門 ops jaws
Systems manager 入門 ops jaws
 
中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング
 
JPAのキャッシュを使ったアプリケーション高速化手法
JPAのキャッシュを使ったアプリケーション高速化手法JPAのキャッシュを使ったアプリケーション高速化手法
JPAのキャッシュを使ったアプリケーション高速化手法
 
Quarkus入門
Quarkus入門Quarkus入門
Quarkus入門
 
サーバ構築を自動化する 〜Ansible〜
サーバ構築を自動化する 〜Ansible〜サーバ構築を自動化する 〜Ansible〜
サーバ構築を自動化する 〜Ansible〜
 

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 Module Topic
Ansible Module Topic Ansible Module Topic
Ansible Module Topic
Takeshi Kuramochi
 
自動化ツール 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 CloudFormarion
yamamotomsc
 
Introduction to web development 1
Introduction to web development 1Introduction to web development 1
Introduction to web development 1
hideaki 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年マイクロソフト テクノロジー振り返り~開発編~
 

Recently uploaded

FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
fisuda
 
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
You&I
 
20240603_SD輪読&座談会#57_kitazaki_______.pdf
20240603_SD輪読&座談会#57_kitazaki_______.pdf20240603_SD輪読&座談会#57_kitazaki_______.pdf
20240603_SD輪読&座談会#57_kitazaki_______.pdf
Ayachika Kitazaki
 
NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしようNIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
You&I
 
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
ooishi1
 
Grokking Simplicity探訪
Grokking Simplicity探訪Grokking Simplicity探訪
Grokking Simplicity探訪
Yoshitaka Kawashima
 

Recently uploaded (6)

FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
 
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
 
20240603_SD輪読&座談会#57_kitazaki_______.pdf
20240603_SD輪読&座談会#57_kitazaki_______.pdf20240603_SD輪読&座談会#57_kitazaki_______.pdf
20240603_SD輪読&座談会#57_kitazaki_______.pdf
 
NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしようNIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
 
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
 
Grokking Simplicity探訪
Grokking Simplicity探訪Grokking Simplicity探訪
Grokking Simplicity探訪
 

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受け付けます。