[AWS를 이용한 시스템 설계 및 구축과 배포] 1. 단일 서버 배포 [ Spring boot + Thymeleaf + MySQL 배포 ] (영상 설명 한 번 읽어주세요)
- 단일 서버 배포 목표: Spring Boot + Thymeleaf + MySQL 웹 애플리케이션을 AWS 단일 서버에 배포하는 과정을 상세히 설명합니다. 🚀
- 기술 스택: Spring Boot 3 (Java 21), Thymeleaf, MySQL 8을 사용하며, 프론트엔드와 백엔드가 통합된 형태로 배포됩니다. 💻
- 단일 서버 아키텍처 장단점: 구축 및 운영 단순성, 비용 효율성, 내부 통신 지연 최소화가 장점이나, 단일 장애 지점, 확장성 제약, 보안 및 백업 복잡성이 단점으로 지적됩니다. ⚖️
- AWS 인프라 구축: VPC, 인터넷 게이트웨이, 서브넷, 라우팅 테이블, 보안 그룹, EC2 인스턴스 생성 등 AWS 핵심 서비스 설정 과정을 실무적인 네이밍 규칙과 함께 안내합니다. 🏗️
- EC2 인스턴스 유형 선택: Java 기반 단일 서버 배포 시 T2 Micro는 성능 부족으로 부적합하며, 최소 T2 Medium (2 CPU) 이상을 권장합니다. 💡
- 보안 그룹 설정: SSH (22번 포트)와 Spring Boot 애플리케이션 포트 (8080번)를 외부에서 접근 가능하도록 설정합니다. 🔒
- EC2 환경 설정:
apt 업데이트, Git 클론, OpenJDK 21 설치 및 JAVA_HOME 환경 변수 설정 과정을 포함합니다. 🛠️
- MySQL 설치 및 설정: MySQL 8 서버 설치, 루트 비밀번호 변경,
single_server 데이터베이스 생성, prd_user 생성 및 localhost 접근 권한 부여 등 데이터베이스 설정을 다룹니다. 🗄️
- 애플리케이션 배포:
application.properties 파일에 DB 연결 정보를 설정하고, Gradle을 이용해 Spring Boot 애플리케이션을 빌드한 후 JAR 파일을 실행하여 배포합니다. 📦
- 배포 확인 및 한계점: 퍼블릭 DNS와 8080 포트를 통해 웹 애플리케이션 접근을 확인하며, 터미널 종료 시 애플리케이션도 종료되는 현재 배포 방식의 한계점을 언급합니다. ⚠️
데브허브 | DEVHUB | [AWS를 이용한 시스템 설계 및 구축과 배포] 1. 단일 서버 배포 [ Spring boot + Thymeleaf + MySQL 배포 ] (영상 설명 한 번 읽어주세요)