Ansibleモジュール:種類による解説


  1. Systemモジュール: Systemモジュールは、システムレベルのタスクを実行するために使用されます。例えば、ファイルの作成や削除、パッケージのインストール、サービスの起動や停止などが含まれます。

コード例:

- name: ファイルの作成
  file:
    path: /path/to/file.txt
    state: touch
- name: パッケージのインストール
  package:
    name: nginx
    state: present
- name: サービスの起動
  service:
    name: nginx
    state: started
  1. Commandsモジュール: Commandsモジュールは、コマンドラインコマンドを実行するために使用されます。任意のコマンドを実行し、その結果を取得することができます。

コード例:

- name: コマンドの実行
  command: ls -l
  register: result
- name: 結果の表示
  debug:
    var: result.stdout_lines
  1. Filesモジュール: Filesモジュールは、ファイルやディレクトリに関連するタスクを実行するために使用されます。ファイルのコピー、権限の設定、所有者の変更などが含まれます。

コード例:

- name: ファイルのコピー
  copy:
    src: /path/to/source/file.txt
    dest: /path/to/destination/file.txt
- name: 権限の設定
  file:
    path: /path/to/file.txt
    mode: 0644
- name: 所有者の変更
  file:
    path: /path/to/file.txt
    owner: root
    group: root
  1. Databaseモジュール: Databaseモジュールは、データベースに関連するタスクを実行するために使用されます。データベースの作成、テーブルの作成、クエリの実行などが含まれます。

コード例:

- name: データベースの作成
  postgresql_db:
    name: mydatabase
    state: present
- name: テーブルの作成
  postgresql_table:
    db: mydatabase
    name: mytable
    state: present
    columns:
      - name: id
        type: serial
        primary_key: yes
      - name: name
        type: text
- name: クエリの実行
  postgresql_query:
    db: mydatabase
    query: "SELECT * FROM mytable"

Ansibleにはさまざまなモジュールがありますが、上記のモジュールは一般的によく使用されるものです。これらのコード例を参考にしながら、Ansibleのモジュールを使用してインフラストラクチャの自動化を行ってみてください。