EC2 ์ธ์Šคํ„ด์Šค ๊ธฐ๋ณธ ์ดํ•ด

 

1. EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ์ƒ์„ฑํ•˜๊ณ  ์–ด๋–ค ์„ค์ •์„ ํ–ˆ๋‚˜?

- Amazon Linux 2023์œผ๋กœ t2.micro ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ–ˆ๊ณ , SSH ์ ‘์†์„ ์œ„ํ•ด ๋ณด์•ˆ ๊ทธ๋ฃน์— TCP 22๋ฒˆ ํฌํŠธ๋ฅผ ์ œ IP๋กœ ์—ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ธ์Šคํ„ด์Šค๋Š” ํผ๋ธ”๋ฆญ IP๋ฅผ ๊ณ ์ •ํ•˜๊ณ , ๋‚˜์ค‘์— GItHub์—์„œ Spring ํ”„๋กœ์ ํŠธ๋ฅผ clone ๋ฐ›์•„ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

2. EC2์— SSH ์ ‘์†์ด ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋‚˜?

- ๋ณด์•ˆ ๊ทธ๋ฃน ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™์—์„œ SSH ํฌํŠธ 22๊ฐ€ 0.0.0.0/0์œผ๋กœ ์—ด๋ ค ์žˆ๋Š”์ง€ ํ™•์ธํ–ˆ๊ณ , ์ธ์Šคํ„ด์Šค๊ฐ€ ์‹คํ–‰ ์ค‘์ธ์ง€ ์ƒํƒœ ํ™•์ธ ํ›„ ์žฌ๋ถ€ํŒ…๋„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ค‘์ง€ ํ›„ ์‹œ์ž‘๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๋Š” ์ƒํƒœ ๋กœ๊ทธ๋‚˜ ์‹œ์Šคํ…œ ๋กœ๊ทธ ํ™•์ธ์„ ํ†ตํ•ด ์ ‘๊ทผํ–ˆ์Šต๋‹ˆ๋‹ค.

 

 

3. EC2๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋Š” ๋ณด์•ˆ ์„ค์ •์€ ๋ฌด์—‡์ธ๊ฐ€?

- ๋ณด์•ˆ ๊ทธ๋ฃน ์„ค์ •์ž…๋‹ˆ๋‹ค. SSH ์ ‘๊ทผ์€ ๊ผญ ํŠน์ • IP๋งŒ ํ—ˆ์šฉํ•˜๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰ ์‹œ ํฌํŠธ 8080 ๋˜๋Š” 80๋งŒ ์™ธ๋ถ€์— ์—ด์–ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ํ•ญ์ƒ ์‹ ๊ฒฝ ์”๋‹ˆ๋‹ค.

 

 

4. ํผ๋ธ”๋ฆญ IP์™€ ํ”„๋ผ์ด๋น— IP์˜ ์ฐจ์ด๋ฅผ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

- ํผ๋ธ”๋ฆญ IP๋Š” ์ธํ„ฐ๋„ท์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ IP์ด๊ณ , ํ”„๋ผ์ด๋น— IP๋Š” ๋‚ด๋ถ€ ํ†ต์‹ ์šฉ์ž…๋‹ˆ๋‹ค. EC2๋Š” VPC ๋‚ด์—์„œ ํ”„๋ผ์ด๋น— IP๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ํ• ๋‹นํ•˜๊ณ , ์™ธ๋ถ€ ์ ‘๊ทผ์„ ์œ„ํ•ด ํผ๋ธ”๋ฆฟ IP๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

 

 

5. EC2์—์„œ ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ์„ธํŒ…ํ–ˆ๋‚˜์š”?

- Git์œผ๋กœ clone ํ›„ yum install ๋ช…๋ น์–ด๋กœ Java, Node.js, Git ๋“ฑ์„ ์„ค์น˜ํ–ˆ๊ณ , ./gradlew build๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค. java -version ๋“ฑ์œผ๋กœ ํ™˜๊ฒฝ ํ™•์ธ๋„ ํ•จ๊ป˜ ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

 


Gradle, Java ๋นŒ๋“œ ๋ฌธ์ œ ํ•ด๊ฒฐ

 

6. Gradle ๋นŒ๋“œ์‹œ Java toolchain ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋‚˜?

- Gradle์—์„œ Java toolchain ์„ค์ •์ด ์š”๊ตฌ๋˜์—ˆ๋Š”๋ฐ, EC2์—์„œ ์„ค์น˜๋œ Java๋ฅผ ์ œ๋Œ€๋กœ ๊ฐ์ง€ํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. toolchain ์„ค์ •์„ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜, JAVA_HOME ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ง€์ •ํ•˜์—ฌ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

 

 

7. Cannot find a Java installation ์—๋Ÿฌ์˜ ์›์ธ์€ ๋ญ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋‚˜?

- Gradle์ด ์š”๊ตฌํ•˜๋Š” toolchain ์ •๋ณด์™€ EC2์— ์„ค์น˜๋œ JDK ๊ฒฝ๋กœ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜, JAVA_HOME์ด ์„ค์ •๋˜์ง€ ์•Š์€ ๊ฒƒ์ด ์›์ธ์ด์—ˆ์Šต๋‹ˆ๋‹ค. 

 

 

8. --refresh-dependencies ์˜ต์…˜์€ ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋‚˜?

- ๋กœ์ปฌ Gradle ์บ์‹œ๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ๋ชจ๋“  ์˜์กด์„ฑ์„ ์›๊ฒฉ ์ €์žฅ์†Œ์— ๋‹ค์‹œ ๋ฐ›๋Š” ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค. ์ข…์†์„ฑ ์˜ค๋ฅ˜๋‚˜ ์บ์‹œ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

 

9. build.gradle ํŒŒ์ผ์—์„œ ์–ด๋–ค ์˜์กด์„ฑ์„ ์„ค์ •ํ–ˆ๊ณ  ๊ทธ ์ด์œ ๋Š”?

- Spring Boot starter-web, JPA, JDBC, Thymeleaf, Lombok ๋“ฑ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ REST API ๊ตฌ์„ฑ, DB ์—ฐ๋™, ํ…œํ”Œ๋ฆฟ ์—”์ง„, ์ฝ”๋“œ ๊ฐ„๊ฒฐํ™”๋ฅผ ์œ„ํ•ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

10. ./gradlew build์™€ boot.Jar์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€?

- build๋Š” ์ „์ฒด ๋นŒ๋“œ ๊ณผ์ •์„ ํฌํ•จํ•˜๊ณ , bootJar๋Š” ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ Spring Boot ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ JAR ํŒŒ์ผ์„ ๋งŒ๋“œ๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค. 

 


์‹ค์ œ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ (์—๋Ÿฌ/๋ฐฐํฌ ๊ด€๋ จ)

 

11. 10๋ถ„ ์ด์ƒ ๋นŒ๋“œ๊ฐ€ ๋ฉˆ์ถ˜ ์ ์ด ์žˆ์—ˆ์ฃ ? ์›์ธ์€ ๋ญ์˜€๊ณ  ์–ด๋–ป๊ฒŒ ๋Œ€์‘ํ–ˆ๋‚˜์š”?

- Gradle ์˜์กด์„ฑ ํ•ด์„์ด ์˜ค๋ž˜ ๊ฑธ๋ ค ๋ฌดํ•œ ๋Œ€๊ธฐ์— ๋น ์กŒ์Šต๋‹ˆ๋‹ค. --no-daemon์œผ๋กœ ์‹คํ–‰ํ•˜๊ณ , ๋„คํŠธ์›Œํฌ๋‚˜ ์บ์‹œ ๋ฌธ์ œ๋ฅผ ํ™•์ธํ•˜๋ฉฐ ์ˆ˜๋™ ์ข…๋ฃŒํ•˜๊ณ  ์žฌ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. 

 

12. EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ์žฌ๋ถ€ํŒ… ํ›„ ์‹œ์ž‘๋˜์ง€ ์•Š์•˜์„ ๋•Œ ์–ด๋–ป๊ฒŒ ๋ถ„์„ํ–ˆ๋‚˜?

- ์ธ์Šคํ„ด์Šค ์ƒํƒœ๊ฐ€ ๋น„์ •์ƒ์ ์œผ๋กœ ์ค‘์ง€๋˜๋ฉด์„œ ์‹œ์ž‘ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”๋ฐ, ์ด๋Š” ๋‚ด๋ถ€ ๋””์Šคํฌ ์†์ƒ ๋˜๋Š” ์ปค๋„ ํŒจ๋‹‰ ๋•Œ๋ฌธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

์ธ์Šคํ„ด์Šค ์ƒํƒœ ๋กœ๊ทธ ํ™•์ธ๊ณผ ์žฌ์ƒ์„ฑ๋„ ๊ณ ๋ คํ–ˆ์Šต๋‹ˆ๋‹ค. 

 

13. Gradle์—์„œ Java toolchain ์„ค์ •์„ ์ฃผ์„ ์ฒ˜๋ฆฌํ•œ ์ด์œ ๋Š”?

- Gradle์ด ์ž๋™์œผ๋กœ ์ ์ ˆํ•œ Java ์„ค์น˜๋ฅผ ๋ชป ์ฐพ์„ ๊ฒฝ์šฐ ๋นŒ๋“œ๊ฐ€ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. ์ˆ˜๋™์œผ๋กœ ์„ค์น˜ํ•œ Java๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด toolchain ๋Œ€์‹  ๊ธฐ๋ณธ ์„ค์ •์„ ์“ฐ๋Š” ๊ฒŒ ์•ˆ์ •์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. 

 

14. ๋นŒ๋“œ๋ฅผ ์œ„ํ•œ ์ตœ์†Œํ•œ์˜ ํ™˜๊ฒฝ์„ ์–ด๋–ป๊ฒŒ ์„ธํŒ…ํ–ˆ๋‚˜?

- Java 17, Gradle, Git, Node.js ์„ค์น˜์™€ git clone, gradlew build, java -jar๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

 

15. Mac์—์„œ๋Š” Ctrl+C๊ฐ€ ์•ˆ๋ผ์„œ ์–ด๋–ป๊ฒŒ ๊ฐ•์ œ ์ข…๋ฃŒํ–ˆ๋‚˜?

- EC2์—์„œ ์›น ์—ฐ๊ฒฐ๋กœ ์‹คํ–‰ํ•  ๊ฒฝ์šฐ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ช…๋ น์–ด ์ž…๋ ฅ ์ค‘๋‹จ์ด ์–ด๋ ค์šฐ๋ฏ€๋กœ, ์ธ์Šคํ„ด์Šค๋ฅผ ์ง์ ‘ ์žฌ๋ถ€ํŒ…ํ•˜๊ฑฐ๋‚˜ ๋ธŒ๋ผ์šฐ์ € ํƒญ์„ ๋‹ซ์•„ SSH ์—ฐ๊ฒฐ์„ ๋Š์—ˆ์Šต๋‹ˆ๋‹ค. 

 

 

 


์‹ค๋ฌด ์ ์šฉ ๊ด€์  / DevOps ๊ด€์  ์งˆ๋ฌธ

 

16. ์ด ํ”„๋กœ์ ํŠธ๋ฅผ DevOps ๊ด€์ ์—์„œ ๋ณธ๋‹ค๋ฉด ์–ด๋–ค ์ค€๋น„ ๋‹จ๊ณ„์ธ๊ฐ€?

- ํ”„๋กœ์ ํŠธ๋ฅผ ํด๋ผ์šฐ๋“œ์—์„œ ์ง์ ‘ ๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๊ฒฝํ—˜์€ ๋ฐฐํฌ ์ž๋™ํ™”์™€ ์ธํ”„๋ผ ๊ตฌ์„ฑ์˜ ์ถœ๋ฐœ์ ์ž…๋‹ˆ๋‹ค. CI/CD๋กœ ํ™•์žฅํ•˜๊ธฐ ์œ„ํ•œ ์‚ฌ์ „ ์ค€๋น„๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

 

 

17. ์•ž์œผ๋กœ ์–ด๋–ค ์‹์œผ๋กœ ์ด ๋ฐฐํฌ๋ฅผ ์ž๋™ํ™”ํ•˜๊ณ  ์‹ถ๋‚˜?

- GitHub Actions์—์„œ push ์‹œ Gradle ๋นŒ๋“œ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๊ณ , EC2๋กœ ์ž๋™ ๋ฐฐํฌํ•˜๊ฑฐ๋‚˜, AWS CodeDeply์™€ ์—ฐ๊ฒฐํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. 

 

 

18. EC2๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๋ฐฐํฌ ๋ฐฉ์‹์œผ๋กœ ์ „ํ™˜ํ•œ๋‹ค๋ฉด ์–ด๋–ค ๊ธฐ์ˆ ์„ ๊ณ ๋ คํ•˜๋‚˜?

Docker๋กœ ์ด๋ฏธ์ง€ํ™”ํ•˜์—ฌ ECS ๋˜๋Š” EKS๋กœ ์ „ํ™˜ํ•˜๊ฑฐ๋‚˜, AWS Elastic Beanstalk์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฐฐํฌ ์ž๋™ํ™”ํ•˜๋Š” ๋ฐฉ์‹๋„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

19. ์ด ๊ฒฝํ—˜์ด ๊ฐœ๋ฐœ์ž๋กœ์„œ ์–ด๋–ค ์—ญ๋Ÿ‰ ํ–ฅ์ƒ์œผ๋กœ ์ด์–ด์กŒ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋‚˜?

๋‹จ์ˆœํžˆ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋„˜์–ด, ์‹ค์ œ ์‹คํ–‰ ํ™˜๊ฒฝ ๊ตฌ์„ฑ, ๋ฌธ์ œ ํ•ด๊ฒฐ, ๋กœ๊ทธ ๋ถ„์„, ๋ณด์•ˆ ์„ค์ •๊นŒ์ง€ ์ „์ฒด ํ๋ฆ„์„ ์ง์ ‘ ๊ฒฝํ—˜ํ•˜๋ฉฐ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋์Šต๋‹ˆ๋‹ค.

 

 

20. ๋น„์ „๊ณต์ž๋กœ์„œ ์ด๋Ÿฐ ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ ๊ฒฝํ—˜์„ ์™œ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋‚˜?

๋‹จ์ˆœํžˆ ์ฝ”๋”ฉ์„ ๋„˜์–ด์„œ ์„œ๋น„์Šค๊ฐ€ '๋Œ์•„๊ฐ€๋Š” ์ „์ฒด ํ๋ฆ„'์„ ์ดํ•ดํ•˜๊ณ  ์‹ค์Šตํ•ด๋ณด๋Š” ๊ฒฝํ—˜์ด ๊ฐœ๋ฐœ์ž๋กœ์„œ ์‹ค๋ฌด ์ ์‘๋ ฅ์„ ํ‚ค์›Œ์ค€๋‹ค๊ณ  ๋А๊ผˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. 


์ด๋ฒˆ ๊ฒฝํ—˜์€ ๋‹จ์ˆœํ•œ ํ”„๋กœ์ ํŠธ ์‹คํ–‰์„ ๋„˜์–ด์„œ ์‹ค์ œ ์„œ๋น„์Šค ์šด์˜ ํ™˜๊ฒฝ์„ ์ง์ ‘ ๊ฒฝํ—˜ํ•ด๋ณธ ์†Œ์ค‘ํ•œ ์‹œ๊ฐ„์ด์˜€๋‹ค.
๊ฐœ๋ฐœ ๋ฟ ์•„๋‹ˆ๋ผ, ๋ฐฐํฌ, ์ธํ”„๋ผ ์„ค์ •, ๋ฌธ์ œ ํ•ด๊ฒฐ๊นŒ์ง€ ์Šค์Šค๋กœ ํ•ด๋ณด๋ฉฐ ๊ฐœ๋ฐœ์ž๋ผ๋Š” ์ง์—…์˜ ์ „์ฒด ์ŠคํŽ™ํŠธ๋Ÿผ์„ ์ฒดํ—˜ํ•ด๋ณด์•˜๋‹ค. 

+ Recent posts