1. ์ง๊ธ๊น์ง ์งํํ ๊ณผ์ ์ ๋ฆฌ : ๋ฌด์์ ํ์ง?
1.1 ์๊ฒฉ ์๋ฒ ์ค์ ๋ฐ ํ๊ฒฝ ๊ตฌ์ฑ (EC2 + JAVA + Gradle)
- EC2 ์ธ์คํด์ค๋ฅผ ๋์ฐ๊ณ , ์๊ฒฉ์ผ๋ก ์ ์ํ์ฌ ์๋ฒ ํ๊ฒฝ์ ๊ตฌ์ฑํจ.
- Java17, Gradle, Git, Node.js ๋ฑ์ ์ค์นํจ.
- git clone์ ํตํด Spring Boot ํ๋ก์ ํธ๋ฅผ ์๋ฒ์ ๋ณต์ .
* ์ค์ ์๋น์ค๊ฐ ๋ฐฐํฌ๋ ์๋ฒ์ ๋์ผํ ํ๊ฒฝ์์ ๊ฐ๋ฐ ๋ฐ ํ ์คํธํ ์ ์๋ ์ค๋น๋ฅผ ํ์๋ค.
2. ๋น๋ ์์คํ (Gradle) ์ค์ ๋ฐ ๋ฌธ์ ํด๊ฒฐ
- Java toolchain ์๋ฌ ํด๊ฒฐ (Gradle์ด ์๋ฐ๋ฅผ ๋ชป ์ฐพ๋ ๋ฌธ์ )
- Gradle ์บ์ ๋ฌธ์ ํด๊ฒฐ (--refresh-dependencies)
- ๋น๋ ์คํฌ๋ฆฝํธ(build.gradle)๊ตฌ์กฐ ์ ๊ฒ
* ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋(ํจํค์ง)ํ๊ณ ์คํ ๊ฐ๋ฅํ ํํ๋ก ๋ง๋๋ ์๋ํ ์์คํ ์ ์ธํ ํ ๊ฒ.
3. SSH์ ์ ๋ฌธ์ ํด๊ฒฐ ๋ฐ ์ธ์คํด์ค ๋ณด์ ์ค์ ์ ๊ฒ
- ๋ณด์ ๊ทธ๋ฃน ์ธ๋ฐ์ด๋ ๊ท์น ํ์ธ(SSH ํฌํธ 22 ์ด๋ฆผ)
- ์ธ์คํด์ค ์ค์ง ํ ์ฌ๋ถํ , ์ฌ์์ ์ ์คํจ ์์ธ ์ ๊ฒ
- ์ธ์คํด์ค ์ฐ๊ฒฐ ์คํจ์ ๋๋นํ EBS ์ค๋ ์ท์ด๋ ๋ณต์ ์ ๋ต๊น์ง ๊ณ ๋ ค
* ์ค์ ์ด์ ์ค์ ์๋ฒ์ ์ฅ์ ๊ฐ ์๊ฒผ์ ๋ ํด๊ฒฐํ ์ ์๋ ๊ธฐ๋ณธ์ ์ธ ํด๋ผ์ฐ๋ ์ธํ๋ผ ์ด์ฉ ์ญ๋์ ์ตํ ๊ฒ.
์ด ๊ณผ์ ์ ์ฑ๊ณต์ํค๋ฉด ๋ฌด์์ ๊ตฌํํ ์ ์๊ฒ ๋์๋?
์ฑ๊ณต์ ์ผ๋ก ./gradlew build๊ฐ ๋๊ณ , EC2์์ java -jar ํน์ ./gradlew bootRun์ผ๋ก ์คํ์ ์ฑ๊ณตํ๋ฉด ๋ค์ ๊ธฐ๋ฅ์ ์ง์ ๊ตฌํ, ์ด์ํ ์ ์๋ค.
| ๊ตฌํ ๊ฐ๋ฅํ ๊ธฐ๋ฅ | ์ค๋ช |
| ๋ฐฑ์๋ API ์๋ฒ ์ด์ | Spring Boot๋ก ๋ง๋ API์๋ฒ๋ฅผ ์ค์ ํด๋ผ์ฐ๋์ ๋ฐฐํฌ ๊ฐ๋ฅํ๋ค. |
| ์น์ฌ์ดํธ or ์น์ฑ ๋ฐฑ์๋ ์ด์ | React, Vue ๋ฑ๊ณผ ์ฐ๋๋๋ REST API ์ ๊ณต ๊ฐ๋ฅ |
| ์ค์๊ฐ ํ ์คํธ ๋ฐ ๋ชจ๋ํฐ๋ง | EC2์์ logํ์ธ, ์๋ฌ ์ถ์ , ํ๋ก์ธ์ค ๋ชจ๋ํฐ๋ง ๊ฐ๋ฅ |
| ํด๋ผ์ฐ๋ ๋ณด์ ์ค์ ์ ์ด | AWS ๋ณด์ ๊ทธ๋ฃน, SSH, ํฌํธ ๊ฐ๋ฐฉ ๋ฑ ์ธํ๋ผ ๋ณด์ ๊ตฌ์ฑ ๊ฐ๋ฅ |
| CI/CD ํ์ดํ๋ผ์ธ ๊ธฐ๋ฐ ์ค๋น | GitHub Actions -> Gradle ๋น๋ -> EC2 ๋ฐฐํฌ ์๋ํ๋ก ํ์ฅ ๊ฐ๋ฅ |
์ด ๊ณผ์ ์ ์ค๋ฌด์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง์ ๋ฐฐํฌํ๊ณ ์ด์ํ๋๋ฐ ๊ธฐ๋ณธ ํ์์ด๋ค.
'๐ฐ๐ท ํ๊ตญ์ด (Korean) > AWS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [3] ๋ฆฌ์ (Region) ์ค์ ํ๊ธฐ (0) | 2025.06.10 |
|---|---|
| [2] EC2(Elastic Compute Cloud)๋? (0) | 2025.06.10 |
| [1] ๋ฐฐํฌ (Deployment)๋? (0) | 2025.06.10 |
| EC2 + Gradle ๋ฐฐํฌ๋ฅผ ํ๋ฉฐ ์ตํ ๋ด์ฉ๋ค ์ ๋ฆฌ (2) | 2025.06.09 |
| AWS EC2์์ Gradle ๋น๋ ์คํจ ๋ฐ ์ธ์คํด์ค ์ฐ๊ฒฐ ์คํจ ๋ฌธ์ ํด๊ฒฐ ๊ณผ์ (2) | 2025.06.09 |