24F. OpsWorks ์ปค์คํ Chef ๋ ์ํผ ์ฌ์ฉํ๊ธฐ
24F. OpsWorks ์ปค์คํ Chef ๋ ์ํผ ์ฌ์ฉํ๊ธฐ ๊ด๋ จ
OpsWorks์์ ์ ๊ณตํ๋ Chef ๋ ์ํผ๊ฐ ์๋ ์ธํฐ๋ท์ ๊ณต๊ฐ๋ Chef ๋ ์ํผ๋ฅผ ์ฌ์ฉํด๋ณด๊ฒ ์ต๋๋ค.
OpsWorks ์คํ ํ์ด์ง์์ ์์ชฝ ์คํ ์ด๋ฆ์ ํด๋ฆญํ๋ฉด ํ์ ๋ฉ๋ด๊ฐ ๋์ต๋๋ค.
OpsWorks ์ปค์คํ ์คํ์ ์์ฑํฉ๋๋ค.
- Region: EC2 ์ธ์คํด์ค๊ฐ ์์ฑ๋ ๋ฆฌ์ ์ ๋๋ค. Tokyo๋ฅผ ์ ํํฉ๋๋ค.
- Name: ๋ฆฌ์ ์ ์ ํํ๋ฉด ์คํ ์ด๋ฆ์ ์ค์ ํ ์ ์์ต๋๋ค. CustomStack์ ์ ๋ ฅํฉ๋๋ค.
- VPC: EC2 ์ธ์คํด์ค๊ฐ ์์นํ VPC์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- Default subnet: EC2 ์ธ์คํด์ค๊ฐ ์์นํ ์๋ธ๋ท์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- Default operating system: EC2 ์ธ์คํด์ค์ ์ค์น๋ ์ด์์ฒด์ ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- Default root device type: EC2 ์ธ์คํด์ค์ Root ์คํ ๋ฆฌ์ง ์ ํ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- IAM role: OpsWorks์ IAM ์ญํ ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- Default SSH key: EC2 ์ธ์คํด์ค์ ์ ์ํ ๋ ์ฌ์ฉํ ํค ์์ ๋๋ค. ์์์ ์์ฑํ awskeypair๋ฅผ ์ ํํฉ๋๋ค.
- Default IAM instance profile: EC2 ์ธ์คํด์ค์ ์ฌ์ฉํ IAM ์ญํ ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- Hostname theme: EC2 ์ธ์คํด์ค์ ์ด๋ฆ์ ๋ถ์ด๋ ๋ฐฉ์์ ๋๋ค. ๊ณผ์ผ ์ด๋ฆ, ํ์๊ณ ํ์ฑ ์ด๋ฆ ๋ฑ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- Stack color: ์คํ ์์ง ์์ ๋๋ค. ์ฌ์ฉํ๊ณ ์ถ์ ์์ ์ ํํฉ๋๋ค.
- Chef version: Chef ๋ฒ์ ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- Use custom Chef cookbooks: OpsWorks์์ ์ ๊ณตํ๋ Chef ์ฟก๋ถ ์ด์ธ์ ์ธํฐ๋ท์ ๊ณต๊ฐ๋ Chef ์ฟก๋ถ์ด๋ ์ฌ์ฉ์๊ฐ ์์ฑํ Chef ์ฟก๋ถ์ ์ฌ์ฉํ๋ ์ต์
์
๋๋ค. Yes๋ฅผ ์ ํํฉ๋๋ค.
- Repository type: Chef ์ฟก๋ถ ์ ์ฅ์ ์ข ๋ฅ์ ๋๋ค. Git์ ์ ํํฉ๋๋ค.
- Repository URL: Chef ์ฟก๋ถ ์ ์ฅ์ URL์ ๋๋ค. https://github.com/opscode-cookbooks/getting-started.git๋ฅผ ์ ๋ ฅํฉ๋๋ค.
- Branch/Revision: Git ์ ์ฅ์์์ ํน์ ๋ธ๋์น๋ ๋ฆฌ๋น์ ์ ๊ฐ์ ธ์ค๋ ์ต์ ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ๋น์๋ก๋๋ค.
- Manage Berkshelf: Berkshelf๋ก Chef ์ฟก๋ถ ์์กด์ฑ์ ๊ด๋ฆฌํด์ฃผ๋ ์ต์ ์ ๋๋ค(https://berkshelf.com). ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
- Custom JSON: Chef ๋ ์ํผ์ ๋๊ฒจ์ค ์์ฑ(Attribute) ๊ฐ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ๋น์๋ก๋๋ค.
- Use OpsWorks security groups: OpsWorks์ฉ Security Group์ ์ฌ์ฉํ๋ ์ต์ ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค.
OpsWorks ์ปค์คํ ์คํ์ด ์์ฑ๋์์ต๋๋ค.
OpsWorks ์ปค์คํ ๋ ์ด์ด๋ฅผ ์์ฑํฉ๋๋ค.
- Layer type: ๋ ์ด์ด ์ข
๋ฅ์
๋๋ค.
[Custom]
์ ์ ํํฉ๋๋ค. - Name: OpsWorks์์ ํ์๋ ์ด๋ฆ์
๋๋ค.
getting-started
๋ฅผ ์ ๋ ฅํฉ๋๋ค. - Short name: Chef์์ ์ฌ์ฉํ ์ด๋ฆ์
๋๋ค.
getting-started
๋ฅผ ์ ๋ ฅํฉ๋๋ค.
OpsWorks ์ปค์คํ ๋ ์ด์ด๊ฐ ์์ฑ๋์์ต๋๋ค.
์ปค์คํ Chef ๋ ์ํผ ํธ์ง ํ๋ฉด์ด ํ์๋ฉ๋๋ค.
- Setup: ์ธ์คํด์ค๊ฐ ์๋ก ์์ฑ๋์ด ๋ถํ ๋ ๋ ์คํ๋ฉ๋๋ค.
- Configure: ์ธ์คํด์ค ์ํ๊ฐ ์จ๋ผ์ธ์ด ๋๊ฑฐ๋ ๋ค๋ฅธ ์ํ๋ก ๋ฐ๋ ๋ ์คํ๋ฉ๋๋ค.
- Deploy: ๋ฐฐํฌ ๋ช ๋ น ๋ ์คํ๋ฉ๋๋ค.
- Undepoly: ์ธ์คํด์ค ์ญ์ , Undeploy ๋ช ๋ น ๋ ์คํ๋ฉ๋๋ค.
- Shutdown: ์ธ์คํด์ค๊ฐ ์ ์ง๋ ๋ ์คํ๋ฉ๋๋ค.
์ปค์คํ Chef ๋ ์ํผ ์ค์ ์ด ์ ์ฅ๋์์ต๋๋ค.
OpsWorks ์ธ์คํด์ค๊ฐ ์์ฑ๋์์ต๋๋ค.
์ธ์คํด์ค์ Public IP์ SSH๋ก ์ ์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ๋ช ๋ น์ ์ ๋ ฅํฉ๋๋ค.
sudo vim /root/chef-getting-started.txt
getting-started::default
๋ ์ํผ๋ /root/
chef-getting-started.txt
๋ผ๋ ํ์ผ์ ์์ฑํฉ๋๋ค.
Chef ๋ ์ํผ๋ฅผ Setup ๋ฑ์ผ๋ก ์ค์ ํ์ง ์๊ณ [Navigation]
โ [Deployments]
โ [Run Command]
์์ ๋ฐ๋ก ์คํํ ์๋ ์์ต๋๋ค.
- Command: Execute Recipes๋ฅผ ์ ํํฉ๋๋ค.
- Recipes to execute: Chef ๋ ์ํผ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
Chef ์ฟก๋ถ๊ณผ ๋ ์ํผ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ก ์ค๋ช
ํ์ง ์๊ฒ ์ต๋๋ค. getting-started
์์ ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฐจ๊ทผ์ฐจ๊ทผ ์์ฑํด๋ณด๊ณ , ์ธํฐ๋ท์ ๊ณต๊ฐ๋ Chef ์ฟก๋ถ์ ์ฐธ์กฐํ๊ธฐ ๋ฐ๋๋๋ค.