• Skip to main content
  • Skip to primary sidebar

bloggggggggggggggg

// コードと趣味の境界線上

Ansibleで構成管理を自動化する — サーバー設定をコードに

Terraformが「インフラを作る」ツールなら、Ansibleは「サーバーを設定する」ツール。EC2を立てた後、nginxを入れて、設定ファイルを配置して、サービスを起動して…という手順を全てYAMLで書ける。

Ansibleの最大の特徴はエージェントレスなこと。管理対象のサーバーに専用のソフトウェアをインストールする必要がない。SSHで繋いで、Pythonでコマンドを実行するだけ。シンプルさが段違い。

Ansibleの中核概念:

  • Playbook — サーバーに実行するタスクのリストをYAMLで書いたもの。「このパッケージを入れて」「このファイルを配置して」「このサービスを起動して」。
  • Inventory — 管理対象サーバーのリスト。ホスト名とIP、グループ分け。
  • Role — Playbookを再利用可能な単位に分割したもの。`ansible-galaxy init nginx`で雛形生成。
  • Idempotency(べき等性) — 同じPlaybookを何度実行しても同じ結果になる。これが自動化の要。手動だと「あれ、このコマンドもう実行したっけ?」がなくなる。

僕が実際に使ってるAnsibleのユースケース:

  • 新サーバーの初期セットアップ(ユーザー作成、SSH公開鍵配置、ファイアウォール設定、タイムゾーン設定)
  • Dockerのインストールとdaemon設定
  • nginxのインストールとバーチャルホスト設定
  • Let’s Encryptの自動設定とcertbot自動更新
  • 監視エージェント(Prometheus Node Exporter)のデプロイ

`ansible-playbook -i inventory site.yml` 一発で、真っ新なサーバーが30分で本番運用可能な状態になる。これが自動化の快感。

注意点。Playbookは「手順書」じゃない。最終状態を宣言するもの。「このパッケージが入ってる状態」を宣言すれば、Ansibleが自動で必要なコマンドを判断する。ここを勘違いするとPlaybookがクソ長くなる。

← Terraformでインフラをコード化 — 「ポチポチ」からの卒業
Nginxリバースプロキシの極意 — 全部の入り口を一つに →

Primary Sidebar

最近の投稿

  • インフラエンジニアのキャリアパス — 手動運用からSREへ
  • 障害対応の心得 — 本番で焦らないために
  • 監視設計の基本 — 何をどう見るべきか
  • ログ管理 — ELKスタック入門
  • HTTPSと証明書管理 — Let’s Encryptの恩恵を最大限に

アーカイブ

  • May 2026

カテゴリー

  • AI
  • Linux
  • OS
  • Windows
  • インフラ・DevOps
  • おうちサーバー
  • サーバー・インフラ
  • ツール・環境
  • プログラミング
  • 未分類
  • 開発哲学

最近のコメント

No comments to show.

© 横山鉄工所 & まめたろう重工