\µ���¼\Ð���������Ð���·������\���\���\���\���\��\������\���\���\¹\������¼\��������������Ώ����������㏢���¡������¹½�����叢����¹��ԏ����Ï��³������������\��\���\���\���\���\���\���\�돢�������������������������¹���̏�¡��½������돫¢����������¼«�����²½���µ���»�����������ď�����������\������¼\������������¹��¡�\��\���\���\���\���\���\���\�돢����¼�������돢����¹��ԏ����Ï�������¡�¼�������ӏ�����³����«���������·��¡����������Ï��·������������\���\¹����µ������³��������𡯏��������¹��¡�
���½������������¡�Ansible ���������������Ï�����\������¼\���������»�����𡯏��Ð��¡�\³\���\���\����돫�������������\��\���\���\���\���\���\���\�돢�̏����ӏ�������¡��µ��������������Џ�Џ����㏪�����²��ď�����¼���¹��ԏ��·����������������ޏ�����·���²�������������������������������³��������µ�����������������ď�������¡������������������������ޡ돪������������\µ���¼\й½�����叢��½Ð�������������������������¹��¡�

����ޏ������������³������������¹��ԏ�����\������¼\������������·��������¡�Chef ������ Puppet ���̏����������������¹���̏�¡�Ansible ���������½����������������������������������\·\���\��\������������³���������̏�������������������¹��¡�Chef �������돪������»��������������������Ώ����������Ï�����»�ߏ�������ġ������������������Ώ����ď������������¹���̏�¡�³Ð��𡯏��������³���������̏����ď��«�����������ď��������·��������돪����������·���������·�����������������ď�¡�¡�Ansible ���������½�����Ï����������Ï�������������¡�»���������»�������������������������������������µ������̏����������� �������̏��������������������\�������������¹��¡���µ�̏�����������������������������������Ð Chef ������ Puppet �����������̏����������������«���������·���������������»�����я��̏�¡�¾�����ď�ԏ�����\µ���¼\Ð�����ҡ�����������¹�����������̏����㏢���������������ď����� Ansible ������µ���·��⏢���������������������������������������������������·�����������Ï��«��¡�
�������������·��������¡�Vagrant ������µ�������돢�·������²¾������\���\·\��� (CentOS) ���������Ð���·��������¡�MySQL ������\���\���\¹\������¼\������·������µ�������돢�¹�����������������������á��������ޏ�����\��\���\���\���\���\���\���\�돢���ҏ����������������������Ώ��������·�����������Ï�¡�
�����²��я����� Vagrant������»��������������� ����²¾������\���\·\��я����ҡ��������ޏ�������돫�����·�����������Ï�¡� ������ Vagrantfile �����������������Ï������̏������������ď�����»�ߏ��������������¹���̏�¡��³�����������ҡ돪�²¼���������������Ï�����½������µ���·���������������������µ��������¡�
- # config.vm.box = "centos65" + config.vm.define :node1 do |node| + node.vm.box = "centos65" + node.vm.network :private_network, ip: "192.168.33.11" + end + + config.vm.define :node2 do |node| + node.vm.box = "centos65" + node.vm.network :private_network, ip: "192.168.33.12" + end
���³������¾��؏����ӏ����� vagrant up ���¹���������³��������������¡�node1 ������ node2 ������������������2������������²¾������\���\·\��я���µ�������돢�·���������¹��¡����������돢�������³������������������²¾������\���\·\��я����� ssh ������\���\��\���\��я�������������������������Ï����������Ώ��������·���������¹��¡�
# ~/.ssh/config
# vagrant ssh-config node[12] ������·���²��������ҏ����̏����� Host node* HostName 127.0.0.1 User vagrant UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /Users/sasata299/.vagrant.d/insecure_private_key IdentitiesOnly yes LogLevel FATAL Host node1 Port 2222 Host node2 Port 2200
���³��������������¡�ssh node[12] ������\���\��\���\���½Ð�����������������������Ï��������������������������·�����ď�¡��³���³���������������������µ��������������������¡�
��������������¡�Ansible ������\���\���\¹\������¼\������·�����������Ώ��������·�����������Ï�¡�Mac ������¾���¹�����¡�\���\���\¹\������¼\��������� homebrew �������돫����������������¹��¡�
$ brew install ansible
���µ��������¡��������������������µ�����������쏢���¡����������돢����\���\���\���\���\���\��� (inventory) \���\���\���\��������������������Ï���������������½�����������·���������¹��¡�Ansible ������»���������»���������������������������돪�����������������̏���ߏ������������������³������\���\���\���\������������Ώ��쏢�³������������\��\���\���\���\���\���\���\�돪����������\µ���¼\Ð�����ҏ��Ð�����ď��·�����������쏢����\���\���\���\����������������������¹���̏�¡�Ansible ���������������³������\���\���\���\���������½��Џ��«������������\µ���¼\Ð���������Ð���·���������·���«½�������������¼���¹��ԏ��·�������������������������������������������¹��¡�
����²��я�¡�hosts �����������������Ï��¾����돢����\���\���\���\���\���\���\���\���\���\��������ҏ�돫��������������·�����ď�¡�node1, node2 ���¾�������������\��\������¼\�ߏ����� servers��¡�node1 ���������ޏ����ҡ����������\��\������¼\�ߏ����� test-servers �����������ď��¾���·���������������������¹��������̏����ӏ��������¹������¡�
# hosts
[servers] node1 node2 [test-servers] node1
��������������¡��������� Ansible ������»��������������������Ώ��������·�����������Ï�¡����������돢������¡�node1 ���������Ð���·������ ping ������¼���¹��ԏ��·�����������Ώ��������¹��¡�
$ ansible -i hosts node1 -m ping [~/work/vagrant/audit] node1 | success >> { "changed": false, "ping": "pong" }
ping ������·���²������̏����ӏ�����������������������·�����ď���node1 ���������ޏ����������������������� node2 �����������Џ��ޏ����������� ping ������¼���¹��ԏ��¹��������������������¡�\���\���\���\���\���\���\���\���\���\���������»������������·������ servers ���«��¡��������·������������ all ������������������\���¼\������¼\���������»������������·���������¹��¡�
$ ansible -i hosts servers -m ping node2 | success >> { "changed": false, "ping": "pong" } node1 | success >> { "changed": false, "ping": "pong" }
�����½���������\³\���\���\���������¼���¹��ԏ��¹���������������ޏ����������������Ð���������������������������ޏ��������¹��������¡�
�����ď�������¡�¼�����돪��������������³�����я����������½���������\³\���\���\���������³���\µ���¼\Ð������¼���¹��ԏ��·�����ď�����¾���¹������Ð���«���������������������µ���������������·�����������Ï�¡����������������������»�����������³������������¼���¹��ԏ��¹�����������ď�������������������¡�ansible-playbook ������������������\³\���\���\������̏����������̏��������¹��¡�
�돪�²¼���������������Ï����� MySQL ������\���\���\¹\������¼\������·������µ�������돢�¹�����������Ώ�����\���\���\���\��������ҏ����С돪؏��·�����������Ώ��������¹�������³���������������Ï�����\���\���\���\��������� playbook �����������������я��������¹������¡�hosts �������������³���������������о�������\µ���¼\Ð������»������������·��¡�tasks �������������³������������¼���¹��ԏ��·�����ď�����\���\¹\���������µ½��ҏ��·���������¹��¡�돪�²¼����������������������¡�node1, node2 ���¾�������������Ð���·������ MySQL ������\���\���\¹\������¼\������·��������¡��½���������� MySQL ������µ�������돢�µ���»������������������������»������������������������������������¹��¡�
# mysql-playbook.yml
--- - hosts: servers # ���о�������\µ���¼\Ð������»��������� sudo: yes tasks: - name: install mysql yum: name=mysql-server state=installed # \���\���\¹\������¼\��� - name: start mysql service: name=mysqld state=running enabled=yes # µ�������돢����»���������
���µ������¡�������������¼���¹��ԏ��¹���������������ޏ��쏢�¹��������������¡�¡�
$ ansible-playbook -i hosts mysql-playbook.yml PLAY [servers] **************************************************************** GATHERING FACTS *************************************************************** ok: [node1] ok: [node2] TASK: [install mysql] ********************************************************* changed: [node1] changed: [node2] TASK: [start mysql] *********************************************************** changed: [node2] changed: [node1] PLAY RECAP ******************************************************************** node1 : ok=1 changed=2 unreachable=0 failed=0 node2 : ok=1 changed=2 unreachable=0 failed=0
���������«���̏��������·�����������Ï��«��¡�changed �����������������������������쏢������¡�¼���¹��ԏ��µ�����������ď��³���������̏��������«���������������¹��¡����������������Ώ�������¡�돩�������¼���¹��ԏ��·����������������叢����\���\���\¹\������¼\��������������Ώ�����������¹��ԏ����������������������������������ď�������¡�²��ď�����µ������³���������������»�����я�����Џ�Џ����㏪�������³�����������¡�
�����������������Ï��³��������������¡�playbook ������½�������������㏢����¾������·�������������«���������·���������������������������¹���̏�¡�돫������㏢돫��������������·��������𡯏��Ð���������������������������ޡ돪������������\µ���¼\й½������½Ð�����������������������Ï������������������������������¹���Ð���������·������������»�ߏ��������������¹��¡��������̏��������¹���¾��¡�
[»²¹���URL]
¹½��������������\������¼\��� Ansible ������������������������ - apatheia.info
Ansible \���\������¼\���\���\��\��� | Ansible Tutorial in Japanese