hamayuzinの日記

エンジニアとかデータサイエンティストとかやってます。あの時 あれやってたな的な備忘録にできれば。

【ansible/aws】ansibleで ec2にnginxをinstall

リポジトリはこちら github.com

目次

構成

.
├── ec2-server.yml
├── hosts
│   └── ec2-servers
└── roles
    └── aws
        ├── nginx
           ├── defaults
           │   └── main.yml
           ├── handlers
           │   └── main.yml
           ├── tasks
           │   └── main.yml
           └── templates
               └── nginx.conf.j2

ec2-server.yml

変数を管理

- hosts: servers
  remote_user: ec2-user
  become: yes
  vars:
    app_name:  アプリ名
    app_dir: deploy先のフォルダのパス
    server_name: サーバー名
    nginx_user: webmaster
    users:
      - { name: 'webmaster', uid: 601, group: 'webmaster', gid: 601, password: "password", update_password: 'on_create', comment: 'webmaster' }
  roles:
    - aws/nginx

roles/aws/nginx/tasks/main.yml

---
  - name: "install-gcc"
    action: yum pkg=gcc state=installed

  - name: Install nginx
    yum: name=nginx state=latest

  - name: Set nginx service to start on boot
    service: name=nginx enabled=true

#ここで、自前のconfファイルを設定する
  - name: Put nginx.conf
    template: src=templates/nginx.conf.j2 dest=/etc/nginx/nginx.conf backup=true mode=0644
    notify: restart nginx