hwangsoojin 2025. 11. 19. 15:56

4주차 회고

작성일: 2025.11.19
학습 주제: 3-Tier 아키텍처 이해 / Database 구조 & 실습 / Object Storage & Media 서비스 / 보안 상품(App Safer, File Safer, Web Security Checker, System Security Checker, Cloud Security Watcher)
실습 환경: NCP Console + PuTTY
작성자: 황수진_컴퓨터과학부


KEEP (유지할 점)

새로운 개념을 직접 실습으로 검증하며 이해한 태도

이번 주차에서 가장 좋았던 점은, 새로운 개념을 배웠을 때

그것을 단순히 "이론적으로 이해했다"로 끝내지 않고,

직접 실습으로 검증하며 진짜 내 것으로 만든 태도였다.

 

특히 WEB–WAS–DB로 나뉜 3-Tier 구조에서

"WAS는 비공인 IP를 가진 내부망 서버이고, 외부에서 직접 접근할 수 없다"는 부분을

실제로 경험해보기 위해서 내 로컬에서 직접 간단한 백엔드 코드를 작성하고

WAS 서버에서 이 백엔드 서버를 실행시켜보는 실습을 진행해보았다.

직접 하나하나 단계를 풀면서 이해한 과정이 매우 인상 깊었다.

 

이번 실습에서 WAS 서버는 공인 IP가 없었기 때문에

WinSCPPuTTY로는 곧바로 서버에 접속할 수 없었다. 처음에는 “왜 안 되지?” 싶었지만,

바로 SSL VPN을 생성하고 내부망으로 들어가야 한다는 사실을 직감했다.

BIG-IP Edge Client로 VPN에 접속하자 내 컴퓨터 IP가 172.16.x.x 대역으로 바뀌었고,

그제서야 10.0.0.6이라는 WAS 비공인 IP에 WinSCP로 접속이 가능해졌다.

Spring Boot 애플리케이션을 JAR로 빌드하고,

WinSCP로 WAS 서버의 /project 디렉터리에 업로드한 뒤

PuTTY에서 직접 실행한 과정 역시 매우 의미 있었다.

 

WAS 서버에 Java 17을 설치하고, nohup java -jar ... &로 백엔드 서버를 백그라운드 실행을 하고,

마지막으로 curl http://10.0.0.6:8080/hello로 API 응답을 확인하는 일련의 과정은

단순히 "WAS가 애플리케이션을 돌린다"는 문장을 실제 경험으로 바꿔주었다.

 

API가 외부 브라우저에서는 보이지 않고, 오직 내부망에서만 호출된다는 점도

3-Tier 구조의 보안적 의미를 이해하는 데 큰 도움이 되었다.

 

특히 이번에는 내가 혼자 문제를 해결하는 과정이 많았다.
비공인 IP라서 접속 안 되는 문제 → SSL VPN 접속으로 해결
JAR 실행 오류 → Java 버전 확인 후 설치
API 외부 호출 불가 → curl로 내부망에서 동작 확인

 

이런 흐름은 단순한 기능 실습이 아니라

엔지니어로서의 사고방식을 기르는 데 매우 중요한 경험이었다고 느꼈다.

 

이번 실습 전체 과정은 단순한 백엔드 배포가 아니라,
네트워크 → 보안 → 서버 → 애플리케이션 실행까지 이어지는
3-Tier 아키텍처의 본질을 '내 손으로 증명해낸 주차'였다.

 

보다 자세한 실습 과정은 티스토리에 정리해두었다.
👉 [NCloud 1기] 클라우드 서버에 Spring Boot 백엔드 서버 올리기 (with PuTTY & WinSCP & SSL VPN)


PROBLEM (어려웠던 점)

복습 시간을 내기가 가장 어려웠던 한 주...

이번 주차는 개인적으로 가장 시간이 부족했던 한 주였다.
학교 전공 수업의 팀 프로젝트 발표가 겹쳐 있었고,

동시에 준비하던 자격증 시험 일정까지 겹치면서

정신적으로도 체력적으로도 여유가 거의 없었다.

 

평소처럼 강의 내용과 실습 흐름을 정리하고,

NCP 환경에서 직접 실습을 반복하는 방식으로 학습하고 싶었지만,

이번 주는 현실적으로 그럴 시간이 나지 않았다.

 

백엔드 코드 작성    SSL VPN 구성 → 내부망 접속

→ WinSCP로 파일 업로드 → PuTTY로 실행 → 백엔드 서버 기동 확인

 

이런 일련의 흐름 하나를 온전히 따라가는 데에도 어느 정도 여유있는 시간이 필요했지만,

다른 일정들이 밀려 있어 계속 미뤄지는 상황이었다.

이번 주의 가장 어려웠던 점은,

기술적인 문제 자체가 아니라 그 기술을 다루기 위한 시간을 확보하는 것이었다.

 

그럼에도 불구하고

학교 수업 쉬는 시간, 밥 먹기 전에 잠깐, 지하철 통학길과 같은 짧게 확보한 시간마다

VPN 접속, 빌드 파일 업로드, 백엔드 서버 실행 등을 꾸준히 시도하며 조금씩 완성해 나갔다.

 

시간을 쪼개어 쓰면서 결국엔 계획했던

전공 수업의 팀프로젝트 발표, 자격증 시험 응시, 클라우드 실습

모두 완수할 수 있었다.


TRY (개선할 점 / 시도할 것)

1) 일정에 영향받지 않고 목표한 공부를 무조건 할 수 있는 루틴 만들기

이번 주차를 지나면서, 기술을 익히는 것 못지않게 중요한 것이

지속적으로 학습할 수 있는 환경과 루틴을 만드는 일이라는 것을 절실하게 느꼈다.
특히 이번처럼 여러 일정이 한꺼번에 몰리는 시기에는, "시간이 나면 해야지"라는 접근은

결국 실습을 미루게 되고, 그만큼 학습 흐름도 끊기게 된다.

 

앞으로는 바쁜 시기에도 적어도

짧게라도 실습을 이어갈 수 있는 미니 루틴을 만들고자 한다.

 

예를 들어:

  • 학교 수업이 끝나고 바로 집 가지 않고 무조건!! 최소 20분은 중앙 도서관에서 클라우드 공부하기
  • 네이버클라우드 아카데미 토요일 수업이 끝나자마자 바로 집 가지 않고 바로 실습 과제 끝내기

2) 3-Tier 아키텍처를 배웠으면 WAS뿐만 아니라 WEB, DB까지..

이번 주에 3-Tier 아키텍처를 배웠으니

개인적으로 복습할 때는 WEB-WAS-DB로 연결되는 실습을 진행했어야 했지만

WAS라는 하나의 계층에서만 서비스를 띄워본 것이 아쉽다.

 

이번 주에 직접 WAS 내부에서 백엔드를 띄워본 경험을 기반으로,
다음 주차에는 로드밸런서 → WEB → WAS 연결같은

구조적인 부분을 좀 더 집중적으로 실습하고 싶다.

사실 5주차는 미니 팀프로젝트가 예정되어 있기 때문에 하기 싫어도 경험하게 될 운명..! 

 

특히 "내가 만든 백엔드 애플리케이션이

WEB 서버(Nginx)와 연결되어 외부에서도 호출되는 흐름"
직접 완성해보는 것이 5주차를 위한 가장 중요한 준비라고 느꼈기 때문에

 4주차 공부로서는 조금 아쉽다는 느낌이 들었다.

 

이번 주에 배운 내용을 단순한 경험에서 끝내지 않고,
다음 단계의 실습으로 자연스럽게 확장해 나가는 것이 이번 주차 이후의 목표다.


느낀 점 (Reflection)

이번 4주차는 단순히 기능을 따라 해보는 수준이 아니라,
전체 아키텍처가 어떻게 동작하는지 직접 체감한 주차였다.
특히 "WAS는 내부망에서만 동작하고, 외부와의 연결은 WEB Tier가 맡는다"는 구조가
말로만 이해되던 개념에서 실제 환경으로 자연스럽게 연결된 느낌이었다.

 

실습 과정에서 여러 문제가 있었지만,
하나씩 원인을 찾아 해결하는 과정이 오히려 도움이 많이 되었다.
비공인 IP 때문에 접속이 안 되던 문제, Java 버전이 달라 실행이 실패했던 문제,
그리고 백엔드 서버가 제대로 기동했는지 확인하는 과정까지
직접 확인하고 수정하면서 이해가 훨씬 깊어졌다.

 

일정적으로 가장 바빴던 한 주였지만,
짧게라도 시간을 내서 실습을 이어간 덕분에 흐름을 놓치지 않을 수 있었다.
덕분에 복잡한 일정 속에서도 스스로 학습을 유지할 수 있다는 자신감도 생겼다.

 

전체적으로 이번 주는
이론으로만 알고 있던 내용을 실제 환경에서 검증해보면서
조금은 ‘아키텍처가 어떻게 돌아가는지 이해하는 사람’에 가까워진 느낌이었다.


4주차에서 3-Tier의 각 구성 요소를 이해했다면,
5주차는 그 구조를 실제로 처음부터 끝까지 직접 구현하는 미니 프로젝트로 이어진다.

👉 [NCloud 1기] 5주차 회고