2025-07-16~17 개발일지

AWS에서 온프레미스 서버로 이전 및 Docker 환경 구축

본일 DevZip 프로젝트를 AWS 클라우드 환경에서 온프레미스 서버로 성공적으로 이전하고, Docker 기반의 안정적인 운영 환경을 구축하였습니다. 이번 작업을 통해 인프라 비용 절감과 함께 더욱 세밀한 시스템 제어가 가능하게 되었습니다.

2025-07-16: Docker 환경에 MySQL 데이터베이스 통합

Docker Compose를 활용한 MySQL 8.0 컨테이너 구축

기존의 외부 데이터베이스 의존성을 제거하고 자체 관리형 데이터베이스 환경을 구축하였습니다. Docker Compose를 활용하여 MySQL 8.0 컨테이너를 구성하고, 애플리케이션과 데이터베이스 간의 효율적인 통신을 위한 네트워크 설정을 완료하였습니다.

보안 강화를 위한 환경변수 분리

데이터베이스 접속 정보와 같은 민감한 정보를 .env 파일로 분리하여 보안을 강화하였습니다. 이를 통해 소스 코드에 직접적인 데이터베이스 접속 정보가 노출되지 않도록 하였고, 환경별로 다른 설정을 적용할 수 있는 유연성을 확보하였습니다.

안정성 향상을 위한 헬스체크 및 의존성 설정

컨테이너 간의 의존성을 명확히 정의하고 헬스체크를 구현하여 시스템의 안정성을 크게 향상시켰습니다. 데이터베이스가 완전히 준비된 후에 애플리케이션이 시작되도록 설정하여 초기화 과정에서 발생할 수 있는 연결 오류를 방지하였습니다.

도커 네트워크 격리 및 볼륨 관리

컨테이너 간 통신을 위한 전용 네트워크를 구성하고, 데이터 영속성을 보장하기 위한 볼륨 마운트를 설정하였습니다. 이를 통해 데이터 손실 없이 컨테이너를 재시작할 수 있으며, 네트워크 격리를 통한 보안성도 향상시켰습니다.

MySQL Workbench 접속 지원

개발 및 관리 편의성을 위해 MySQL Workbench를 통한 외부 접속을 지원하도록 설정하였습니다. 이를 통해 데이터베이스 관리자가 직관적인 GUI 환경에서 데이터베이스를 관리할 수 있게 되었습니다.

2025-07-17: 온프레미스 서버 환경 구축 완료 및 안정화

Docker 환경 최적화 및 안정화

전일 구축한 Docker 환경을 기반으로 애플리케이션과 데이터베이스 간의 연동을 최적화하였습니다. 컨테이너 간 통신 지연을 최소화하고, 리소스 사용량을 효율적으로 관리할 수 있도록 설정을 조정하였습니다.

빌드 및 배포 프로세스 검증

온프레미스 환경에서의 빌드, 서버 오픈, 서비스 시작, 동기화 등 전체 배포 프로세스를 검증하였습니다. 각 단계별로 발생할 수 있는 문제점을 사전에 파악하고 해결하여 안정적인 배포 파이프라인을 구축하였습니다.

환경 설정 및 테스트 자동화

반복적인 테스트 작업을 자동화하여 개발 효율성을 향상시켰습니다. 빌드 성공 여부, 서비스 정상 동작 확인, 데이터베이스 연결 상태 점검 등을 자동화하여 수동 테스트에 소요되던 시간을 크게 단축하였습니다.

보안 및 백업 전략 수립

온프레미스 환경에서의 보안 강화를 위해 방화벽 설정, 접근 제어, 로그 모니터링 등을 구성하였습니다. 또한, 데이터 손실 방지를 위한 정기적인 백업 전략을 수립하고 Github Actions를 활용한 자동화 스크립트를 구현하였습니다.

성과 및 개선사항

이번 온프레미스 이전을 통해 다음과 같은 성과를 달성하였습니다:

  • 비용 절감: 클라우드 인프라 비용 대폭 감소
  • 성능 향상: 네트워크 지연 최소화로 응답 속도 개선
  • 제어력 강화: 시스템 설정 및 관리의 완전한 자율권 확보
  • 보안 강화: 내부 네트워크 기반의 보안 환경 구축
  • 안정성 향상: Docker 기반의 격리된 환경으로 시스템 안정성 증대

향후 계획

온프레미스 환경에서의 안정적인 운영을 위해 지속적인 모니터링 시스템 구축과 성능 최적화를 진행할 예정입니다. 또한, 필요에 따라 하이브리드 클라우드 환경 구축도 검토하여 시스템의 확장성과 안정성을 더욱 향상시켜 나갈 계획입니다.

아직 api 연결이 매끄럽지 않아 보완 예정입니다.

사이트는 아래의 주소로 변경되었습니다:

DevZip - 온프레미스 서버