DevOps3 AWS 컨테이너 서비스 3-Tier w/테라폼 & CI/CD 구성하기 - (3) Terraform으로 AWS 아키텍쳐 구성하기 (ECS) 인프라 아키텍쳐 소개프론트엔드 : S3에 정적 파일을 저장하고, CloudFront를 통해 전달백엔드 : ECS Fargate에서 컨테이너화된 Springboot 애플리케이션을 실행하고 ALB로 트래픽 분산데이터베이스 : RDS for PostgreSQL 사용 주요 특징루트 도메인은 keembucha.shopTerraform 상태 파일 (terraform.tfstate)을 저장하기 위해 S3 버킷, DynamoDB을 사용했다.DynamoDB의 Lock 기능을 통해 여러명이 동시에 Terraform 실행 시 상태 파일 충돌을 방지할 수 있다.VPC 구성은 Public, Private, Database 서브넷으로 분리했다. 특히 Database 서브넷은 variables.tf에서 해당 CIDR 목록을 선언.. 2025. 6. 6. AWS 컨테이너 서비스 3-Tier w/테라폼 & CI/CD 구성하기 - (2) 데모 애플리케이션 개발 본격적인 아키텍쳐 구축에 앞서 간단한 방문자 기록 애플리케이션을 개발할 것이다.데모 애플리케이션 구조 개요프론트엔드 : React (정적 페이지) → S3 + CloudFront에 배포백엔드 : Springboot (REST API) → ECS / EKS 에 배포 백엔드 (Springboot) 애플리케이션 개발API/health : 헬스 체크/api/visit : POST 요청으로 이름 + 방문 시간 저장/api/visits : GET 요청으로 전체 방문기록 반환Spring Initializer 설정하기https://start.spring.io/현재 로컬 환경에 Java 21 버전이 설치되어있어 21버전으로 맞춰서 생성해줬다.코드 구조build.gradledependencies { ... // JP.. 2025. 6. 2. AWS 컨테이너 서비스 3-Tier w/테라폼 & CI/CD 구성하기 - (1) 개요 및 상세 아키텍쳐 개요AWS 환경의 대표적인 컨테이너 서비스인 ECS와 EKS 기반의 3 -Tier 아키텍쳐를 구축하고 CI/CD 자동화 파이프라인을 구성해 각 환경을 비교해볼 예정이다.공통 구성요소Terraform 활용 IaC 기반 인프라 구성Spring Boot 애플리케이션은 JAR + Docker 방식으로 패키징내장 tomcat을 사용해서 별도의 WAS 없이 자체적으로 구동된다.CI/CD는 GitHub Actions, Jenkins, ArgoCD, CodeDeploy 등 상황에 맞게 구성Github 레파지토리 : 백엔드, 프론트엔드 프로젝트 및 Terraform 코드 저장소로 활용NAT : 프라이빗 서브넷에 위치한 리소스가 인터넷 접근이 필요할 때의 경로 상세 아키텍쳐1. AWS ECS + Fargate 기반 3-T.. 2025. 5. 30. 이전 1 다음