반응형

aws 2

이미지 리소스를 S3 + Cloudflare 캐시로 분리하여 비용을 줄인 경험

개인 운영 서비스를 운영하면서 체감됐던 문제 중 하나는 이미지 트래픽에 대한 요청 비용이었다 서비스 특성상 이미지가 한 번 업로드되어 사용될 때 거의 변하지 않는 정적 리소스로 사용되는데 구조상 API 요청을 통해 매번 S3의 URL을 응답받아 사용하는 방식이었다 그러다 보니 자연스럽게 이런 의문이 들기 시작했다변하지 않는 정적 리소스를 매번 새로 요청할 필요가 있을까? 계속 이렇게 매번 요청을 하면 요청 횟수와 그에 따른 데이터 요청 비용이 사용자가 늘어남에 따라 비례해서 증가할거라고 예상했습니다 실제로 혼자 서비스를 1달간 사용했을 때 이미지의 요청 수는 AWS 프리티어의 기준 2만 요청 정도 나왔다(프리티어는 2만 요청수까지 무료로 제공한다) 이러한 구조는 실제로 사용자가 늘어나면 비용과 성능 모두..

[CI/CD] GitHub Actions와 Docker로 AWS EC2서버 CI/CD 구축 (우분투 서버 세팅 및 RDS 연결)

이전 포스팅에서 CI/CD 구축을 위해서 AWS 프리티어 EC2 서버를 만들어서 SSH로 접속까지 진행했습니다 이번에는 EC2 서버에 필요한 세팅과 RDS를 만들어서 인스턴스와 연동해 보겠습니다 CI/CD 배포 순서 코드 수정 후 GitHub에 push (master 브랜치)GitHub Actions 작동 → Gradle로 빌드 (.jar 생성)Docker 이미지 생성 → DockerHub에 pushGitHub Actions가 EC2에 SSH로 접속EC2에서 deploy.sh 실행 → Docker 이미지 pull & 컨테이너 재시작Spring Boot 앱이 EC2에서 실행됨 (8080 포트)Github Actions Docker,Docker Hub를 이용해서 AWS EC2 서버에 자동으로 빌드 후 배포하..

DevOps 2025.05.09
반응형