Ansibleプレイブックは、YAML(YAML Ain't Markup Language)という形式で記述されます。YAMLは人間にとって読みやすく、理解しやすい構造化データの表現形式です。YAMLはインデントに基づいた階層構造を持ち、キーと値のペアを使用して情報を表現します。
以下に、Ansibleプレイブックの例を示します:
---
- name: ウェブサーバーの設定
hosts: web_servers
tasks:
- name: Apacheをインストールする
apt:
name: apache2
state: present
- name: Apacheの設定ファイルを配置する
copy:
src: /path/to/apache.conf
dest: /etc/apache2/apache.conf
notify:
- restart apache
handlers:
- name: restart apache
service:
name: apache2
state: restarted
この例では、ウェブサーバーの設定を行うためのAnsibleプレイブックが定義されています。プレイブックは「name」で始まるタスクや手順のリストで構成されており、各タスクは名前や実行するモジュール(aptやcopyなど)などの属性で定義されます。
AnsibleプレイブックはYAML形式で書かれるため、テキストエディタや統合開発環境(IDE)などの一般的なテキスト編集ツールで編集することができます。また、Ansibleにはバイナリフォーマットのプレイブック(Ansible Vault)や他のプログラミング言語(Pythonなど)を使用したプレイブックの記述方法もありますが、デフォルトではYAML形式が使用されます。
以上が、Ansibleプレイブックがデフォルトでどの言語で書かれているかについての解説です。Ansibleを使用する際には、このYAML形式のプレイブックを使ってタスクや手順を定義し、インフラストラクチャーの自動化を効果的に行うことができます。