호이로그
close
프로필 배경
프로필 로고

호이로그

  • 분류 전체보기 (721) N
    • 개발 (366) N
      • C언어 (0)
      • PHP (6)
      • JAVA (90) N
      • Python (10)
      • Typescript (105)
      • HTML (0)
      • DB (52)
      • NestJS (3)
      • 리눅스 (53)
      • 구글지도 (29)
      • 기타 (18)
    • IT 테크 (289)
      • 리뷰 (110)
      • AI (46)
      • 기타 (131)
    • 전자회로 & 부품 (44)
    • 디지털 행정 & 자동화 실무 가이드 (7)
    • 기타 (2)
  • 홈
  • 태그
  • 방명록

Spring Boot와 AWS S3 파일 저장하기 - 안전하고 확장 가능한 파일 스토리지 구축

웹 서비스에서 이미지, 첨부파일, 로그 파일 등을 저장해야 하는 경우가 많습니다. 이때 서버 로컬 디스크에 저장하면 용량 관리나 확장성이 떨어지므로, AWS S3(Simple Storage Service)를 활용하는 것을 추천합니다. AWS S3란?Amazon S3는 AWS에서 제공하는 객체 스토리지 서비스로, 대용량 데이터를 안정적으로 저장할 수 있습니다. 파일은 버킷(Bucket)이라는 단위에 저장되며, 각 파일은 고유한 키(Key)를 통해 접근합니다. S3는 기본적으로 높은 내구성(99.999999999%)과 가용성을 보장하며, 정적 파일 저장이나 CDN 연계에도 널리 사용됩니다. 1. AWS S3 버킷 생성AWS 콘솔 접속: S3 → Create bucket 클릭Bucket name: 예: spr..

  • format_list_bulleted 개발/JAVA
  • · 2025. 11. 13.
  • textsms

Spring Boot와 AWS RDS 연동하기 - 안정적인 클라우드 데이터베이스 환경 구축

Spring Boot 애플리케이션을 클라우드 환경으로 이전할 때 가장 많이 사용하는 데이터베이스 서비스가 바로 AWS RDS (Relational Database Service)입니다. RDS는 MySQL, PostgreSQL, MariaDB, Oracle, SQL Server 등 다양한 DB 엔진을 지원하며, 백업·모니터링·자동 복구를 AWS가 대신 관리해줍니다.Spring Boot 애플리케이션을 AWS RDS(MySQL 기준)에 연결하는 방법을 단계별로 정리하겠습니다. 1. AWS RDS 인스턴스 생성먼저 AWS 콘솔에서 RDS 인스턴스를 생성합니다.RDS 콘솔 접속: AWS Management Console → RDS → Databases → Create databaseDB 엔진 선택: MySQL ..

  • format_list_bulleted 개발/JAVA
  • · 2025. 11. 12.
  • textsms

Spring Boot와 Jenkins CI/CD 파이프라인 구축 - 자동화된 배포 환경 만들기

개발 규모가 커질수록 “코드를 수정할 때마다 수동으로 빌드하고 배포”하는 방식은 비효율적입니다. 이를 자동화하기 위한 대표적인 도구가 Jenkins이며, Spring Boot와 결합하면 빌드·테스트·배포가 자동으로 이어지는 CI/CD 파이프라인을 쉽게 구성할 수 있습니다. CI/CD란 무엇인가?CI (Continuous Integration): 개발자가 코드를 푸시할 때마다 자동으로 빌드와 테스트를 수행하여 문제를 조기에 발견CD (Continuous Deployment): 빌드가 성공하면 자동으로 스테이징 또는 프로덕션 서버에 배포즉, Jenkins를 이용하면 “코드 → 테스트 → 빌드 → 배포”의 전체 과정을 자동화할 수 있습니다. 1. Jenkins 환경 준비1-1. Docker로 Jenkins ..

  • format_list_bulleted 개발/JAVA
  • · 2025. 11. 11.
  • textsms

Spring Boot + Kubernetes 배포하기 - 컨테이너 오케스트레이션으로 확장성 확보

Docker를 사용하면 애플리케이션을 컨테이너로 패키징할 수 있지만, 여러 대의 서버와 수많은 컨테이너를 관리하기에는 한계가 있습니다. 이때 등장하는 것이 Kubernetes (쿠버네티스)입니다. Kubernetes란?Kubernetes는 Google이 개발하고 CNCF가 관리하는 컨테이너 오케스트레이션 플랫폼입니다. 수십~수백 개의 Docker 컨테이너를 자동으로 배포, 스케일링, 복구하고, 서비스 간 트래픽을 효율적으로 분산시킵니다.Pod: Kubernetes의 최소 실행 단위 (1개 이상의 컨테이너 포함)Deployment: Pod의 배포, 업데이트, 롤백을 관리Service: Pod 간 통신과 외부 노출(Load Balancer) 담당Ingress: 외부 트래픽을 도메인 기반으로 라우팅 1. 준..

  • format_list_bulleted 개발/JAVA
  • · 2025. 11. 10.
  • textsms

Spring Boot + Docker로 배포하기 - 손쉬운 컨테이너 기반 애플리케이션 배포

현대적인 애플리케이션 배포 방식은 더 이상 서버에 직접 코드를 복사하는 형태가 아닙니다. 대신, 실행 환경과 애플리케이션을 하나의 이미지(Image)로 패키징하여 어디서나 동일하게 실행할 수 있는 Docker 컨테이너 기반 배포가 표준이 되었습니다. Docker를 사용하는 이유Spring Boot는 자체적으로 내장 톰캣을 포함하고 있어, 독립 실행이 가능하지만 운영 환경마다 Java 버전, 설정, OS 환경이 달라 문제가 발생할 수 있습니다. Docker를 이용하면 이러한 환경 차이를 없애고, “어디서 실행해도 동일하게 동작”하는 배포를 실현할 수 있습니다.개발/운영 환경의 일관성 확보배포 자동화 (CI/CD)와 연동 용이컨테이너 기반 스케일링 (ECS, Kubernetes 등) 1. Spring Bo..

  • format_list_bulleted 개발/JAVA
  • · 2025. 11. 9.
  • textsms

Sleuth와 Zipkin으로 분산 트레이싱 - 마이크로서비스의 요청 흐름 가시화

마이크로서비스 환경에서는 하나의 요청이 여러 서비스를 거쳐 처리됩니다. 예를 들어 주문 API를 호출하면, 주문 서비스 → 결제 서비스 → 사용자 서비스로 연속 호출이 일어날 수 있습니다. 이때 요청 흐름이 어디서 지연되었는지, 어느 서비스에서 오류가 발생했는지를 추적하는 것이 바로 분산 트레이싱(Distributed Tracing)입니다. 분산 트레이싱이란?분산 트레이싱은 여러 서비스에 걸친 요청 흐름을 추적하여, 요청 단위 성능 병목 구간과 오류 원인을 파악하는 기술입니다. 각 요청에는 고유한 Trace ID가 부여되며, 요청이 다른 서비스로 전달될 때마다 Span이라는 하위 단위로 세분화되어 기록됩니다.이러한 Trace/Span 정보를 수집하고 시각화하기 위한 도구로는 Sleuth와 Zipkin이 ..

  • format_list_bulleted 개발/JAVA
  • · 2025. 11. 8.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (721) N
    • 개발 (366) N
      • C언어 (0)
      • PHP (6)
      • JAVA (90) N
      • Python (10)
      • Typescript (105)
      • HTML (0)
      • DB (52)
      • NestJS (3)
      • 리눅스 (53)
      • 구글지도 (29)
      • 기타 (18)
    • IT 테크 (289)
      • 리뷰 (110)
      • AI (46)
      • 기타 (131)
    • 전자회로 & 부품 (44)
    • 디지털 행정 & 자동화 실무 가이드 (7)
    • 기타 (2)
최근 글
최근 댓글
태그
  • #java
  • #springboot
  • #routesapi
  • #google지도api
  • #AI
  • #리눅스기초
  • #api가이드
  • #googlemap
  • #mysql
  • #typescript
전체 방문자
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바