Ansibleでは、YAMLファイルを使用して構成情報やタスクを定義します。YAMLファイルは、インデントやキーと値のペアなどの構造を持ちます。以下に、AnsibleでYAMLファイルを使用する一般的なパターンと例をいくつか紹介します。
-
インベントリファイル: Ansibleのインベントリファイルは、管理対象のホストやグループの情報を定義します。YAMLフォーマットを使用して、ホスト名やIPアドレス、接続情報などを指定します。
例:
all: hosts: webserver1: ansible_host: 192.168.1.10 webserver2: ansible_host: 192.168.1.11 vars: ansible_user: myuser ansible_ssh_private_key_file: ~/.ssh/id_rsa
-
プレイブックファイル: Ansibleのプレイブックは、実行されるタスクや手順のリストを定義します。YAMLフォーマットを使用して、タスク、変数、条件などを指定します。
例:
- name: ウェブサーバの設定 hosts: webservers tasks: - name: Apacheのインストール yum: name: httpd state: present - name: Apacheの設定ファイルを配置 copy: src: /path/to/httpd.conf dest: /etc/httpd/conf/httpd.conf notify: - restart apache - name: Apache再起動 hosts: webservers tasks: - name: Apacheを再起動 service: name: httpd state: restarted
-
変数ファイル: Ansibleでは、変数を使用して再利用可能な情報を定義することができます。変数ファイルは、YAMLフォーマットで変数を定義します。
例:
webserver_port: 80 database_host: localhost
これらは、AnsibleでYAMLファイルを使用する一般的な例です。YAMLフォーマットを使用することで、可読性が向上し、構成やタスクの定義が容易になります。Ansibleは、YAMLファイルを解析して実行します。