試験公開中

このエントリーをはてなブックマークに追加

Ansibleクックブック

インプレス

3,740円 (3,400円+税)

Linux、VMware、コンテナ、ネットワーク機器に対するユースケースごとに、サンプルプレイブックと解説を掲載しています。ご自身が向き合っている課題にAnsibleを利用する際、どのモジュールをどう使えばよいかを知り、Ansibleをより活用するための後押しをすることを目的としています。

【注意】本書のEPUB版は固定レイアウト型になっております。文字の大きさの変更や検索、引用などはお使いいただけません。画面の大きい端末でご利用ください。

関連サイト

本書の関連ページが用意されています。

内容紹介

本書は、Ansibleの自動化の対象や目的に応じて、必要な内容を調べる逆引きリファレンス的な書籍です。とくに、自動化したい対象システムが定まっていて、これから自動化に取り組む、または取り組んでいる方に適しています。「入門書を読んで基本的なことは分かったが、自分が実現したいことに対してプレイブックをどう書いてよいか分からない。」このような場合に、手がかりとなるプレイブックを本書から見つけ、必要に応じて読み替えや公式ドキュメントも併せて参照していただければ、ご自身の課題解決に役立てることができます。

書誌情報

  • 著者: 大嶋 健容, 三枝 浩太, 宮﨑 啓史, 横地 晃
  • 発行日: (紙書籍版発行日: 2022-03-15)
  • 最終更新日: 2022-03-15
  • バージョン: 1.0.0
  • ページ数: 416ページ(PDF版換算)
  • 対応フォーマット: PDF, EPUB
  • 出版社: インプレス

対象読者

インフラ管理の経験のあるITインジニア。ただし、比較的経験の浅いITエンジニアでも利用可能

著者について

大嶋 健容

 Linuxを使用したB2B向けインターネットシステム(Web、Mail、Proxyサーバなど)の設計・構築・運用を経験した後に自社サービスの新規クラウド事業立ち上げプロジェクトに参画。プロジェクトではエンドユーザへ提供する仮想サーバやネットワーク、ストレージなどのリソース構築および運用を効率化するための自動化を担当しAnsibleと出会う。自動化の実装を進めていく中でAnsibleの便利さに気づきアップストリームのモジュール開発活動や日本のコミュニティである「Ansibleユーザー会」への貢献を始める。現在はレッドハット株式会社にてAnsibleを中心とした自動化のコンサルタントとして勤務している。

三枝 浩太

官公庁向けネットワークの設計、構築業務を経験。2017年に株式会社エーピーコミュニケーションズへ入社。入社後Pythonを利用したネットワーク運用自動化に興味を持ち学習をしていた際にAnsibleと出会う。その後、Cisco ACIやVMware NSXにおける設計・運用支援などに携わったことで、SDNとAnsibleの相性の良さに気づき、Ansibleを用いた運用自動化を担当する。現在はエンドユーザ向けにAnsibleを中心としたネットワーク自動化導入支援プロジェクトに従事している。趣味はNikeのスニーカー蒐集。

宮﨑 啓史

ISP向けの大規模メールサービスやwebのインフラ構築およびバックエンド開発、業務向けのフィーチャーフォンアプリや組み込み開発を経験。その後、業務を通してAnsibleやコンテナを使ったインフラのコード化に興味を持ち、2021年に株式会社エーピーコミュニケーションズへ入社。現在はAnsibleを使ったネットワーク自動化を推進する部署に所属。プライベートではAnsibleやクラウドネイティブなどのインフラ技術関連のコミュニティへ積極的に参加している。「業務を効率化し、いかに少ない労力で済ませるか」を考えることに労力を費やすのが好き。朝晩の散歩が日課。

横地 晃

インフラ構築からシステム開発まで行うSIerにてエンジニアキャリアをスタートし、さまざまな業務を経験。その後、株式会社エーピーコミュニケーションズにて、データセンタやエンタープライズ向けネットワークの設計構築業務に従事。自動化に関心を持ち始めた頃に、ネットワーク機器に対応したAnsibleに出会う。現在は、Ansibleを中心としたネットワーク運用自動化の支援業務や自動化トレーニングの講師を担当している。その他、「Ansibleユーザー会」などのコミュニティへの参加や運営、技術ブログの投稿など、アウトプットすることがライフワーク。社内では、エンジニアが自律的にアウトプットや学習をするための支援をするメンターも担当しており、人材育成にも力を入れている。

目次

はじめに

  • 本書のターゲット
  • 本書の構成
  • 本書の解説フォーマットと表記
  • 本書で使用するコードと実行環境

第1章 Ansible の概要

  • 1-1 Ansible とは
  • 1-1-1 特徴
  • 1-2 インストール
  • 1-2-1 コントロールノードの要件
  • 1-2-2 インストール方法
  • 1-2-3 マネージドノードの要件
  • 1-3 構成コンポーネント
  • 1-3-1 モジュール
  • 1-3-2 インベントリ
  • 1-3-3 プレイブック
  • 1-3-4 プラグイン
  • 1-3-5 ansible.cfg
  • 1-4 コレクション
  • 1-4-1 コレクションの概要
  • 1-4-2 コレクションの利用
  • 1-4-3 コレクションの操作

第2章 プラットフォーム共通

  • 2-1 実行制御
  • 2-1-3 タスクを非同期に実行する
  • 2-1-4 非同期処理の完了を待つ
  • 2-1-5 特定のタグが付加されたタスクだけ実行する
  • 2-1-6 プレイブック内の特定のタスク以降を実行する
  • 2-1-7 プレイブックのタスクごとにステップ実行する
  • 2-2 実行ログ
  • 2-2-1 実行ログの表示形式を変える
  • 2-2-2 タスクごとの実行時間を計測する
  • 2-3 フィルタ
  • 2-3-1 辞書のリストから特定条件の要素を抽出する
  • 2-3-2 リストの各要素に対してフィルタを実行する
  • 2-3-3 パスワードをハッシュ化する
  • 2-3-5 IP アドレスを扱う
  • 2-4 状態確認
  • 2-4-1 期待値チェックをする

第3章 Linux

  • 3-1 Linux 対応の概要
  • 3-1-1 環境
  • 3-1-2 インベントリファイルのグループ
  • 3-1-3 使用コレクションとバージョン
  • 3-1-4 接続方式
  • 3-2 OS 基本設定
  • 3-2-1 ユーザを作成する
  • 3-2-2 ネットワークを設定する
  • 3-2-3 パッケージインストールする(Red Hat 系)
  • 3-2-4 パッケージインストールする(Debian 系)
  • 3-2-5 cron を管理する
  • 3-2-6 ファイアウォールを設定する
  • 3-2-7 LVM で新しい論理ボリュームを作成する
  • 3-2-8 OS を再起動する
  • 3-2-9 SELinux を設定する
  • 3-2-10 systemd を管理する
  • 3-2-11 カーネルモジュールをロードする
  • 3-2-12 カーネルパラメータを設定する
  • 3-2-13 SSH 公開鍵認証を設定する
  • 3-3 ファイル操作
  • 3-3-1 ディレクトリを作成する
  • 3-3-2 空ファイルを作成する
  • 3-3-3 シンボリックリンクを作成する
  • 3-3-4 マネージドノードへファイルをコピーする
  • 3-3-5 Jinja2 テンプレートを使用して DNS のゾーンファイルを作成する
  • 3-3-6 Web サーバからファイルをダウンロードする
  • 3-3-7 Git のリモートリポジトリからクローンする
  • 3-3-8 replace で正規表現にマッチする文字列をすべて置換する
  • 3-3-9 lineinfile で文字列を追記または更新する
  • 3-3-10 blockinfile で複数行の文字列を追記または更新する
  • 3-4 Web サーバ構築例
  • 3-4-1 Basic 認証のパスワードファイルを作成する
  • 3-4-2 HTTPS サーバ用の自己署名証明書を作成する
  • 3-4-3 Let's Encrypt を使った証明書で HTTPS サーバを構築する
  • 3-5 コマンドの実行
  • 3-5-1 Linux コマンドを実行する

第4章 VMware

  • 4-1 概要
  • 4-1-1 ライセンスの必要性
  • 4-1-2 環境の準備
  • 4-1-4 本章の前提構成
  • 4-2 ESXi 設定
  • 4-2-1 ESXi の情報を取得する
  • 4-2-2 データストアをマウントする
  • 4-2-3 ファイアウォールの設定をする
  • 4-2-4 サービスの操作をする
  • 4-2-5 標準仮想スイッチを作成する
  • 4-2-6 ポートグループを作成する
  • 4-2-7 VMKernel を追加する
  • 4-2-8 ESXi のローカルユーザを作成する
  • 4-3 vCenter 基本設定
  • 4-3-1 フォルダを作成する
  • 4-3-2 リソースプールを作成する
  • 4-3-3 オブジェクトのパーミッション設定をする
  • 4-3-4 ESXi ホストをメンテナンスモードにする
  • 4-3-5 カテゴリを作成する
  • 4-3-6 タグを作成する
  • 4-3-7 タグをオブジェクトに割り当てる
  • 4-3-8 ライセンスを登録する
  • 4-3-9 データセンタを作成する
  • 4-3-10 クラスタを作成する
  • 4-3-11 DRS(Distributed Resource Scheduler)の設定をする
  • 4-3-12 HA(vSphere High Availability)の設定をする
  • 4-3-13 ESXi ホストを追加する
  • 4-3-14 分散仮想スイッチを作成する
  • 4-3-15 分散仮想スイッチに ESXi ホストを追加する
  • 4-3-16 分散ポートグループを作成する
  • 4-4 仮想マシン操作
  • 4-4-1 仮想マシンを作成する
  • 4-4-2 OVF からデプロイする
  • 4-4-3 OVF でエクスポートする
  • 4-4-4 スナップショットを作成する
  • 4-4-5 スクリーンショットを取得する
  • 4-4-6 ゲストOS にファイルをコピーする
  • 4-4-7 ゲスト OS のコマンドを実行する
  • 4-4-8 vMotion を実行する
  • 4-5 基本運用
  • 4-5-1 ESXi のログを取得する
  • 4-5-2 VM 情報のレポートを作成する

第5章 コンテナ

  • 5-1 概要
  • 5-1-1 環境
  • 5-1-2 使用コレクションとバージョン
  • 5-1-3 接続方式
  • 5-1-4 コネクションプラグイン
  • 5-2 Docker
  • 5-2-1 docker login を実行する
  • 5-2-2 Docker イメージを pull する
  • 5-2-3 Docker イメージを build する
  • 5-2-4 Docker イメージを tar アーカイブへ save する
  • 5-2-5 tar アーカイブの Docker イメージファイルを load する
  • 5-2-6 Docker イメージを push する
  • 5-2-7 ブリッジネットワークを作成する
  • 5-2-8 コンテナをデプロイする
  • 5-2-9 コンテナ内のコマンドを実行する
  • 5-3 Kubernetes
  • 5-3-1 Kubernetes のリソースを作成する
  • 5-3-2 Pod 情報や一覧を取得する
  • 5-3-3 Pod のログを取得する
  • 5-3-4 Pod 内のコマンドを実行する
  • 5-3-5 Helm を使ってアプリケーションをデプロイする
  • 5-3-6 Helm リポジトリを設定する

第6章 ルータ/スイッチ

  • 6-1 ルータ/スイッチ対応の概要
  • 6-1-1 対応範囲
  • 6-1-2 環境の準備
  • 6-1-3 cisco.ios コレクションのモジュールの基本仕様
  • 6-1-4 本章の前提構成
  • 6-2 情報取得と確認
  • 6-2-1 show コマンド実行結果をログに表示する
  • 6-2-2 show コマンド実行結果をファイルに保存する
  • 6-2-3 show コマンドの結果を構造化データにパースする
  • 6-2-4 ファクトを収集する
  • 6-2-5 show コマンド実行結果が期待どおりかチェックする
  • 6-2-6 ネットワーク機器から ping を実行する
  • 6-2-7 設定変更前後のコンフィグ差分を表示する
  • 6-3 インターフェイス設定
  • 6-3-1 インターフェイスの基本設定をする
  • 6-3-2 VLAN を設定する
  • 6-3-3 インターフェイスのL2 設定をする
  • 6-3-4 インターフェイスのIP アドレス設定をする
  • 6-4 ルーティング設定
  • 6-4-1 スタティックルートを設定する
  • 6-4-2 OSPFv2 の設定をする
  • 6-4-3 BGP の設定をする
  • 6-5 運用管理設定
  • 6-5-1 ログの送信先Syslog サーバを設定する
  • 6-5-2 参照先NTP サーバを設定する
  • 6-5-3 LLDP を設定する
  • 6-5-4 アクセスリストを設定する
  • 6-5-5 バナーメッセージを設定する
  • 6-5-6 ユーザを追加する
  • 6-6 その他の設定
  • 6-6-1 任意の設定コマンドを実行する
  • 6-6-3 コンフィグを保存する
  • 6-6-4 投入予定のコマンドをチェックモードで確認する

第7章 ロードバランサ

  • 7-1 ロードバランサの対応概要
  • 7-1-1 対応範囲
  • 7-1-2 環境の準備
  • 7-1-3 f5networks.f5_modules コレクションのモジュールの基本仕様
  • 7-1-4 本章の前提構成
  • 7-1-5 接続確認をする
  • 7-2 ネットワーク設定
  • 7-2-1 VLAN を作成する
  • 7-2-2 セルフ IP を作成する
  • 7-3 LTM 設定
  • 7-3-1 モニタを作成する
  • 7-3-2 プロファイルを作成する
  • 7-3-3 ノードを作成する
  • 7-3-4 プールを作成する
  • 7-3-5 バーチャルサーバを作成する
  • 7-3-6 iRule をバーチャルサーバに適用する
  • 7-3-7 プールメンバを無効化にする
  • 7-3-8 SSL プロファイルを作成してバーチャルサーバにマッピングする
  • 7-4 運用管理設定
  • 7-4-1 セッション数を確認する
  • 7-4-2 バックアップを作成する

第8章 SDN

  • 8-1 SDN の対応概要
  • 8-1-1 対応範囲
  • 8-1-2 環境の準備
  • 8-1-3 cisco.aci コレクションのモジュールの基本仕様
  • 8-1-4 本章の前提構成
  • 8-1-5 接続確認をする
  • 8-2 アンダーレイ設定
  • 8-2-1 インターフェイスポリシーと
  • 8-2-2 インターフェイスプロファイルを作成する
  • 8-3 オーバーレイ設定
  • 8-3-1 ブリッジドメイン(BD)を作成する
  • 8-3-2 ブリッジドメイン(BD)にサブネットを設定する
  • 8-3-3 エンドポイントグループ(EPG)を作成する
  • 8-3-4 フィルタを作成する
  • 8-3-5 コントラクトを作成する
  • 8-3-6 エンドポイントグループとコントラクトを関連付ける
  • 8-3-7 エンドポイントグループにポートをアサインする
  • 8-4 運用管理
  • 8-4-1 スナップショット作成する
  • 8-4-2 ユーザを作成する

終わりに

  • 謝辞

索引

Home 書籍一覧 Ansibleクックブック ▲ ページトップへ戻る