【2023最新】「ansible」のおすすめ本!人気ランキング
本書は入門書の次のステップに適しています。Linux、VMware、コンテナ、ネットワーク機器に対するユースケースごとに、サンプルプレイブックと解説を掲載しています。ご自身が向き合っている課題にAnsibleを利用する際、どのモジュールをどう使えばよいかを知り、Ansibleをより活用するための後押しをすることを目的としています。
クラウド時代必須の“エージェントレス”サーバー自動構成ツールの本格解説書が登場 最新構成自動化ツールを実践的に解説! クラウド時代に入り、コンピュータシステムのサーバーの導入や セッティングの状況が変わってきています。以前は手作業で進めてきた サーバーの構築は、人が行う作業としては大規模かつ煩雑なものとなってきています。 Ansibleはこうしたサーバーの構築を自動化してくれるツールです。 サーバー構成を自動化してくれるツールは以前から注目されていましたが、 Ansibleはとくに“エージェントレス”という点に特長があります。 つまりサーバー側でとくに準備をしなくてもツールが利用でき、 ネットワークやソフトウェアをルールに従って自動でセッティングできます。 また、ほかのツールに比べて設定が単純で、使いこなしやすい点もAnsibleの特長です。 本書ではAnsibleを基礎から解説するだけではなく、より実践的に AWS(Amazon Web Services)やMicrosoft Azureで利用する方法も見ていきます。 また、OpenStackやDockerといったシステム構築の新しい枠組みを うまく利用する方法も解説します。 Tipsやテストなどの現場で役立つ情報を加えており、クラウド時代を生きる サーバー/インフラエンジニアに必要とされる知識をまとめた一冊となっています。 第1章 クラウド時代のインフラとAnsibleの基礎 第2章 Ansibleを使ってみよう 第3章 Ansibleの機能の詳細 第4章 RoleによるPlaybookの共通部品化 第5章 WordPress環境構築Playbookを作る 第6章 OpenStackでのAnsibleの活用 第7章 AWSでのAnsibleの活用 第8章 AzureでのAnsibleの活用 第9章 Dockerコンテナの利用 第10章 Playbookのテスト 付録A YAMLの文法 付録B Ansible設定ファイルリファレンス 付録C ディレクティブ一覧
アプリケーションの設計・構築・管理を継続的に見直し、変化に迅速な対応をする開発戦略として、注目されている「モダンアプリケーション」。高い俊敏性・柔軟性のある開発を実現し、ビジネスを成長させることができます。しかし、モダンアプリケーション構築に役立つプラクティスは抽象度が高いことから、現場に適用しにくいのではないでしょうか。 そこで本書では、架空の開発現場を題材に、実際のプラクティスを解説。サーバーレスやコンテナによる運用改善・CI/CDパイプライン構築による自動化・アーキテクチャ最適化などを実践する方法を、イメージしながら読み進められるようまとめました。要件にあった技術選択をする重要性も紹介し、アプリケーションや組織の規模にあった考え方ができるようなアクティビティ(問いかけ)も提供しています。 各企業の技術戦略などによって最適解は変わりますが、アプリケーションの課題を改善して生産性を高めたい方にとって参考になる情報が多いでしょう。「なんとなく流行っているから……」「過去に使ったことがあるから……」という理由で技術選定されている現場に違和感を感じる方にもお勧めの1冊です。 第1章 モダンアプリケーションとは何か 1.1 求められるイノベーション 1.2 モダンアプリケーションのメリット 1.3 モダンアプリケーションのベストプラクティス 1.4 まとめ 第2章 サンプルアプリケーションの紹介 2.1 シナリオの検討 2.2 現在のアプリケーションの仕様 2.3 Sample Book Storeのモダンアプリケーション化 2.4 まとめ 第3章 アプリケーション開発におけるベストプラクティスを適用 3.1 The Twelve-Factor App 3.2 Beyond the Twelve-Factor App 3.3 プラクティスの紹介 3.4 まとめ 第4章 データの取得による状況の可視化 4.1 ビジネスデータ 4.2 運用データ 4.3 システムデータ 4.4 オブザーバビリティ(可観測性) 4.5 まとめ 第5章 サーバーレスやコンテナテクノロジーによる運用改善 5.1 サーバーレステクノロジーを使う価値 5.2 AWSでのサーバーレス 5.3 サーバーレスとコンテナのワークロード比較 5.4 シナリオによるサーバーレスワークロードの構成例 5.5 シナリオによるコンテナワークロードの構成例 5.6 まとめ 第6章 CI/CDパイプラインによるデリバリーの自動化 6.1 継続的インテグレーションと継続的デリバリー(CI/CD) 6.2 パイプライン・ファーストという考え方 6.3 CI/CDツールに求める機能と要件 6.4 シナリオによるCI/CDの構成例 6.5 CI/CDパイプラインのさらなる活用 6.6 まとめ 第7章 要件にあったデータベースの選択 7.1 データベースに求める機能と要件 7.2 Purpose-built database とは何か 7.3 シナリオによるデータベースの選択 7.4 まとめ 第8章 モダンアプリケーションパターンの適用によるアーキテクチャの最適化 8.1 パターンとは 8.2 シングルページアプリケーション(SPA:Single Page Application) 8.3 API Gateway:API呼び出しの複雑性を集約する 8.4 メッセージング:サービス間の非同期コラボレーションの促進 8.5 Saga:サービスにまたがったデータ整合性の維持 8.6 CQRS:データの登録と参照の分離 8.7 イベントソーシング:イベントの永続化・ 8.8 サーキットブレーカー:障害発生時のサービスの安全な切り離し 8.9 サービスディスカバリ:サービスを見つける 8.10 サービスメッシュ:大規模サービス間通信の管理 8.11 フィーチャーフラグ:新機能の積極的なローンチ 8.12 分散トレーシング:サービスを横断するリクエストの追跡 8.13 まとめ
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 認証情報