IaC実現の考え方から、プレイブックの書き方、各環境の自動化、AWXの活用まで、詳細にわかりやすく解説
本書は、ITインフラの構成管理ツールである「Ansible」について、なるべくわかりやすく解説したものです。
インフラ運用に悩み、「これからAnsibleで自動化をはじめたいけれど、どこから手を付ければいいかわからない」「Ansibleは実際に使っているけれど、どうすれば効果的に自動化できるのだろうか」といった方への道標となるようなトピックを厳選し、なるべく広範にわたってAnsibleを理解するための知識をつめこみました。
本書では、10章に渡ってAnsibleとITインフラ自動化のためのトピックを解説しています。
第1章 ITインフラストラクチャの課題とAnsible
1-1 従来のITインフラが抱える問題
1-1-1 スタティックなITインフラの時代
1-1-2 ダイナミックなITインフラの台頭
1-1-3 ダイナミックなITインフラ運用の問題点
1-1-4 局所的自動化
1-2 Infrastructure as Code
1-2-1 Infrastructure as Codeとは
1-2-2 Infrastructure as Codeを実践する
1-3 Ansibleを導入するメリット
1-3-1 エージェントレス
1-3-2 YAMLによる学習コストの低いPlaybook
1-3-3 多種多様な環境に対応
1-3-4 冪等性が担保される
第2章 Ansibleの概要とアーキテクチャ
2-1 Ansibleとは
2-1-1 Ansibleの概要
2-1-2 Ansibleの動作要件
2-2 Ansibleのコンポーネント
2-2-1 プレイブック(Playbook)
2-2-2 インベントリ(Inventory)
2-2-3 モジュール(Module)
2-2-4 プラグイン(Plugin)
2-2-5 ロール(Role)
第3章 実行環境の準備
3-1 VirtualBoxのインストール
3-1-1 インストーラーのダウンロードとインストール
3-2 Vagrantのインストール
3-2-1 Vagrantのダウンロード
3-2-2 Vagrant Boxの起動
3-2-3 Ansibleのインストール
3-2-4 Vagrantの停止と削除
第4章 Ansibleを実行してみよう
4-1 Adhocコマンドの実行
4-2 ansible-playbookコマンドの実行
4-2-1 実行準備
4-2-2 プレイブックを実行する
4-3 PLAY RECAPを見てみよう
4-3-1 Rescued/Skipped/gnored
4-4 エラーを読み解いてみよう
4-4-1 接続エラー(Unreachable)
4-4-2 文法エラー(Syntax Error)
4-4-3 エラーを回避する
第5章 Linuxサーバーを自動化してみよう
5-1 検証環境の構築
5-1-1 仮想マシンの起動
5-1-2 インベントリの作成
5-1-3 プレイブックの作成
5-2 プレイブックを実行してみよう
5-3 ロールに分割する
5-3-1 ロールに分割するメリット
5-3-2 プレイブックをロールに分割する
5-3-3 ロールの汎用性を高める
5-4 監視サーバー(Zabbix)を構築する
5-4-1 Zabbixとは
5-4-2 プレイブックの作成
5-4-3 プレイブックの実行とZabbixの初期設定
5-5 監視サーバー(Zabbix)にホストを追加する
5-5-1 プレイブックの作成
5-5-2 プレイブックの実行
5-6 Ansible Vaultを活用する
第6章 Windows Serverを自動化してみよう
6-1 検証環境の構築
6-2 接続してみよう
6-2-1 事前準備
6-2-2 認証方式
6-2-3 接続する
6-3 Windowsでよく使うモジュール
6-3-1 win_feature:Windowsの役割と機能を管理する
6-3-2 win_chocolatey:Chocolateyを利用してパッケージをインストールする
6-3-3 win_updates:Windows Updateを実行する
6-3-4 win_hotfix:Windowsの修正パッチ(Hotfix)を適用する
6-3-5 win_user:ローカルユーザーを管理する
6-3-6 win_domain_user:ドメインユーザーを管理する
6-4 Windowsホストのドメイン参加を自動化する
6-4-1 win_domain_membership:ドメインやワークグループへホストを追加する
第7章 ネットワーク機器を管理してみよう
7-1 ネットワーク機器の自動化
7-2 ネットワーク向けのコネクションプラグイン
7-3 ネットワークモジュール
7-3-1 Cisco IOS向けのモジュール
7-3-2 Juniper Junos向けのモジュール
7-4 ネットワークモジュールを検証する
7-4-1 インターフェイスを設定する
7-4-2 ファイアウォールのルールを設定する
7-4-3 コンフィグのバックアップを取得する
第8章 クラウド上のリソースを管理してみよう
8-1 Ansibleによるクラウドの管理
8-1-1 ダイナミックインベントリ
8-2 AWSを管理してみよう
8-2-1 AWSのダイナミックインベントリの設定
8-2-2 インスタンスを作成する
8-2-3 インスタンスに接続する
8-2-4 ダイナミックインベントリを活用する
8-2-5 ダイナミックインベントリの設定を変更する
8-2-6 CloudFormation/Terraformと連携する
8-3 Azureを管理してみよう
8-3-1 ダイナミックインベントリの設定
8-3-2 仮想マシンを作成する
8-3-3 仮想マシンに接続する
8-3-4 ダイナミックインベントリを活用する
8-4 GCPを管理してみよう
8-4-1 ダイナミックインベントリの設定
8-4-2 インスタンスを作成する
8-4-3 インスタンスに接続する
8-4-4 ダイナミックインベントリを活用する
8-4-5 ダダイナミックインベントリの設定を変更する
8-5 vShpereを管理してみよう
8-5-1 ダイナミックインベントリの設定
8-5-2 ダイナミックインベントリを活用する
8-5-3 ダイナミックインベントリの設定を変更する
第9章 実践的な環境で使ってみよう
9-1 Windows Server中心の社内システムの自動化
9-1-1 背景
9-1-2 自動化の目的
9-1-3 運用タスクの洗い出し
9-1-4 プレイブックの作成
9-2 仮想化基盤の自動化
9-2-1 背景
9-2-2 自動化の目的の確認
9-2-3 タスクの洗い出し
9-2-4 プレイブックの作成
9-3 テストの自動化
9-3-1 背景
9-3-2 自動化の目的
9-3-3 タスクの洗い出し
9-3-4 プレイブックの作成
9-4 Ansibleによる自動化を進めるためのアイデア
9-4-1 Ansibleの導入を阻むもの
9-4-2 Ansibleの輪を拡げるために
第10章 AWX(Ansible Tower)を使ってみよう
10-1 AWXの概要
10-2 AWXをインストールしてみよう
10-2-1 動作環境
10-2-2 AWXのインストール
10-2-3 AWXのダッシュボード
10-2-4 プロジェクトの設定
10-2-5 インべントリの設定
10-2-6 認証情報