๋๋ ๊ฐ์ ๊ฒ์ ๊ดํ ๋ง์ ๋ฌธ์ ๋ฅผ ๋ณด์๋ค. ๊ทธ๋ฌ๋ ํ ์คํธ ํค์น(https://github.com/test-kitchen/winrm-transport)์ด ๋์ผํ ์คํ ๋ชฉ๋ก์ ๋ํด Windows ์์คํ ์ ํ์ผ์ ๋ณต์ฌํ๋ ์๋๋ฅผ ๋น๊ตํ๋ฉด ์ด๊ฒ์ ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ์ฒ๋ผ ๋ณด์ ๋๋ค. ์ ๊ฒฝ์ฐ์๋ ํจ์ปค ๋ณต์ฌ์ ๊ฑฐ์ 1์๊ฐ์ด ๊ฑธ๋ฆฌ๋ ๋ฐ๋ฉด ํ ์คํธ ํค์น์ 5๋ถ ์ด๋ด์ ์๋ฃํฉ๋๋ค. ์ด๊ฒ์ ๋์๊ฒ ๊ฐ๋ํ ๊ตฌํ์ฒ๋ผ ๋ณด์ ๋๋ค. ์ด๋ค ์์ผ๋ก๋ ๋์์ด ๋์์ผ๋ฉด ํฉ๋๋ค. ์ด๋ก ์ธํด Windows ๋น๋ ์๋๊ฐ ์๋นํ ๋๋ ค์ง๊ณ ์์ ๋ณ๊ฒฝ ์ฌํญ์ ํ ์คํธํ๋ ๊ฒ์ ๋๋ฌด ๋ง์ ์์ง๋์ด๋ง ์๊ฐ์ ๋ญ๋นํ๊ฒ ๋ฉ๋๋ค.
๋๋ ํจ์ปค๊ฐ ์๋ฆฌ์ฑ ์ ๋ณต์ฌํ๋ 1์ธ ์ ฐํ ์ ๊ณต์ ๋จ๊ณ์์ "๋ฉ์ถ๋" ๊ฒ์ ์์์ฐจ๋ ธ๋ค. ๊ฑฐ์ 3์ด์ ํ๋์ ํ์ผ์ ๋ณต์ฌํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค. ์ด ์์ ์ ์ํํ๋ ๋์ EC2 ์ธ์คํด์ค์ ๋ก๊ทธ์ธํ๊ณ ํ์ผ ์๊ฐ ์ค์ ๋ก ๊ทธ๋ ๊ฒ ๋๋ฆฌ๊ฒ ์ฆ๊ฐํ๊ณ ์๋์ง ํ์ธํ์ต๋๋ค.
๊ด๋ จ ๋ก๊ทธ ์ถ๋ ฅ ์์ง:
https://gist.github.com/JCapriotti/4ecfe4a1e20fcbd879161086b0815861
๋ถํํ๋ ์ฐ๋ฆฌ๋ ์ฝ 13๊ฐ์ ์๋ฆฌ์ฑ ์ ์์กดํ๊ณ ์์ผ๋ฉฐ ์ด๊ฒ์ ๋น๋์ ์ฝ 45๋ถ์ ์ถ๊ฐํฉ๋๋ค. ํ์ผ ๋ณต์ฌ์ฉ์ผ๋ก๋ง!
WinRM Windows ๋น๋์ ์๋๋ฅผ ๋์ด๋ ค๋ ์ฌ๋์ ํ์ผ ์ ๊ณต์๋ฅผ ์ฌ์ฉํ์ฌ Chef-solo ์ ๊ณต์๊ฐ ์คํ๋๊ธฐ ์ ์ zip ํ์ผ์ ๋ชจ๋ ์๋ฆฌ์ฑ
์ ๋ณต์ฌํ๊ณ remote_cookbook_paths
์ง์ ํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค. ์ด์ ๊ฐ์ ๊ฒ์ด ๋ด ๋น๋ ์๊ฐ์ ๊ทน์ ์ผ๋ก ๋จ์ถํ์ต๋๋ค.
"provisioners": [
{
"type": "file",
"source": "berks-cookbooks.zip",
"destination": "c:\\temp\\"
},
{
"type": "powershell",
"inline": [
"Expand-Archive -LiteralPath c:\\temp\\berks-cookbooks.zip -DestinationPath C:\\temp"
]
},
{
"type": "chef-solo",
"version": "15.3.14",
"chef_license": "accept",
"guest_os_type": "windows",
"remote_cookbook_paths": [
"c:/temp/berks-cookbooks"
],
"run_list": "{{user `ami_run_list`}}",
}
}
winRM์ ์ฐ์ ์์๋ฅผ ๋ฎ์ถ๋ฉด ๊ด์ฐฎ์ง๋ง ์ด๊ฒ์ ๊ฐ์ ์ฌํญ์ด ์๋๋ผ ์ฑ๋ฅ ๋ฒ๊ทธ์ฌ์ผ ํฉ๋๋ค. ๊ตฝ๋ ์๊ฐ์ ๋ณดํต ํฌ๊ธฐ์ ์๋ฆฌ์ฑ ๋ชฉ๋ก์๋ ์ฐธ์ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ < 3Mb์ด์ง๋ง ์ ๋ก๋๋ 25๋ถ์ด ๊ฑธ๋ฆฝ๋๋ค!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
WinRM Windows ๋น๋์ ์๋๋ฅผ ๋์ด๋ ค๋ ์ฌ๋์ ํ์ผ ์ ๊ณต์๋ฅผ ์ฌ์ฉํ์ฌ Chef-solo ์ ๊ณต์๊ฐ ์คํ๋๊ธฐ ์ ์ zip ํ์ผ์ ๋ชจ๋ ์๋ฆฌ์ฑ ์ ๋ณต์ฌํ๊ณ
remote_cookbook_paths
์ง์ ํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค. ์ด์ ๊ฐ์ ๊ฒ์ด ๋ด ๋น๋ ์๊ฐ์ ๊ทน์ ์ผ๋ก ๋จ์ถํ์ต๋๋ค.