1. ํด๋ผ์ฐ๋ ์๋น์ค๋ก ์ด์ ํ๊ฒ ๋ ๊ณ๊ธฐ
ํ์ฌ ๊ต๋ด ์๋ฒ์ค์ KIOSEK ์๋น์ค๊ฐ On-Premise ํ๊ฒฝ์ผ๋ก ๋ฐฐํฌ๋์์๊ณ ,
์ด์ ์๋ ํ๋ก ํธ ๊ฐ๋ฐ์์์ ์ง์์ ์ธ ํ์
์ ์ํ ๊ฐ๋ฐ ์๋ฒ๋ ํ์ํ ๋๋ง๋ค ๋ด ๋
ธํธ๋ถ์์ ํ์ด์ ํฌํธํฌ์๋ฉ ํด์ฃผ๋ ๋ฐฉ์์ผ๋ก ํ์๋ค.
ํด๋น ๋ฐฉ์์ ๋๋ฌด๋๋ ๋นํจ์จ์ ์ด์์ง๋ง, ๊ฐ์ฉํ ๋ฌผ๋ฆฌ ์๋ฒ๊ฐ ์์๊ณ ์ฌ์ค ํ๊ฒฝ์ ํ๋ ๋ ๊ตฌ์ถํ๋ค๋๊ฒ ๊ท์ฐฎ์ ์ ๋ ์์๋ค.
ํ์ง๋ง ํ๊ณ๋ฅผ ๋๊ผ๊ณ , ์ด๋ฒ ๊ธฐํ์ ๊ฐ๋ฐ ์๋ฒ๋ฅผ AWS ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ๊ตฌ์ถํด์ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์๊ฒ IAM ๊ณ์ ์ ํ ๋นํ๊ณ ํ์ํ ๋๋ง๋ค ์๋ฒ๋ฅผ ๊ป๋ค ์ผค ์ ์๊ฒ ํ ์๊ฐ์ผ๋ก ๊ตฌ์ถํ๊ฒ ๋์๋ค.
2. ์ฌ์ฉํ AWS ์์ ์ ํ๊ธฐ
1. ํค์ค์คํฌ ๋ฐฑ์๋ ์ดํ๋ฆฌ์ผ์ด์ ๊ณผ NGINX ์น์๋ฒ๋ฅผ ์ด์ ํ EC2 ์ธ์คํด์ค๊ฐ ๋จผ์ ํ์ํ๋ค.
ํด๋น ์๊ฐ๋น ์๊ธํ๋ฅผ ๋ณด์์ ๋ t2.medium์ ์ฌ์ฉํ์ ๋ ํ๋ฌ์ 43.2๋ฌ๋ฌ ์ ๋๊ฐ ๋ถ๊ฐ๋ ๊ฒ์ผ๋ก ์์๋์๋ค.
์ถํ์ ๋ฐฐํฌ์๋ํ๋ฅผ Jenkins๋ก ๊ตฌํํ ์์ ์ธ๋ฐ ํด๋น ์์
์ t2.micro์์๋ ๋ง์ด ํ๋ค ๊ฒ์ผ๋ก ์์๋์ด t2.medium์ ์ ํํ์๋ค.
ํ์ง๋ง, ๊ณ์ ์๋ฒ๋ฅผ ์ผ๋ ๊ฒ์ ์๋๊ณ ํ์ํ ๋๋ง ์ผ๋ ๊ฒ์ด๋ฏ๋ก ๋ง์ด ๋์๋ ๋ง์์ ๋๋ก ์๊ฐํ๋ค.
2. RDS๋ ๋น์ฉ์ ์ธ๋ฉด์ ๊ณ ๋ คํ์ ๋๋ EC2์ ์ง์ ๊ตฌ์ถํ๋๊ฒ ๋ ์ ๋ ดํ ๊ฒ์ผ๋ก ์์๋์์ง๋ง, ์ฐ์ ํ๋ฆฌํฐ์ด๋ฅผ ์ฌ์ฉํด๋ณด๊ณ ์ถํ์ ํ์์๋ค๊ณ ์๊ฐ๋๋ฉด EC2๋ก ์ฎ๊ธฐ๊ธฐ๋ก ํ๋ค. (RDS๋ ๊ตณ์ด ์ฌ์ฉํ ์ด์ ๊ฐ ์์๊น ์ถ๊ธด ํ๋ค..)
3. ECR์ ํตํด KIOSEK์ Docker Image๋ฅผ Privateํ๊ฒ ๊ด๋ฆฌํ๊ธฐ๋ก ํ๋ค.
Docker Hub๋ฅผ ์ด์ฉํ์ฌ๋ ๋์๊ฒ ์ง๋ง, Docker Hub์ rate limit์ ๋๋ฌํ๋ฉด ์ด๋ฏธ์ง๋ฅผ ํ ๋ฐ๋ ๊ฒ์ ์คํจํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค๊ณ ํ์ฌ
๊ตณ์ด ์ํ์ ๊ฐ์ํ์ง ์๊ณ ECR์ ์ด์ฉํ๊ธฐ๋ก ํ๋ค.
ํ์ฌ ๋ด ์ํฉ์์๋ ECR ํ๋ฆฌํฐ์ด๋ง ์ฌ์ฉํด๋ ์ถฉ๋ถํ๊ณ ๋น์ฉ๋ ๊ฑฐ์ ๋์ค์ง ์๋ ํธ์ด์ด์ ์ ํํ๊ฒ ๋์๋ค.
3. ์ ์ฒด์ ์ธ ํด๋ผ์ฐ๋ ์๋ฒ ๊ตฌ์ฑ๋
EC2์์ OS๋ Ubuntu 20.04LTS๋ฅผ ์ด์ฉํ์๋ค.
์ธ์คํด์ค ๋ด๋ถ์์๋ ๋์ปค๋ฅผ ์ด์ฉํ์ฌ Nginx, Spring Boot, Prometheus, Grafana, Redis๋ฅผ ๊ตฌ์ถํ์๋ค.
RDB๋ AWS RDS๋ฅผ ์ด์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
๊ณผ ์ฐ๊ฒฐํด์ฃผ์๋ค.
๋ด๋ถ์์ Docker compose๋ฅผ ์ด์ฉํ์ฌ ํ๋ฒ์ ์ปจํ ์ด๋๋ฅผ ๊ด๋ฆฌํ๋๋ก ๊ตฌ์ฑํ์๋ค.
์ถํ์ Jenkins๋ฅผ ์ด์ฉํ์ฌ ๋ฐฐํฌ ์๋ํ๊น์ง ๊ตฌํํ ์์ ์ด๊ธฐ์ ํฌํจํ์ฌ ๊ตฌ์ฑํด๋ดค๋ค.
4. ํ๊ธฐ
EC2์ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฐฐํฌํ๊ณ ํ๊ฒฝ์ ๊ตฌ์ฑํ๋ ๊ฒ์ ๊ธฐ์กด์ ์ด์์๋ฒ๋ฅผ ๊ตฌ์ถํ๋ ๊ฒฝํ์ด ์์๊ธฐ์ ์ด๋ ค์ ์์ด ํ ์ ์์๋ค.
AWS ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ์๊ธํ๋ฅผ ํ์ธํ์ฌ ํ๋ฌ์ ์ผ๋ง ์ ๋ ๋์ฌ์ง๋ฅผ ๋ฏธ๋ฆฌ ๊ณ์ฐํด๋ณด๊ณ ๊ฒฐ์ ํด์ผ ํ๋ค.
AWS์ ๊ธฐ๋ฅ๋ค์ ์ฌ๋ฌ๊ฐ ์ฌ์ฉํด๋ณด๊ณ ๋๋ ์ค์ํ ๊ฒ์ ์ฌ์ฉ๋ฒ์ด ์๋๋ผ VPC๋ฅผ ์ ๊ตฌ์ถํ๊ณ ๋ณด์์ ์ ์ ์ฉํ๋ ๋ถ๋ถ์ธ ๊ฒ ๊ฐ๋ค.
์ถํ์ ํด๋น ๋คํธ์ํฌ ๋ถ๋ถ์ ๋ํด ๊ณต๋ถํ๊ณ ์ ํ๊ณ ์ถ๊ฐ์ ์ผ๋ก ECS๋ฅผ ์ด์ฉํ์ฌ ์กฐ๊ธ ๋ ํธ๋ฆฌํ๊ฒ ์ปจํ ์ด๋ ํ๊ฒฝ์ ์ฌ์ฉํ ์ ์๋๋ก ํ๊ณ ์ ํ๋ค.
์ฐธ์กฐ
https://velog.io/@jgkang/b2ceb014-dbce-4220-bf63-57da02cf205f
'๐จโ๐ฉโ๐งโ๐ฆ Project > ๐บ KIOSEK' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Index๋ฅผ ์ด์ฉํ์ฌ ์กฐํ ์ฟผ๋ฆฌ 1374% ์ฑ๋ฅ ํฅ์๊ธฐ (with MySQL) (0) | 2023.08.16 |
---|---|
๋ฐฐํฌ ์๋ํ ๊ตฌ์ถ๊ธฐ (0) | 2023.07.31 |
ํ๋ก์ ํธ ํ๊ณ (0) | 2023.07.13 |
๋จ์ ํ ์คํธ, ํตํฉ ํ ์คํธ์ ๋ํ ๋ฐฉํฅ ์ก๊ธฐ (0) | 2023.05.16 |
Custom Exception, ExceptionHandler ์ค๊ณ์์ ๋์ ์ฝ๋์ ๋ํ ๊ณ ๋ฏผ๊ณผ ๋ฆฌํฉํ ๋ง ๊ณผ์ (0) | 2023.05.16 |