Ansible は、繰り返しのシェル操作を、管理対象ホストに求める状態の読みやすい宣言へ置き換えます。この実践コースでは、SSH アクセスとインベントリから、Playbook、Jinja2 テンプレート、再利用可能なロールまでを段階的に構築します。
外部インフラではなく Ansible の構造に集中できるよう、管理対象には localhost を使います。ガイド付きラボでは Nginx の導入と起動、ホスト情報を含むページの生成、インストール処理のロール化を行い、最後のチャレンジでは同一ホスト上で Apache、テンプレート、MariaDB ロールを組み合わせます。
学習内容
- Ansible をインストールし、コントロールノードのツールを確認する
- 管理対象ホストへの鍵ベース SSH アクセスを設定する
- INI インベントリを作成してホストをグループ化し、Ansible の ping モジュールでテストする
- 権限昇格、パッケージ、サービスのタスクを含む YAML Playbook を作成・実行する
- 独自変数を定義し、Ansible が提供するインベントリ変数を使用する
- Jinja2 テンプレートを指定したモードで保護された配置先へ生成する
- Ansible ロールを初期化、実装、構文確認し、Playbook から呼び出す
- Web サーバータスク、ホームページテンプレート、データベースロールを一つの Play に統合する
このコースの対象者
この中級コースは、手作業のサーバーコマンドから構造化された Ansible 自動化へ進みたい Linux ユーザー、初級システム管理者、DevOps 学習者を対象としています。
前提知識: Linux シェル、SSH の概念、sudo、パッケージとサービス管理、基本的な YAML インデント、簡単な HTML に慣れていること。Ansible の経験は不要です。
学習環境: Ansible と管理者権限を備えた Debian 系 Linux ターミナルです。コントロールノードと管理対象ホストは同じ localhost で、ラボにより SSH またはローカル接続を使います。
よくある質問
複数のリモートサーバーを自動化しますか?
いいえ。インベントリグループと管理対象ホストのモデルは学びますが、全演習は localhost という一台のラボマシンが対象です。複数ホスト構成、クラウドインベントリ、フリート運用は扱いません。
最後の「フルスタック」チャレンジでは何をデプロイしますか?
同一ホストへ Apache を導入・起動し、Jinja2 で生成したホームページを配置し、ロールで MariaDB を導入・起動します。アプリケーションコード、DB スキーマ、アプリと DB の接続は含みません。
本番向けの Ansible アーキテクチャまで扱いますか?
中核要素と標準的なロール構成を紹介します。Vault、ハンドラー、コレクション、動的インベントリ、テスト、CI、高度な変数優先順位は範囲外です。





