RackShareRackShareラックを、シェアしよう

Ansible入門|手作業のサーバ構築をコードにする

ハク@インフラエンジニア ・ 公開 2026-07-30 ・ 更新 2026-09-04 ・ 閲覧 271
技術解説

サーバを1台ずつ手で設定していませんか?Ansibleを使うと、構築手順を「コード」にして、何台でも同じ状態を再現できます。入門として要点をまとめます。

Ansibleの何が嬉しいのか

  • 再現性: 同じPlaybookを流せば、誰がやっても同じ状態になる
  • エージェントレス: 対象サーバに何も入れず、SSHで動く
  • 冪等性: 何回流しても結果が同じ(すでに設定済みならスキップ)

手順書をWordで書いて手作業、から卒業できます。

インベントリ(対象一覧)

[web]
web01 ansible_host=192.168.10.11
web02 ansible_host=192.168.10.12

Playbook(やることの定義)

- hosts: web
  become: true
  tasks:
    - name: nginxをインストール
      apt:
        name: nginx
        state: present
    - name: nginxを起動・自動起動
      service:
        name: nginx
        state: started
        enabled: true

「nginxが入っていて、起動している状態にする」を宣言的に書きます。どうやるかではなくどうあってほしいかを書くのがポイントです。

実行

ansible-playbook -i inventory site.yml

冪等性という考え方

Ansibleは「すでにその状態なら何もしない」ので、2回流しても壊れません。1回目は changed、2回目は ok(変更なし)になります。この安心感が、手作業との決定的な違いです。

まず小さく始める

いきなり全構築を自動化しなくて大丈夫です。「パッケージを入れる」「設定ファイルを配る」「サービスを起動する」——この3つができれば、日々の作業の多くをコード化できます。

つまずきポイント

  • 対象へSSH鍵でログインできる状態を先に作る
  • become: true(sudo)の付け忘れで権限エラー
  • YAMLのインデント(スペース)に厳しい

まとめ

Ansibleは「手順書を実行可能なコードにする」ツールです。構築が再現でき、レビューでき、履歴を残せる。台数が増えるほど効果は絶大です。まずは1タスクから、手作業を1つずつコードに置き換えていくのがおすすめです。

♥ 0(いいねはログイン後)

コメント 0 件

コメントするにはログインしてください。