AWS์ ๋ํด ์ ๋ชจ๋ฅด๋ ๋ ๊ตฌ์ถํ ์ธํ๋ผ
์ฒ์ ํ๋ก์ ํธ๋ฅผ ์งํํ ๋น์์๋ AWS์ ๋ํด ์ ์์ง ๋ชปํ๋ ์ํ์์ง๋ง, ๊ทธ๋๋ ๋คํํ ์ธํ๋ผ ๊ตฌ์กฐ๋ฅผ ์ก์์ฃผ์ ์๋์ด ๊ฐ๋ฐ์๋ถ์ด ์์ผ์ จ๋ ๋๋ผ ์ ๋ ์ฃผ๋ก ๋ฐฑ์๋ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐ ์ง์คํ๊ณ , AWS๋ ์ด๊นจ๋๋จธ๋ก๋ง ๋ฐฐ์ฐ๊ณ ์์์ต๋๋ค.
ํ์ง๋ง ์๊ฐ์ด ์ง๋๊ณ ๋ค๋ฅธ ํ๋ก์ ํธ๋ฅผ ์งํํ๊ฒ ๋๋ฉด์ ์ธํ๋ผ๋ฅผ ํ ๋ฒ ๋ ๊ตฌ์ถํด์ผ ํ๋ ์ผ์ด ์๊ฒผ๋๋ฐ, ์ ๋๋ก ๋ ์ง์๋ ์๋ ์ํ์์ ์งํํ๋ ๊ฑฐ๋ผ ์ ๋ง ๋งจ๋ ์ ํค๋ฉ์ ํ๋ฉฐ AWS๋ฅผ ๋ฐฐ์ ๋๊ฐ์ผ ํ๋ ์ฒ์ง์ ๋์์ต๋๋ค.
๊ทธ๋ ์ง๋ง ๊ฒฐ๊ตญ ์ ๋ AWS์ ๋ํด ์๋ ๊ฒ ์์๊ธฐ ๋๋ฌธ์ ๊ทธ์ ์ ๊ณ์ จ๋ ๋ถ๊ป์ ๊ตฌ์ถํ๋ ๊ตฌ์กฐ๋ฅผ ๊ฑฐ์ ๊ทธ๋๋ก ๋ฐ๋ผ๊ฐ๋ฉฐ ๋ฐฐ์ฐ๋ ์๋ฐ์ ์์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ๊ทธ๋ ๊ฒ ๋ฐ๋ผ๋ง ํ๋ค ๋ณด๋ ์๋ฌ๊ฐ ๋๋ฉด ์์ธ์ ์ฐพ์ง ๋ชปํ๊ณ , ๋๊ฐ์ด ๋ฐ๋ผ ํ ๊ฒ ๊ฐ์๋ฐ ๋์ค์ ๋ณด๋ฉด ์กฐ๊ธ์ฉ ๋ฌ๋ผ์ ธ ์์ด ์ง์ฐ๊ณ ๋ค์ ๋ง๋๋ ๊ฑธ ์์์ด ๋ฐ๋ณตํ๋ฉด์ ๊ณ์๋ ์ผ๊ทผ๊ณผ ๋ฐค์์ ์ด์ด ๋๊ฐ์ต๋๋ค.
๊ทธ๋ ๊ฒ ๊ณ์๋ ๋ฐ๋ณต ์์ ๋ฐ ํ์ต์ ์ด์ด๊ฐ๋ฉฐ ๊ฒฐ๊ตญ ์ธํ๋ผ ๊ตฌ์ถ์ ์ด์ฐ์ ์ฐํด์ ๋ง๋ฌด๋ฆฌํ๊ธด ํ๋๋ฐ, ๊ทธ๋์๋ ๋ชฐ๋์ง๋ง, ๊ทธ ๋น์ ๊ตฌ์ถํ๋ ๊ตฌ์กฐ๋ ์์ ์ฑ, ๋ณด์์ฑ, ํจ์จ์ฑ ๋ฑ ์ฌ๋ฌ ์ธก๋ฉด์์ ์ข์ง ์์ ๊ตฌ์กฐ์์ต๋๋ค.
๊ธํ ๋๋ก ์ธํ๋ผ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ AWS์ ๋ํด ๋ค์ ๊ณต๋ถํด์ ์ ๋๋ก ๋ ๊ตฌ์กฐ๋ฅผ ์ก์ ์๊ฐํ๊ณ ํ๋์ AWS์ ๋น ์ ธ์๋ค๊ฐ ๋ค์ ๊ตฌ์กฐ๋ฅผ ๋ณด๋ ์กฐ๊ธ์ฉ ๋ฌธ์ ์ ์ด ๋ณด์ด๊ธฐ ์์ํ์ต๋๋ค.
๊ทธ๋ ๊ฒ ์ค์๊ฐ์ผ๋ก ์ด์ ์ค์ธ ์๋น์ค์ ์ธํ๋ผ ๊ฐ์ ์ ์์ํ๊ณ , ์ ์ง์๊ณผ ๊ฒฝํ์ ์๊ฐํด ๋ดค์ ๋ ์ถฉ๋ถํ ์ฑ๊ณต์ ์ธ ๊ฐ์ ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
ํ์ง๋ง ๊น์ ์ง์์ ๊ฐ์ง๊ณ ์๋ ํธ์ด ์๋๊ธฐ ๋๋ฌธ์ ์ธํ๋ผ ์ ๋ฌธ๊ฐ๋ถ๋ค์ด ๋ณด์๊ธฐ์ ๊ฐ์ ์์๋ ์ฌ๋ฌ ๋ฌธ์ ๊ฐ ๋ณด์ผ ์ ์์ผ๋ ํด๋น ๋ถ๋ถ์ ๋ํด์๋ ๋ฐ๋ํ๊ฒ ์ถฉ๊ณ ๋ถํ๋๋ฆฝ๋๋ค.
๋น์ ๊ตฌ์ถํ๋ ์ธํ๋ผ ๊ตฌ์กฐ ๋ฐ ๋ฌธ์ ์
์๋ ์ฌ์ง์ AWS๋ฅผ ์ ๋ชจ๋ฅด๋ ๋์ ์ ๊ฐ ๊ตฌ์ถํ๋ ์ธํ๋ผ ๊ตฌ์กฐ์ ๋๋ค.
์ง๊ธ ์์ ๋ณด๋ฉด ์ ์ด๋ ๊ฒ ํ๋์ง ์๊ฐ์ด ๋ค์์ด์ ์ฌ์ง์ ์ฌ๋ฆฌ๊ธฐ์ ์ ๋ง ๋ฏผ๋งํ์ง๋ง, ์ ์ ๋น์ทํ ์ํฉ์ ๋์ธ ๋ถ๋ค์ ์ํด ๊ตฌ์กฐ๋๋ฅผ ์ฒจ๋ถํ์ต๋๋ค.
์๋ง ์กฐ๊ธ์ด๋ผ๋ AWS์ ๋ํด ๊ณต๋ถ๋ฅผ ํด๋ณธ ๋ถ์ด๋ผ๋ฉด ์ถฉ๋ถํ ์ด๋๊ฐ ๋ฌธ์ ์ธ์ง ๊ธ๋ฐฉ ํ์ ํ์ค ๊ฑฐ๋ผ ์๊ฐํฉ๋๋ค.
์๋๋ AWS์ ๋ํด ๊ณต๋ถ๋ฅผ ํ๊ณ ๋์ ์๊ฐํ ํด๋น ์ธํ๋ผ ๊ตฌ์กฐ์ ๋ฌธ์ ์ ์ ๋๋ค.
์์ ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ํ์ธ๋์ง ์๋ ๋ด์ฉ๋ ์ฌ๋ฟ ํฌํจ๋์ด ์์ต๋๋ค.
- ๋ชจ๋ EC2 ์ธ์คํด์ค ๋ฐ RDS, ElastiCache ๋ฆฌ์์ค๊ฐ ์ ๋ถ ํผ๋ธ๋ฆญ ์๋ธ๋ท์ ์์นํด ์์ด ๋ณด์์ฑ ์ธก๋ฉด์ ๋ฌธ์ ๊ฐ ์๋ค.
- ํด๋น ์๋น์ค์์ ์ฌ์ฉํ๊ธฐ ์ํ ์ฌ๋ฌ ์ด๋ฏธ์ง ๋๋ ์์์ S3์ ์ ์ฅํด์ ๋ถ๋ฌ์ค๊ณ ์์๋๋ฐ, ๋ณ๋์ ๋๋ฉ์ธ ์์ด S3 ํผ๋ธ๋ฆญ ๋งํฌ๋ฅผ ์ง์ ์ฌ์ฉํด ๋ณด์์ฑ ์ธก๋ฉด์ ๋ฌธ์ ๊ฐ ์๋ค.
- RDS ์ธ์คํด์ค ๋ฐ ์ฝ๊ธฐ ์ ์ฉ ๋ณต์ ๋ณธ์ด ์ ๋ถ ๋์ผํ ๊ฐ์ฉ ์์ญ์ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ํด๋น ๊ฐ์ฉ ์์ญ์ ์ฅ์ ๊ฐ ์๊ธฐ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ด ๋ถ๊ฐ๋ฅํด ๊ฐ์ฉ์ฑ ์ธก๋ฉด์ ๋ฌธ์ ๊ฐ ์๋ค.
- ๋ณด์ ๊ทธ๋ฃน์ ๋ํ ์ดํด๋๊ฐ ๋ฎ์๊ธฐ ๋๋ฌธ์ ์์๋ก ๋ชจ๋ ์ธ๋ฐ์ด๋/์์๋ฐ์ด๋ ํธ๋ํฝ์ ํ์ฉํด Access Key์ ๊ฐ์ ์ค์ํ ๋ฐ์ดํฐ๊ฐ ํ์ทจ๋๋ฉด ์ด๋์๋ ๋ฐฑ์๋ ๋ฆฌ์์ค์ ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
- EC2 ์ธ์คํด์ค๊ฐ ๋ชจ๋ ๊ตฌ๋ฒ์ ์ผ๋ก ์ค์ ๋์ด ์์ด ๋ถํ์ํ๊ฒ ์๊ธ์ด ๋ ๋ง์ด ๋ฐ์ํ๊ณ , ์ธ์คํด์ค๊ฐ ์ฃฝ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ๊ทธ๋๋ง๋ค 5xx๋ฒ ์๋ฌ์จ์ด ํฌ๊ฒ ๋์์ก๋ค.
- IAM์ ๋ํ ์ดํด๋๊ฐ ๋ฎ์๊ธฐ ๋๋ฌธ์ AWS๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ๊ด๋ฆฌ์ ๊ถํ์ ๋ถ์ฌํด ์ฌ์ฉํ๋ค.
๊ทธ ์ธ์๋ ์์ธํ๊ฒ ์ดํด๋ณด๋ฉด ๋ฏธ์ฒ ๋ฐ๊ฒฌํ์ง ๋ชปํ ์ฌ๋ฌ ๋ฌธ์ ๊ฐ ๋ฐ๊ฒฌ๋ ์ ์์ง๋ง, ์์ง๊น์ง ์ง์์ ์์ค์ด ๊น์ง ์์ ์ฐพ์ง ๋ชปํ ๊ฒ ๊ฐ์ต๋๋ค.
์ธํ๋ผ ๊ตฌ์กฐ ๊ฐ์ ๋ฐฉ์
๊ทธ๋ ๊ฒ ๋ฌธ์ ์ ์ ์ ๋ฆฌํ๊ณ ์ด๋ฅผ ์ด๋ป๊ฒ ๊ฐ์ ํ ์ ์์์ง ์๊ฐํด ๋ดค์ต๋๋ค.
์ ๋ง ๋ค์ํ ํฌ์คํธ๋ฅผ ์ฐพ๊ณ , ๊ฐ์๋ฅผ ์ฐธ๊ณ ํ์ผ๋ฉฐ, ์ธํ๋ผ์ ๋ํ ๊ฒฝํ์ด ์๋ ์ฌ๋ฌ ์ง์ธํํ ๋ ์กฐ์ธ์ ์ป์ ๊ฒฐ๊ณผ, ์ ๋ ์์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๋์ ๊ฐ์ ๊ฐ์ ์์ ์๊ฐํ๊ฒ ๋์์ต๋๋ค.
์ด๋ฒ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํ๋ฉด์ ์๋น์ค ์ด์ ์ค์ ๊ฒช๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด DynamoDB๋ฅผ ์ถ๊ฐ๋ก ๋์ ํ๋๋ฐ, ์ด์ ๋ํด์๋ ๋ค๋ฃจ์ง ์๊ณ ์จ์ ํ ๊ตฌ์กฐ ๊ฐ์ ์ ํฌ์ปค์ค๋ฅผ ๋ง์ถ๊ฒ ์ต๋๋ค.
๊ทธ๋ ๊ฒ ์ ๋ ์๋์ ๊ฐ์ด ๊ธฐ์กด ๊ตฌ์กฐ์์ ๊ฒช์ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๋ ค๊ณ ํ์ต๋๋ค.
- ๋ชจ๋ ๋ฆฌ์์ค๊ฐ ํผ๋ธ๋ฆญ ์๋ธ๋ท์ ์์ด ๋ณด์์ฑ ์ธก๋ฉด์ ๋ฌธ์ ๊ฐ ์์
- ์ธ๋ถ์์ ์ ๊ทผํ๋ฉด ์ ๋๋ ๋ชจ๋ ๋ฆฌ์์ค๋ค์ ํ๋ผ์ด๋น ์๋ธ๋ท์ผ๋ก ์ด๋
- ํ๋ผ์ด๋น ์๋ธ๋ท์์ ์ธ๋ถ ์ธํฐ๋ท๊ณผ ํต์ ํ๊ธฐ ์ํด ํผ๋ธ๋ฆญ ์๋ธ๋ท์ NAT Gateway ์ถ๊ฐ
- ๊ฐ๋ฐ์๋ค์ด ํ๋ผ์ด๋น ์๋ธ๋ท์ ๋ฆฌ์์ค์ ์ ๊ทผํ๊ธฐ ์ํด Bastion Host๋ฅผ ํผ๋ธ๋ฆญ ์๋ธ๋ท์ ๊ตฌ์ถ
- S3 ํผ๋ธ๋ฆญ ๋งํฌ๋ฅผ ์ฌ์ฉํด ๋ณด์์ฑ ์ธก๋ฉด์ ๋ฌธ์ ๊ฐ ์์
- ์๋จ์ Cloudfront๋ฅผ ์ถ๊ฐํ๊ณ , S3์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์ ๊ทผํ๊ธฐ ์ํ ๋ณ๋์ ๋๋ฉ์ธ ์ค์
- Cloudfront ์บ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํด ํ๋ก ํธ์๋์์ ์ด๋ฏธ์ง๋ฅผ ๋ ๋นจ๋ฆฌ ๋ถ๋ฌ์ฌ ์ ์๋ค๋ ์ฅ์ ๋ ์ถ๊ฐ๋จ
- S3๋ฟ๋ง ์๋๋ผ Load Balancer ์๋จ์๋ Cloudfront๋ฅผ ์ฐ๊ฒฐํด ๋ฐ์ดํฐ ์ก์์ ๋น์ฉ ์ ๊ฐ
- RDS ์ธ์คํด์ค๋ค์ด ๋ชจ๋ ํ ๊ฐ์ฉ ์์ญ์ ์์ด ๊ฐ์ฉ์ฑ ์ธก๋ฉด์ ๋ฌธ์ ๊ฐ ์์
- ๋ฉ์ธ RDS ์ธ์คํด์ค๋ฅผ ๋จ์ผ ์ธ์คํด์ค๊ฐ ์๋ Multi-AZ ์ธ์คํด์ค๋ก ์ ํ
- ์ฝ๊ธฐ ์ ์ฉ ๋ณต์ ๋ณธ์ ์ฌ๋ฌ ๊ฐ์ฉ ์์ญ์ ๊ณ ๋ฅด๊ฒ ๋ฐฐ์น
- ๋ณด์ ๊ทธ๋ฃน์ด ๋์จํด ๋ณด์์ฑ ์ธก๋ฉด์ ๋ฌธ์ ๊ฐ ์์
- ๊ท์น์ด ๋์จํ ๋ณด์ ๊ทธ๋ฃน์ ์ฌ๋ฌ ๋ฆฌ์์ค๊ฐ ๊ณต์ ํด์ ์ฌ์ฉํ๊ณ ์์๋๋ฐ, ๊ฐ ๋ฆฌ์์ค๋ณ๋ก ๋ณด์ ๊ทธ๋ฃน์ ์์ฑ
- ๋ฆฌ์์ค๋ณ๋ก ๋ณด์ ๊ทธ๋ฃน์ ์ธ๋ฐ์ด๋/์์๋ฐ์ด๋ ํธ๋ํฝ์ ์๋ก ํต์ ํ๋ ๋ฆฌ์์ค์ ๋ง๊ฒ ๊ฐํ๊ฒ ์กฐ์
- Bastion Host์ ๊ฒฝ์ฐ์๋ ํน์ IP๋ง ํ์ฉํด ์ง์ ๋ ๋คํธ์ํฌ๊ฐ ์๋๋ฉด ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ๋๋ก ์ค์
- ECS ์์์ ๋์๊ฐ๋ EC2๊ฐ ๊ตฌ๋ฒ์ ์ด๊ณ , ์์ฃผ ์ธ์คํด์ค๊ฐ ๋ค์ด๋จ
- ์ฉ๋ ๊ณต๊ธ์๋ฅผ ๊ธฐ์กด EC2์์ ์๋ฒ๋ฆฌ์ค ์ปดํจํ ์์ง์ธ Fargate๋ก ์ ํ
- Fargate๋ก ์ ํํ๋ฉด์ ๋ค์ํ ์ด์ ์ด ์๊ฒผ๋๋ฐ, ๊ทธ ์ด์ ์ ๋ํด์๋ ๋ค์ ํฌ์คํธ์์ ๋ค๋ฃฐ ์์
- IAM ์ฌ์ฉ์ ๋ชจ๋ ๊ด๋ฆฌ์ ๊ถํ์ ์ฌ์ฉ
- ๋ชจ๋ ๊ณ์ ์ ๊ด๋ฆฌ์ ๊ถํ์ ์ ๊ฑฐํ๊ณ ํ์ํ ๊ถํ๋ง ์ค์
- MFA๋ฅผ ์ค์ ํด ๋ณด์์ฑ ๊ฐํ
์ด๋ก์จ ์๋๋ ๊ธฐ์กด ๊ตฌ์กฐ๋ก ์ด์ํ๋ฉด์ ๋ณด์์ฑ, ๊ฐ์ฉ์ฑ, ์์ ์ฑ ๋ฑ ๋ค์ํ ๋ถ๋ถ์์ ๋ถ์ํ ๋ง์์ด ์ปธ์ง๋ง, ์ง๊ธ์ ๊ฝค ๊ทธ๋ฐ ๊ฑฑ์ ์ด ํด์๋์์ต๋๋ค.
๋, ์ด๋ฒ ๊ธฐํ์ AWS๋ฅผ ๊ณต๋ถํ๋ฉด์ ๊ทธ๋์ ์๋ฆฌ๋ฅผ ์์ง ๋ชปํด ๊ทธ๋ฅ ๋ฐ๋ผ๋ง ํ๋ ๊ฒ๋ค, ์ ํํ๊ฒ ์ด๋์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ณ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์๋์ง, ๋ค์ํ ๊ธฐ์ ์ ์ด๋ป๊ฒ ์ธํ๋ผ ๊ตฌ์กฐ๋ฅผ ์ก๊ณ ์๋์ง ๋ฑ์ ๋ํด ์์ ์ ๋๊ฐ ์ปค์ก์๋ฟ๋๋ฌ ์ธํ๋ผ ๋ถ์ผ์ ๊ด์ฌ์ ๊ฐ์ง๊ฒ ๋ ๊ณ๊ธฐ๊ฐ ๋์์ต๋๋ค.
์์์ ์ค๋ช ํ ๊ณผ์ ์ ๋ค์ ํฌ์คํธ์์ ๋ ๊ตฌ์ฒด์ ์ผ๋ก ๋ค๋ฃฐ ์์ ์ด๊ณ , ํด๋น ํฌ์คํธ์์๋ ์ด๋ป๊ฒ ํด๊ฒฐํ๋์ง ๊ฐ๋ตํ๊ฒ ์๊ฐ๋ง ํ์ต๋๋ค.
ํ์ง๋ง ์์ฒ๋ผ ๋ค์ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์์๋ ๋ถ๊ตฌํ๊ณ ์์ง ํด๊ฒฐํ์ง ๋ชปํ ๋ถ๋ถ์ด๋ ์ถ๊ฐ๋ก ๋ ๊ฐ์ ํ๊ณ ์ถ์ ์ ์ด ๋ง์ ๊ทธ ๋ถ๋ถ์ ๋ํด ๋ง์๋๋ฆฌ๋ ค๊ณ ํฉ๋๋ค.
์์ง ํด๊ฒฐํ์ง ๋ชปํ ๋ฌธ์
์ด๋ ๊ฒ ๊ตฌ์กฐ๋ฅผ ์์ ํ ๋ฐ๊พธ๋ฉด์ ๊ธฐ์กด์ ๋ฌธ์ ๊ฐ ์๋ ๋ถ๋ถ์ ๋ง์ด ํด๊ฒฐํ์ง๋ง, ๊ทธ๋๋ ์์ง ํด๊ฒฐ๋์ง ๋ชปํ ์ฑ๋ก ๋จ์์๋ ๋ฌธ์ ๊ฐ ์ฌ๋ฟ ์์ต๋๋ค.
์์ง ํด๊ฒฐํ์ง ๋ชปํ ๊ฒ ์ค์์ ๊ฐ์ฅ ๋จผ์ ๋ ์ค๋ฅด๋ ๊ฒ์ IAM ๊ด๋ จ ๋ฌธ์ ์ ๋๋ค.
์์ ์ธํ๋ผ ๋ค์ด์ด๊ทธ๋จ์์ ๋ณผ ์ ์๋ฏ์ด ํ์ฌ ์ ํฌ๋ SQS, SNS, DynamoDB, Lambda, Redis ๋ฑ ์ฌ๋ฌ ์๋น์ค๋ฅผ ์ฌ์ฉํ๊ณ ์๋๋ฐ ๊ฐ๋ ฅํ ๋ณด์์ ์ํด์๋ ์๋น์ค๋ณ๋ก IAM Role์ ๋ง๋ค์ด ์ ์ฉํด ์ค์ผ ํ๋ค๊ณ ํ์ต๋๋ค.
์ด๋ฒ์ ์ธํ๋ผ ๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝํ๋ฉด์ IAM ์ฌ์ฉ์์ ๋ํด ๊ฐ๋ณ์ ์ผ๋ก ์ ์ฑ ์ ์ค์ ํ์ง๋ง, ๊ฐ ์๋น์ค์ ๋ํด์๋ ์์ง ์ ๋๋ก ๋ IAM Role ์ค์ ์ด ์ ๋์ด ์์ต๋๋ค.
๋ฌผ๋ก ๊ธฐ๋ณธ์ ์ผ๋ก AWS ์๋น์ค๋ฅผ ์ฌ์ฉํ ๋ ์์ฑ๋๋ Role์ ๋ํด์๋ ์ด๋ ์ ๋ ์ ์ ํ ์ ์ฑ ์ค์ ์ด ๋์ด์์ง๋ง, ๊ทธ๋ ์ง ์์ Role๋ ์๊ธฐ ๋๋ฌธ์ ํด๋น ๋ถ๋ถ์ ๋ํ ๊ฐ์ ์ด ํ์ํฉ๋๋ค.
๋ค์์ผ๋ก๋ ๊ณ์ ๊ด๋ จ ๋ฌธ์ ์ ๋๋ค.
ํ์ฌ ์ ํฌ๋ ๊ฐ๋ฐ ์๋ฒ์ ํ๋ก๋์ ์๋ฒ๋ฅผ ์ด์ํ๊ณ ์๋๋ฐ, ๊ธฐ๋ณธ์ ์ผ๋ก ๋ณด์์ ์ํด์๋ ๊ฐ๋ฐ ์๋ฒ๋ฅผ ์ํ ๊ณ์ ๊ณผ ํ๋ก๋์ ์๋ฒ๋ฅผ ์ํ ๊ณ์ ์ ๋ถ๋ฆฌํด์ผ ํฉ๋๋ค.
ํ์ง๋ง ์ธํ๋ผ ๊ตฌ์กฐ ๋ณ๊ฒฝ์ ์ํ ์๊ฐ์ด ๊ทธ๋ฆฌ ๋ง์ด ์ฃผ์ด์ง์ง ์์์ ์ผ๋จ ๋น์ฅ์ ๋ถ๋ฆฌํ์ง ๋ง๊ณ ํ๋์ ๊ณ์ ์ผ๋ก ๊ด๋ฆฌํ๋๋ก ํ์ง๋ง, ์ถํ ์์ ํ ํ๊ฒฝ์ ๊ฒฉ๋ฆฌํ๊ธฐ ์ํด์๋ ๊ณ์ ๊ด๋ฆฌ์ ๋ํ ๊ฐ์ ์ด ํ์ํฉ๋๋ค.
๋ค์์ ์ค์ํ์ง๋ ์์ง๋ง ๊ณ์ ๊ฐ์ ๊ณํ์ ์๊ฐํด ์๋ RDS ๊ด๋ จ ๋ฌธ์ ์ ๋๋ค.
์ง๊ธ์ ์ฐ๊ธฐ ์ ์ฉ์ผ๋ก ์ฌ์ฉํ๊ณ ์๋ RDS ๋ง์คํฐ ์ธ์คํด์ค์ ์ฝ๊ธฐ ์ ์ฉ ๋ณต์ ๋ณธ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ฑํ๊ณ ์์ต๋๋ค.
๋น์ฅ์ ์ด๋ ๊ฒ ๊ตฌ์ฑํด๋ ๋ฌธ์ ๊ฐ ์์ง๋ง, ์์ ์ ํ ๋ฒ ํธ๋ํฝ์ด ํฌ๊ฒ ์ฆ๊ฐํ๋ ๊ฒฝํ์ด ์์๋๋ฐ, ๊ทธ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํธ๋ํฝ์ด ๋ชฐ๋ ค ๊ธํ๊ฒ ์ฝ๊ธฐ ์ ์ฉ ๋ณต์ ๋ณธ์ ์์ฑํด ํธ๋ํฝ ์ฆ๊ฐ์ ๋์ํ๋ ๊ฒฝํ์ด ์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ์์ผ๋ก๋ ์ด๋ ๊ฒ ํธ๋ํฝ์ด ๊ฐ์๊ธฐ ์ฆ๊ฐํ๋ ์๊ฐ์ด ๋ ์ฌ ๊ฒ์ด ๋ถ๋ช ํ๋ฐ, ๋งค๋ฒ ์ฝ๊ธฐ ์ ์ฉ ๋ณต์ ๋ณธ์ ์ถ๊ฐ๋ก ์์ฑํด์ ๋์ํ๊ธฐ์๋ ๊ฝค ์ค๋ ๊ฑธ๋ ค ๊ฒฐ๊ตญ ๋ค์ดํ์์ ์ฆ๊ฐ๋ก ์ด์ด์ง๊ฒ ๋ ๊ฒ์ ๋๋ค.
๊ทธ๋์ ์คํ ์ค์ผ์ผ๋ง๊ณผ ํด๋ผ์ฐ๋์ ์ต์ ํ๋์ด ๋ ๋์ ์ฑ๋ฅ์ ์ ๊ณตํ๋ Aurora ์ธ์คํด์ค๋ก ๊ฐ์ ์ ํ๊ณ ์ถ์์ง๋ง, ๊ธฐ์กด RDS ์ธ์คํด์ค์ ๋ค๋ฅธ ํด๋ฌ์คํฐ ๊ตฌ์กฐ์ ๋ํ ์ดํด์ Failover ๋์๊ณผ ๊ด๋ จ๋ ๋ถ๋ถ์ ํ์ ํ๊ณ ์์ด์ผ ํ๊ธฐ์ ๋ ๊ด๋ จ ์ ๋ณด๋ฅผ ์ฐพ์๋ณด๊ณ ๊ฐ์ ์ ์งํํ๋ ค๊ณ ํฉ๋๋ค.
๊ฐ์ ํ๊ณ ์ถ์ ์
์ด๋ ๊ฒ ์์ ๊ฐ์ ๋ฌธ์ ์ฒ๋ผ ์ด๋ฒ์ ์ธํ๋ผ ๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝํ๋ฉด์ ์ถ๊ฐ๋ก ํด๊ฒฐํ ์ ์์ง๋ง ์์ง ํด๋น ์๋น์ค์ ๋ํ ์ดํด๋๊ฐ ๋ถ์กฑํ๊ฑฐ๋ ์ถ๊ฐ์ ์ธ ํ์ต์ด ํ์ํ ๊ฒฝ์ฐ๋ก ์ธํด ํด๊ฒฐํ์ง ๋ชปํ ๋ฌธ์ ๋ ์์ง๋ง, ๊ทธ ์ธ์๋ ๋ถ๊ฐ์ ์ผ๋ก ์ธํ๋ผ๋ฅผ ์ด์ํ๋ ๋ฐ ์์ด ์ ์ฉํ๋ฉด ์ข์ ๊ฒ ๊ฐ์ ์ ๋ ์์ต๋๋ค.
์ถ๊ฐ๋ก ๊ฐ์ ํ๊ณ ์ถ์ ์ ์ ์์์ ์์ฑํ ์์ง ํด๊ฒฐํ์ง ๋ชปํ ๋ฌธ์ ์ค์์ ๊ฐ๋ฐ ์๋ฒ์ ํ๋ก๋์ ์๋ฒ๋ฅผ ์ด์ํ๊ณ ์๋ค๋ ๋ฌธ์ ์์ ํ์๋๋ ๋ถ๋ถ์ธ๋ฐ, ๋ฐ๋ก ์ฝ๋๋ฅผ ํตํ ์ธํ๋ผ ๊ด๋ฆฌ ์ํํธ์จ์ด ์ค ํ๋์ธ Terraform์ ๋๋ค.
์ ํฌ ์๋น์ค์์๋ ์ฌ๋ฌ AWS ์๋น์ค๋ฅผ ์ฌ์ฉํ๊ณ , ๊ฐ๋ฐ ์๋ฒ์ ํ๋ก๋์ ์๋ฒ๋ฅผ ๋ถ๋ฆฌํ์ฌ ์ด์ํ๊ณ ์๊ธฐ ๋๋ฌธ์ 2๊ฐ์ ๋์ผํ ์ธํ๋ผ ๊ตฌ์กฐ๋ฅผ ๊ด๋ฆฌํ๊ณ ์์ต๋๋ค.
ํ์ง๋ง ์ง๊ธ์ ์ธํ๋ผ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ์ธ๋ ฅ์ด ์๋ ์ํฉ์ด์ด์ ํ์ฌ๋ ์ ๊ฐ ๋งก์์ ๋ด๋นํ๋์ง๋ผ ๋ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ ์ฐพ๊ณ ์ถ์์ต๋๋ค.
๊ทธ๋ ๊ฒ ์ฐพ์ ๋ฐฉ๋ฒ์ด Infrastructure as Code(IaC) ๋๊ตฌ ์ค ํ๋์ธ Terraform์ ๋๋ค.
๊ทธ๋ฌ๋ Terraform์ HashiCorp ์ฌ๊ฐ ์์ฒด์ ์ผ๋ก ๊ฐ๋ฐํ ์ธ์ด์ธ HCL(HashiCorp Configuration Language)๋ฅผ ์ฌ์ฉํ๋๋ฐ, ๊ฒฐ๊ตญ Terraform์ ๋์ ํ๊ธฐ ์ํด์๋ ์ด HCL ์ธ์ด์ ๋ํ ํ์ต์ด ๋ถ๊ฐํผํ์ต๋๋ค.
์๋๋ Terraform์ ์ฌ์ฉํด EC2 ์ธ์คํด์ค๋ฅผ ํ๋ก๋น์ ๋ํ๋ ์์ ์ฝ๋์ ๋๋ค.
๋ฌผ๋ก ๋ฑ ํ๋์ EC2 ์ธ์คํด์ค๋ฅผ ์ฌ๋ฆฌ๊ธฐ ์ํ ๊ฑฐ์ ์ต์ํ์ ์ค์ ๋ง ํด๋จ์ง๋ง, ๋น๊ต์ ์ฝ๊ฒ ์ธํ๋ผ ๊ตฌ์ฑ์ ํ์ ํ ์ ์๋ค๋ ์๊ฐ์ด ๋ค์์ต๋๋ค.
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 4.16"
}
}
required_version = ">= 1.2.0"
}
provider "aws" {
region = "us-west-2"
}
resource "aws_instance" "app_server" {
ami = "ami-830c94e3"
instance_type = "t2.micro"
tags = {
Name = "ExampleAppServerInstance"
}
}
ํ์ง๋ง ๊ฒฐ๊ตญ Terraform์ ๋์ ํ๊ธฐ ์ํด์๋ ์ถ๊ฐ์ ์ธ ํ์ต์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ์ค์ ๋์ ์ ํฌ๋ง ์ฌํญ์ผ๋ก๋ง ๋จ๊ฒจ๋์์ต๋๋ค.
๊ทธ๋ฐ๋ฐ 2023๋ ๋ ์ธํ์ฝ ๋ฐํ๋ฅผ ๋ณด๊ณ ์๋๋ฐ ํ์ฌ ์ธํ๋ฉ์ CTO๋ฅผ ๋งก๊ณ ๊ณ์ ์ด๋์ฑ ๋์ ์ธํ๋ฐ ์ํคํ ์ฒ 2023~2024 ๋ฐํ๋ฅผ ๋ณด์์ต๋๋ค.
์๋ ์ธํ๋ฉ์์ ์ธํ๋ผ ๊ด๋ฆฌ๋ฅผ ์ํด์ Terraform์ ์ฌ์ฉํ์๊ณ , ์ค์ ๋ก ์๋ ๋ ์ธํ์ฝ ๋ฐํ์์๋ Terraform ๋์ ์ ๋ํ ์๊ธฐ๋ฅผ ๋ณด๊ฒ ๋์๋๋ฐ์, ํ์ง๋ง 1๋ ๋ง์ IaC ๋๊ตฌ์ธ Pulumi์ TypeScript๋ฅผ ํ์ฉํ ๋ฐฉ๋ฒ์ผ๋ก ์ ํํ๋ค๊ณ ํฉ๋๋ค.
ํด๋น ๋ฐํ์์ ๋์จ ์ฅ์ ์ผ๋ก๋ ๊ธฐ์กด์ ์ฌ์ฉํ๋ ์ธ์ด๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ ์ ์๊ณ , ์ ์ธํ์ด ์๋๊ธฐ ๋๋ฌธ์ IDE์ ๋์์ ๋ฐ์ ์ ์์ด ๋์ ํ์ง๋ก ๊ด๋ฆฌํ ์ ์์ผ๋ฉฐ, ์ถ์ํ๋ ์ค๊ณ ๋ฐ ๋จ์ ํ ์คํธ๋ ๊ฐ๋ฅํ๋ค๊ณ ๋์ ์์์ต๋๋ค.
๊ทธ๋์ Pulumi ๊ด๋ จ ๋ฌธ์์ ๊ฐ์ข ๋ธ๋ก๊ทธ๋ฅผ ์ฐพ์๋ดค์๋๋ฐ, ๋ง์ฝ์ ์ ํฌ ์๋น์ค์ IaC๋ฅผ ๋์ ํ๊ฒ ๋๋ค๋ฉด ์ด๋ค ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ง ๊ณ ๋ฏผํด ๋ณธ ๊ฒฐ๊ณผ Pulumi๋ฅผ ๋์ ํ๋ ๊ฒ ์ข์ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด์์ต๋๋ค.
๊ธ์ ๋ง๋ฌด๋ฆฌํ๋ฉฐ
์ฒ์ ์ธํ๋ผ ์ค์ ์ ์ํด ์์ ์ ๊ตฌ์ถํด ๋์ ๊ตฌ์กฐ๋ฅผ ์ฐธ๊ณ ํ๋ฉด์ ์ด์ฌํ ๋ฐ๋ผ ํ๋ ์๋ฐ์ ์์ด์ ๊ณ์ํ ์ผ๊ทผ ์์์ ๊ฝค ๊ณ ์ํ์๋๋ฐ, ์ด์ ๋ AWS ๊ณต๋ถ๋ฅผ ๋ณํํ๊ฒ ๋๋ฉด์ ์์ ์ ๋นํด ๋ง์ด ๋ฐ์ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
ํ์ง๋ง ๊ธ์ ์ฐ๋ ์ง๊ธ์์๋ ์์ง AWS์ ๊ดํ ์ง์์ด๋ ํ์ต๋์ด ๊ทธ๋ฆฌ ๋ง๋ค๊ณ ์๊ฐํ์ง ์์ ์๋ชป๋ ์ ๋ณด๋ฅผ ์ ์์ ์๋ ์์ต๋๋ค.
ํด๋น ๊ธ์์๋ ๊ณผ๊ฑฐ ์ธํ๋ผ ๊ตฌ์กฐ์ ํ์ฌ ์ธํ๋ผ ๊ตฌ์กฐ๋ฅผ ๋น๊ตํ๊ณ , ๊ธฐ์กด์ ์ด๋ค ๋ฌธ์ ๊ฐ ์์๊ณ , ์ด๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ๋์ง ์์ฑํ์ง๋ง ์ด๋ฒ์ ์ธํ๋ผ ๊ตฌ์กฐ ๊ฐ์ ๊ธฐ๋ฅผ ๋ธ๋ก๊ทธ์ ์ฌ๋ฆฌ๊ธฐ ์ํด ์ถ๊ฐ๋ก ๊ด๋ จ ์ ๋ณด๋ฅผ ๋ ์ฐพ์๋ดค๋๋ฐ, ๊ทธ๋๋ ํ๋ฆฐ ์ ๋ณด๊ฐ ์์ ์ ์์ด์ ์ง์ ํด ์ฃผ์๋ฉด ์ ๋ง ๊ฐ์ฌํ ๊ฒ ๊ฐ์ต๋๋ค.
๋ค์ ํฌ์คํธ์์๋ ์ค์ ๋ก ์ธํ๋ผ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํ๋ ๊ณผ์ ์ ๊ตฌ์ฒด์ ์ผ๋ก ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค.
์ถ์ฒ
-
HashiCorp - Build AWS Infrastructure with Terraform
https://developer.hashicorp.com/terraform/tutorials/aws-get-started/aws-build
-
์ธํ๋ฐ - ์ธํ์ฝ 2023