Memo

メモ > サーバ > 各論: Ansible > EC2 テスト用サーバ構築メモ

■EC2 テスト用サーバ構築メモ
AMI: Amazon Linux 2 AMI Type: t2.micro VPC: Study Subnet: Study-Trust-A 自動割り当てパブリックIP: 有効化 ※テストとして test_ansible_controller と test_ansible_target という名前を付けた test_ansible_controller にAnsibleをインストールし、test_ansible_target を自動設定する ■初期設定 デプロイ用サーバを Basis.txt をもとに設定 デプロイ用サーバのIPアドレス(EIPではないので、サーバを停止させると変わる) 3.112.57.115 ■デプロイ対象サーバに接続 あらかじめ、対象サーバの22番ポートをIP制限つきで空けておく(デプロイ用サーバのIPを許可する) デプロイ用サーバで以下の設定を行う
$ vi /home/ec2-user/.ssh/id_rsa
AWS.pem の内容を貼り付け
$ chmod 600 /home/ec2-user/.ssh/id_rsa $ ssh -p 22 -i /home/ec2-user/.ssh/id_rsa ec2-user@3.112.57.115 $ ssh ec2-user@3.112.57.115
■Ansibleインストール Amazon Linux 2 以外の場合、以下の手順でインストールできる
# yum -y install ansible --enablerepo=epel # ansible --version
Amazon Linux 2 の場合、Extrasリポジトリからインストールできる バージョンが低いのは一応注意だが、2.7用に作成したPlaybookは問題なく動いた
# amazon-linux-extras list # amazon-linux-extras install ansible2 -y # ansible --version ansible 2.4.6.0 # vi /etc/ansible/hosts
[webservers] 3.112.57.115
接続確認
$ ansible all -m ping $ ansible webservers -m ping
■ポートの変更(必要に応じて) デプロイ先にSSH接続し、ポートを10022に変更しておく デプロイ対象のファイヤーウォールを調整(デプロイサーバからのSSHアクセスを許可する) 以降はデプロイ用サーバから操作 接続確認
$ ssh -p 10022 ec2-user@3.112.57.115
以下にデプロイ対象のIPアドレスとポートを追加
# vi /etc/ansible/hosts
[webservers] 3.112.57.115:10022
接続確認
$ ansible all -m ping $ ansible webservers -m ping
■デプロイ 以下にAnsible用のファイルを配置 /home/ec2-user/ansible/apache_php_mysql Ansibleを実行
$ cd /home/ec2-user/ansible/apache_php_mysql $ ansible-playbook site.yml
接続確認 http://3.112.57.115/ http://3.112.57.115:8080/ ■追加の手順例 php.ini をきちんと調整したり(Playbook) MySQLのユーザを作成したり(手動で作成すべきかも) など、引き続き調整する ■参考 Vagrant+ansibleでLAMP環境構築(4) - Qiita https://qiita.com/k-serenade/items/0ab59f9563493f0cf293 ansibleでphp composerをインストール - Qiita https://qiita.com/oppara/items/4bb65607bb40e6ac4814 ディレクトリのグループだけ変えたい場合はどうするか commandを使うと冪等性を保てないようなので、以下のようにするか
- name: change group session directory file: path=/var/lib/php/session state=directory group=nginx
はじめてAnsibleを使う人が知っておきたい7つのモジュール | 株式会社インフィニットループ技術ブログ https://www.infiniteloop.co.jp/blog/2013/08/ansible/ AnsibleのScriptモジュールで冪等性をいい感じに担保したい - Qiita https://qiita.com/Gustav/items/cbc937cfdfb1ba6efd42 [Ansible] ディレクトリが無かったら作成する - Qiita https://qiita.com/hnakamur/items/b5a17d8cb289432014d5

Advertisement