エンジニアリングスクールRaiseTechのAWSフルコース第13回以降講座の課題:「Ansibleを使っての環境構築」を実施したものです。
- ruby(rbenv),nginx,node.jsのインストール、および必要コンポーネントのインストールを自動化しています。
- 本課題に関して詳細な手順書等のドキュメントはスクールより提供されておらず、AWS公式ドキュメントや検索サイトでヒットする情報を元に作成しています。
- 第14回講座でQiitaの記事が紹介されましたが、当該の記事は見ずに実施しています。
- ディレクトリ構成
├── ansible.cfg
├── inventory
│ └── hosts
├── playbooks
│ └── playbook.yml
└── roles
├── common
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── nginx
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ └── main.yml
├── nodejs
│ ├── defaults
│ │ └── main.yml
│ ├── tasks
│ │ └── main.yml
│ └── templates
│ └── npm.sh.j2
└── rbenv
├── defaults
│ └── main.yml
└── tasks
└── main.yml
- ansible:2.8.3
- ruby:2.6.3
- 対象ホスト:Amzxon Linux 2 (ami-0c3fd0f5d33134a76)+SSH公開鍵を追加したカスタムイメージを使用
- リポジトリをgit cloneします。
- 対象ホストにSSHで接続できるように準備してください。
- hostsを参考にして接続先、公開鍵の保存場所やファイル名などを変更してください。
- ansible.cfgと同じディレクトリ内で、確認をします。
ansible-playbook -i inventory/hosts playbooks/playbook.yml --syntax-check
ansible-playbook -i inventory/hosts playbooks/playbook.yml --list-hosts
ansible-playbook -i inventory/hosts playbooks/playbook.yml --list-tasks
- 特にエラーが出なければ、実行します。
ansible-playbook -i inventory/hosts playbooks/playbook.yml