๐ก ๋ชฉํ
AWS ์์ ์ ๊ณตํ๋ ๋ก๋ ๋ฐธ๋ฐ์ ์ ํ ์ค์ Application Load Balancer ๋ ๋ค์ด์ค๋ ํธ๋ํฝ์ ์ฌ๋ฌ ์๋ฒ๋ก ๋ถ์ฐ์์ผ ์๋น์ค์ ๊ฐ์ฉ์ฑ๊ณผ ํ์ฅ์ฑ์ ๋ณด์ฅํ๋ค. ๋ํ, HTTP/HTTPS ๊ธฐ๋ฐ ์์ฒญ์ ๋ผ์ฐํ ๋ฐ ์ ์ฐํ ํธ๋ํฝ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ๋๋ 2๊ฐ์ ์๋น์ค ์๋ฒ๋ฅผ ์ด์๊ณ , ์ด๋ฅผ ALB ๋ฅผ ํตํด ํธ๋ํฝ์ ๋ถ์ฐ์ํค๊ณ ์ ํ๋ค.
๐ฑ ๋ก๋ ๋ฐธ๋ฐ์ ์์ฑ
ํ์๋ Application Load Balancer ๋ฅผ ์์ํ๊ณ ์ ํ๊ธฐ ๋๋ฌธ์ ALB ๋ฅผ ์ ํํ๋ค.
๋คํธ์ํฌ ๋งค์นญ์ ๋ณธ์ธ์ ์ธ์คํด์ค๊ฐ ์ด๋ ค์๋ ๊ฐ์ฉ ์์ญ์ ํด๋นํ๋ ๊ฒ์ ์ ํํด์ผํ๋ค.
์๊ตฌ์ฌํญ๋๋ก 2 ๊ฐ ์ด์ ์ ํํ๋ค.
๋ด ๋ฉ์ธ ์๋ฒ ์ธ์คํด์ค ๋ ๊ฐ๊ฐ 8080 ํฌํธ๋ก ํธ๋ํฝ์ ๋ฐ๊ณ ์๊ธฐ ๋๋ฌธ์ ํ๋กํ ์ฝ ํฌํธ๋ฅผ HTTP 8080 ์ผ๋ก ๋ง์ถฐ์ค๋ค.
Spring Boot ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ actuator ๋ฅผ ์ด์ฉํด์ ์ํ๊ฒ์ฌ๋ฅผ ์งํํ๊ณ ์ ํ๋ค.
์ํ๊ฒ์ฌ ๊ฒฝ๋ก๋ฅผ /actuator/health ๋ก ๋ง์ถฐ์ฃผ์๋ค.
ํ๋ก์ ํธ์ actuator ์ถ๊ฐํ๊ธฐ
build.gradle
// Actuator
implementation 'org.springframework.boot:spring-boot-starter-actuator'
Actuator ์์กด์ฑ์ ์ถ๊ฐํด์ค๋ค.
yml ํ์ผ ์ถ๊ฐ
spring security ์์
๋ ์๋ฒ์ ์ํํ์ธ์ด Healthy ๋ก ๋จ๋ฉด์ ALB ์ค์ ์ด ์ ์์ ์ผ๋ก ์ด๋ฃจ์ด์ก๋ค.
ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ๋ก๊ทธ์ธ์ด ์๋ฃ๋์์ ๋ ํ์ ์ ๋ณด๋ฅผ log ๋ก ์ฐํ๊ฒ ํ์๋๋ฐ,
๋ ์ธ์คํด์ค์ ssh ๋ก ์ ๊ทผํด ํ์ธํด๋ณด๋ฉด ๋๋ค์ผ๋ก ๋ ์ธ์คํด์ค ์ค ํ ๊ณณ์ log ๊ฐ ์ฐํ๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค.
์์ ๊ฐ์ด DNS ์ด๋ฆ ์ ๋ณด๋ ํ์ธ ๊ฐ๋ฅํ๋ค.