์ฌ๋ณผ๋ฆญ ๋งํฌ ๊ด๋ จํ์ฌ ์ง๋ฌธ ๋๋ฆฝ๋๋ค.
์ ์งง์ ์๊ฒฌ์ผ๋ก ๋ต๋ณ๋๋ฆฌ์๋ฉด, chad๋์ ์ถ๋ก ์ด ๋ง๋ค๊ณ ๋ด
๋๋ค.๊ฐ์ ๊ณ์ ๋ด์ ๋ฆฌ์์ค๋ฅผ ๋ค๋ฅธ ๋ฆฌ์์ค๊ฐ ํ์ฉํ ๋๋ outputs๊ณผ remote_state๋ฅผ ํ์ฉํด์ ์ฌ์ฌ์ฉ์ ํ ์ ์์ง๋ง ๋ค๋ฅธ ๊ณ์ ์ผ ๊ฒฝ์ฐ์๋ ARN์ ์ฐธ์กฐํด์ ์ฌ์ฉํด์ผํ ๊ฒฝ์ฐ๊ฐ ์๊น๋๋ค. ๋งค๋ฒ ARN์ ์ฝ์ ๋๋ CLI๋ฅผ ํตํด ํ์ธํ๋ ๊ฒ์ ๋งค์ฐ ๋นํจ์จ์ ์ด๋ฏ๋ก resource ์์ฑํ ํ ๋ฐ๋ณต์ ์ผ๋ก ํ์ฉํ ๊ฒ์ผ๋ก ์์๋๋ ARN ๋๋ ํน์ ๊ฐ์ global ๋ณ์๋ก ์ค์ ๊ด๋ฆฌํ๋ ๊ฒ์ด ํจ์จ์ ์
๋๋ค.๋ํ ์ ์งง์ ์๊ฒฌ์ผ๋ก sg, route53, lb, global๊ณผ ๊ฐ์ด var_*๋ก ๋ถ๋ฆฌํ ์ด์ ๋ฅผ ์ถ๋ก ํด๋ณด์๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.์ฒซ ๋ฒ ์งธ, ํ๋์ ํ์ผ๋ก ๋ณ์๋ฅผ ๊ด๋ฆฌํ ๊ฒฝ์ฐ ํด๋น ํ์ผ์ ํฌ๊ธฐ๊ฐ ๋๋ฌด ์ปค์ ธ ๊ฐ๋
์ฑ์ด ๋จ์ด์ง๋๋ค. ์์ญ๊ฐ๊ฐ ์๋ ์๋ฐฑ, ์์ฒ, ์์ญ๋ง๊ฐ์ ๋ฆฌ์์ค๋ฅผ ๊ด๋ฆฌํ๋ค๊ณ ๊ฐ์ ํ์์ ๋๋ฅผ ๊ณ ๋ คํ๊ณ ๋๋ ํ ๋ฆฌ ๋ฐ ํ์ผ ๊ตฌ์กฐ๋ฅผ ์ค๊ณํ๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค๊ณ ๋ด
๋๋ค.๋ ๋ฒ ์งธ, ๋ง์ฝ Atlantis(https://www.runatlantis.io/)์ ๊ฐ์ Pull Request๋ฅผ ํตํด Terraform ์ํฌํ๋ก์ฐ๋ฅผ ์๋ํํ ์ ์๋ ์คํ์์ค ์
ํํธ์คํ
๋๊ตฌ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ์ ๋ถํ์ํ Plan์ ํ์ง ์๋๋ก ํ๊ธฐ ์ํจ์
๋๋ค. ๊ฐ๋ น, var_lb.tf, var_route53 ์ ๊ฐ์ด ๋ถ๋ฆฌ๋ ๋ณ์ ํ์ผ์ด ์๋ variables.tf๋ฅผ Atlantis๊ฐ ์ถ์ ํ๋๋ก ์ค์ ํ๋ค๊ณ ๊ฐ์ ํด๋ด
์๋ค. ํด๋น ๋ณ์ ํ์ผ์ ๋ชจ๋ resource์์ ์ฐธ์กฐํ๊ณ ์๊ณ , LB์ ๊ด๋ จ๋ ๋ณ์๋ฅผ ๋ณ๊ฒฝํ์์ ๊ฒฝ์ฐ์๋ route53, sg ๋ฑ ๊ทธ์ธ์ resource๋ค์ ๋ํด ์๋ํ์ง ์์ terraform plan ์ปค๋งจ๋๊ฐ ์คํ๋ฉ๋๋ค.์ฒ์๋ถํฐ ๊ณ ๋ คํ๊ธฐ์ ํ๋ค ์ ์์ต๋๋ค๋ง, ๋ง์ ๋ฆฌ์์ค๋ฅผ ๊ตฌ์ถ, ์ด์/๊ด๋ฆฌํ๋ค๊ณ ๊ฐ์ ํ๊ณ ์ค๊ณํ๋ ์ต๊ด์ ๋ค์ธ๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํฌ์ธํธ๋ฅผ ์ค์ผ์ง ์ค๊ณํ ์ ์๋ ์ญ๋์ ๊ธฐ๋ฅผ ์ ์์ ๊ฒ์
๋๋ค.๋ต๋ณ์ด ๋์์ด ๋์๊ธธ ๋ฐ๋๋๋ค!์ ๋ ์ด/์ค๊ธ์์ด๋ ํจ๊ป ๊ณต๋ถํด๋๊ฐ์!!! ๐