๋ ํ๊ฒ C๋ฅผ ๋ฐฐ์ด ์ฌ๋์ ์ํ ์ ํ ์๋ฃ๊ตฌ์กฐ
C์ธ์ด๋ฅผ ์ด์ฉํด ์ฐ๊ฒฐ ๋ฆฌ์คํธ ๊ธฐ๋ฐ ์ ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ ๋๋ก ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ค๋ฃฌ ๊ฐ์ ์ ๋๋ค. ์ฐ๊ฒฐ ๋ฆฌ์คํธ๋ฅผ ๋์ด DB์ ๊ตฌ์กฐ๊น์ง ํ ๋ฒ์ ์ดํดํ ์ ์์ต๋๋ค.
์๊ฐ์ 1,132๋ช
๋์ด๋ ์ด๊ธ
์๊ฐ๊ธฐํ ๋ฌด์ ํ

์๊ฐ์ ์ฌ๋ฌ๋ถ. ์๋ ํ์ธ์. ๋๋ํ ๊ฐ๋ฐ์ ์ตํธ์ฑ์ ๋๋ค.
์ค์ค๋ก ์๊ฐํ์ ๋ ์ด ์ ๋๋ฉด ์ถฉ๋ถํ๋ค๋ ๊ฒฐ๋ก ์ ์ป์ ๋๊น์ง ๋ค๋ฌ์ด์ ๋ฐ์ด๋ธ ์ฝ๋ฉ ๊ฐ์๋ฅผ ๋ง๋ค์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ๋๋ด๊ณ ๋ณด๋ ๋ฐ์ด๋ธ ์ฝ๋ฉ ๊ฐ์๊ฐ ์๋๋ผ ์ฌ์ค ์ AWS ๊ฐ์๊ฐ ๋ ๊ฒ ๊ฐ์ต๋๋ค.

๋ง์ผ AWS๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ ๋ง์ ์๋น์ค๋ฅผ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด ์ด๋ฒ ๊ฐ์๊ฐ ์ถฉ๋ถํ ๋์์ด ๋๋ฆฌ๋ผ ์๊ฐํฉ๋๋ค. ์ค์ ๋ก ์ ๊ฐ ๋ง๋ nullnull.co.kr ์๋น์ค๋ ์๋์ ๊ฐ์ ๊ตฌ์กฐ๋ก ์๋น์ค ๋๊ณ ์์ต๋๋ค.

AWS Amplify ํ๋ก ํธ๋ GitHub๊ณผ ์ฐ๊ฒฐ๋์ด ๋ฐฐํฌ๊ฐ ์๋ํ ๋์ด ์๊ณ S3 ๋ฒํท ์คํ ๋ฆฌ์ง์ ALB๋ฅผ CloudFront๋ก ๋ฌถ์ ํ WAF๋ฅผ ๋ถ์ฌ ๋ณด์์ฑ์ ํ๋ณดํ๊ณ ์์ต๋๋ค. ๊ฐ์ ์์์ MediaConvert ์๋น์ค๋ฅผ ์ด์ฉํด ์คํธ๋ฆฌ๋ฐ ํ ์ ์๋๋ก ๋ณํํ ํ Private S3 ๋ฒํท์ ์ฌ๋ ค Pre-signed URL ๋ฐฉ์์ผ๋ก ์คํธ๋ฆฌ๋ฐ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ฐฑ์๋๋ vCPU *2 + 2GB RAM ๊ธฐ๋ฐ EC2์์ ์๋ํ๊ณ ์์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก PostgreSQL DB๋ RDS๋ก ์๋น์ค ์ค์ ๋๋ค.
์ด ๊ทธ๋ฆผ์์ MediaConvert๋ฅผ ๋บ ๋๋จธ์ง๋ฅผ ๋ชจ๋ ๋ค๋ฃจ๋ ๊ฐ์๋ผ๊ณ ๋ณด์๋ฉด ๋๊ฒ ์ต๋๋ค. ์ ๋ง๋ก ๋ณธ์ธ์ ์๋น์ค๊ฐ ํ์ํ๊ฑฐ๋ ์ ๋๋ก ์๋ํ๋ ํ๋ก๋์ ๊ธ ํฌํธํด๋ฆฌ์ค๊ฐ ํ์ํ ๋ถ๋ค์ด๋ผ๋ฉด ์ด ๊ฐ์๋ฅผ ๋์น์ง ๋ง์๋ผ ์์ ์๊ฒ ๋ง์๋๋ฆด ์ ์์ต๋๋ค!
์ด ๊ธ์ด ๊ด๊ณ ๊ฐ ์๋๋ผ ์ ๋ณด๊ฐ ๋๊ธฐ๋ฅผ ํฌ๋งํ๋ฉฐ ์์ผ๋ก๋ ์ข์ ๊ฐ์๋ก ์ธ์ฌ ์ฌ๋ฆฌ๊ฒ ์ต๋๋ค. ๋ ๊ณ ๋ง์ต๋๋ค. ๐
์๊ฐ์ ์ฌ๋ฌ๋ถ ์๋ ํ์ธ์.
๋๋ํ ๊ฐ๋ฐ์ ์ตํธ์ฑ์ ๋๋ค.๋ ์ด๋ ๊ฒ ํ ํด๊ฐ ์ ๋ฌผ์ด ๊ฐ๊ณ ์์ต๋๋ค. ๋ ๊ทธ๋ ๋ฏ ๋ค์ฌ๋ค๋ํ๋ ํ ํด๋ฅผ ๋ง๋ฌด๋ฆฌํ๊ณ ์ํด ๋ง์ ์ค๋น๋ฅผ ํฉ๋๋ค. ๋ฏธ๋๋ฅผ ์ ์๋ ์์ง๋ง ์ค๋ ์ํด์ ํฌ๋ง์ ๊ฐ๊ฒ ๋๋ ๊ฒ์ ๋ฐ๋์งํ ๊ฒ์ด๋ผ ์๊ฐํฉ๋๋ค. ๐
๊ทธ๋ฐ ์๋ฏธ์์ ์ ๊ฐ ์ด์์ค์ธ ์ ํ๋ธ ์ฑ๋(https://www.youtube.com/@nullnull_not_eq_null)์์ ๋ค์ํ ์ด๋ฒคํธ(50~100% ํ ์ธ์ฟ ํฐ)๋ฅผ ์งํํ๊ณ ์์ต๋๋ค. ์ด๋ฒคํธ ์ฐธ์ฌ ๋ฐฉ์์ ์๋ ๋งํฌ ์์์ ๋๊ธ๋ก ์ฐธ์ฌํ์๋ฉด ๋ฉ๋๋ค. ๋๊ธ์ ๋จ๊ธธ ๋ ์ ๊ฐ์ ์ค ์ํ์๋ ๊ฐ์๋ฅผ ๊ณจ๋ผ ์ฟ ํฐ์ ์์ฒญํ์๋ฉด ๋ฉ๋๋ค. ์ ๋๊ธ์ ํ์ธํ๋ฉด ๋๋๊ธ๋ก ์ฟ ํฐ์ ์ฌ๋ ค๋๋ฆฝ๋๋ค. ํ ์ธ์จ์ ๋๋ค์ ๋๋ค. ๐

์ด์ฉ๋ฉด ๋ธํ ํ ์ธ๋ณด๋ ๋ ๋์ ์ ํ์ด ๋ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์์์ ๋ณด์๊ณ ์ฐธ์ฌํ์๊ธฐ๋ฅผ ๊ถ์ฅ๋๋ฆฝ๋๋ค. ์์์ ๋ณด์๋ฉด ์ธ ๊ฐ์ง ๊ฐ์๋ฅผ ๋ฌด๋ฃ๋ก ๋ค์ ์ ์๋ ๋ฐฉ๋ฒ๋ ์ ์ ์์ผ๋ ๊ผญ ์์ฒญํ์๊ณ ์ด๋ฒคํธ๋ ์ฐธ์ฌํ์๊ธฐ ๋ฐ๋๋๋ค.
๋ ๊ณ ๋ง์ต๋๋ค. ๐
๋๋ํ ๊ฐ๋ฐ์ ์ฌ๋ฆผ์๊ฐ์ ์ฌ๋ฌ๋ถ. ์๋ ํ์ธ์.
๋๋ํ ๊ฐ๋ฐ์ ์ตํธ์ฑ์ ๋๋ค.Java ๊ฐ์๊ฐ ์๊ฒฐ๋์ผ๋ฉฐ ๊ธฐ์กด CS์ด๋ก ์ ๊ฒฐํฉํด ๋ฐฑ์๋ ๊ฐ๋ฐ์ ์ทจ์ ์ ์ํ ๋๋ํ ๊ฐ๋ฐ์์ Spring ์ฌ์ ํ์ต ์์ฑ๋ฐ ๋ก๋๋งต์ ์คํํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฒคํธ๋ ์ค๋น ํ์ต๋๋ค!

์ ์ฐฉ์ 100๋ถ์๊ฒ ๋ก๋๋งต ์ ์ฉ์ผ๋ก 50% ํ ์ธ์ด ์ ๊ณต๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธฐ์กด ๋คํธ์ํฌ ๊ธฐ์ด ๊ฐ์์์ ์ ๊ณต๋๋ ์น ์๋น์ค ๊ด๋ จ ๋ถ๋ถ์ ๋ณ๋ ๊ฐ์๋ก ๋ถ๋ฆฌํด ์คํํ์ผ๋ฉฐ ์ ์ฐฉ์ 100๋ถ๊ป๋ ๋ฌด๋ฃ๋ก ์ ๊ณต๋ฉ๋๋ค.
๐งญ๋ชจ๋ ์น ๊ฐ๋ฐ์๊ฐ ๋ด์ผ ํ ๋จ ํ ์ฅ์ ์ง๋

๊ทธ๋ฆฌ๊ณ ์ด ๊ฐ์๋ ์ ๊ฐ ์ฒ์์ผ๋ก ๋ง์ผํ ํํธ๋์ค ํ๋ก๊ทธ๋จ์ ์ฐธ์ฌํ ๊ฐ์ ์ ๋๋ค. ๋ฐ๋ผ์ ์ฌ๋ฌ๋ถ์ด ์ด ๊ฐ์๋ฅผ ํ๋ณดํ์๊ณ ๊ตฌ๋งค๋ก ์ด์ด์ง ๊ฒฝ์ฐ ํํธ๋์๊ฒ ์์ต์ด ๋ฐ์ํฉ๋๋ค. ์ธํ๋ฐ ํํธ๋์ค ๊ด๋ จ ๋ด์ฉ์ ์๋ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
์ ๋ ์ด์ ๋ถํฐ Spring ๊ฐ์๋ฅผ ์ค๋นํ ์์ ์ ๋๋ค. ์งํ ์ํฉ์ ๋ํด์๋ ์ด์์ค์ธ ์ ํ๋ธ ์ฑ๋(https://www.youtube.com/@nullnull_not_eq_null)์์ ํ์ธํ์ค ์ ์๋๋ก ๊ณต๊ฐํ๊ฒ ์ต๋๋ค.
ํญ์ ๊ฐ์ฌ๋๋ฆฌ๋ฉฐ ์์ผ๋ก๋ ์ข์ ๊ฐ์๋ก ์ธ์ฌ์ฌ๋ฆฌ๊ฒ ์ต๋๋ค. ๋ฌด์๋ณด๋ค ์ทจ์ ์ ํฌ๋งํ์๋ ๋ถ๋ค์ด ์ํ๋ ๊ฒฐ๋ก ์ ์ป์ ์ ์๋๋ก ์ต์ ์ ๋คํด ๋๊ฒ ์ต๋๋ค. ๋ ๊ณ ๋ง์ต๋๋ค. ๐
๋๋ํ ๊ฐ๋ฐ์ ์ฌ๋ฆผ






