13
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ansibleでサーバ構築を完全自動化してみたい!パート1

13
Posted at

はじめに

インフラ構築をしていると、

  • 手順書どおりにコマンドを実行する
  • 同じ設定を何台にも適用する
  • 作業ミスが発生する

といった課題ありますよね…

そこで活躍するのが構成管理ツール Ansible です。

本記事では、Ansibleについて述べます!

ゴールはAIも入れて設計、生成、運用判断までやっていきたいですね!!

Ansibleとは

Ansibleは、サーバ構築や設定変更を自動化できる構成管理ツールのこと。

特徴:

  • エージェント不要
  • SSH接続のみで実行可能
  • YAML形式で可読性が高い
  • 冪等性(何度実行しても同じ状態になる)

つまり、
「構築手順書をコードとして管理し、サーバ構築や設定変更を自動化できるツール」

便利ですね!

構成イメージ

構成はシンプルです。

[Ansible管理サーバ]
↓ SSH
[対象サーバ]

ディレクトリ構成

Ansibleは主に次の3つで構成されます。
inventory:どのサーバに実行するか
playbook :何を実行するか
roles :どう整理して管理するか
それぞれ役割が異なります。

5w1hみたいでわかりやすいですよね!:clap:

ansible/
 ├ inventory/
 │   └ hosts
 │
 ├ playbook/
 │  └
 │
 └ roles/
     └ common/
         ├ tasks/
         │   └ main.yml
         ├ handlers/
         │   └ main.yml
         ├ templates/
         ├ files/
         ├ vars/
         │   └ main.yml
         ├ defaults/
         │   └ main.yml
         └ meta/
             └ main.yml

Ansibleのインストール

ここではAnsibleのインストールから接続確認(ping実行)までを行います。

RHEL / AlmaLinux の場合:

sudo dnf install -y ansible

インストール確認:

ansible --version

ansible [core 2.x.x]

と表示されれば成功です。


inventoryファイルの作成

vi /etc/ansible/hosts

[target]
【対象サーバIPアドレス】

SSH接続確認
※前提としてsshの鍵認証はやっておきましょう!

まずSSH接続できるか確認します。

ssh 【対象ホスト】

ログインできれば準備OKです。


Ansibleで疎通確認(pingモジュール)

対象サーバへ接続テストを実行します。

ansible target -i hosts -m ping

成功例:
"changed": false,
"ping": "pong"
}

この表示が出れば、Ansibleから対象サーバへ接続できています。

まとめ

ここまででansibleが使える段階まできました。意外と簡単ですね!

次回playbookやrolesを使用してサーバを実際に建てていきます!

13
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?