본문 바로가기
728x90

전체 글223

단일 리전 Object Storage 재해 복구 운영 회고 3 이전 글에서는Object Storage DR를 설계하면서 왜 수동 동기화가 아닌리전 간 자동 복제를 선택했는지를 정리했다. 단일 리전 Object Storage DR, 리전 간 자동 복제이전 글에서는 단일 리전 Object Storage가재해 복구(DR) 관점에서 왜 구조적으로 취약한지 살펴보았다. 단일 리전 Object Storage는 왜 재해 복구에 취약할까?단일 리전 Object Storage는 왜 재해 복구에 취sudo-minz.tistory.com 이번 글에서는 그 다음 단계로,운영 환경에서 이 판단이 왜 필요했는지,그리고 자동 복제를 어떤 아키텍처 위에서 떠올리게 되었는지를실제 운영 경험을 바탕으로 정리해본다. 1. 자동 복제는 요청 흐름에 포함되지 않는다Object Storage DR를 운.. 2025. 12. 26.
단일 리전 Object Storage DR, 리전 간 자동 복제 이전 글에서는 단일 리전 Object Storage가재해 복구(DR) 관점에서 왜 구조적으로 취약한지 살펴보았다. 단일 리전 Object Storage는 왜 재해 복구에 취약할까?단일 리전 Object Storage는 왜 재해 복구에 취약할까? Object Storage는 흔히 안정적이고 확장성이 뛰어난 스토리지로 인식된다.하지만 이 평가는 대부분 정상 상황만을 전제로 한다.재해 복구(DR) 관점sudo-minz.tistory.com 이번 글에서는그 한계를 어떻게 해결할 것인지, Object Storage DR를 설계하는 과정에서 고려했던 대안들과,리전 간 자동 복제를 선택한 이유를 정리했다. 그리고 이 선택이 단순한 구현 방식이 아니라운영 관점에서 어떤 의미를 가지는지에 대해 이야기해본다. 1. DR.. 2025. 12. 26.
단일 리전 Object Storage는 왜 재해 복구에 취약할까? 단일 리전 Object Storage는 왜 재해 복구에 취약할까? Object Storage는 흔히 안정적이고 확장성이 뛰어난 스토리지로 인식된다.하지만 이 평가는 대부분 정상 상황만을 전제로 한다.재해 복구(DR) 관점에서 보면,단일 리전에만 존재하는 Object Storage는 구조적으로 취약할 수밖에 없다. 이 글에서는 그 이유를 살펴보고,실제 운영 환경에서 겪었던 경험을 바탕으로 이 문제를 정리해본다. Object Storage는 어디까지 안전한가?많은 서비스에서 Object Storage는 다음과 같은 이유로 선택된다.파일 서버보다 관리 부담이 적다용량 확장이 쉽다하드웨어 장애를 내부적으로 흡수한다여기까지는 맞는 말인데, 이 안정성은 대부분 리전 내부에서만 보장된다. Object Storage.. 2025. 12. 26.
오브젝트 스토리지, 블록 스토리지 차이점 Object Storage vs Block Storage 클라우드 스토리지를 이야기할 때 가장 자주 등장하는 두 가지 개념이 오브젝트 스토리지(Object Storage)와 블록 스토리지(Block Storage)입니다. 이 둘은 설계 목적과 사용 방식은 완전히 다릅니다.이 글에서는 두 스토리지의 차이를 구조와 실제 현업 사용 사례 중심으로 정리합니다. 1. 오브젝트 스토리지란?오브젝트(데이터 + 메타데이터)단위로HTTP API로 저장하는 스토리지 방식 오브젝트 스토리지는 데이터를 파일이나 디스크가 아니라 오브젝트 단위로 저장하는 방식입니다.오브젝트는 데이터 본문, 메타데이터, 고유 ID로 구성됩니다. 오브젝트 스토리지의 특징1. 저장 단위가 오브젝트오브젝트 = 데이터 + 메타데이터 + ID디렉터리 개념 없음파일 일부 수정 불가수정 시 전체 교체만 가능 2. .. 2025. 12. 26.
Elasticsearch 6 -> 7버전 클러스터 업그레이드 들어가며.. 실제 운영 환경에서 Elasticsearch 6 버전에서 Elasticsearch 7.17.11 버전으로 업그레이드를 진행하며 겪었던 경험을 기반으로 정리한 글이다.운영 중인 Elasticsearch 클러스터를 업그레이드하는 작업은 언제나 긴장된다.특히 샤드 수가 많은 대규모 클러스터라면, 단순 버전 업데이트를 넘어 클러스터 안정성, 보안 설정, 플러그인 호환성, 운영 중단 최소화까지 함께 고려해야 한다. 1. 업그레이드 전 사전 작업가장 먼저 확인한 것은 Kibana Upgrade Assistant였다. Upgrade Assistant를 통해 확인한 핵심 포인트는 다음과 같다.deprecated setting 여부인덱스 호환성 문제reindex 필요 대상플러그인 호환성이 단계에서 문제를 .. 2025. 12. 23.
springboot @Component, @Service 차이점 spring boot component vs service @Component와 @Service는 기술적으로 동일하지만, 의미, 역할을 명확히 하기 위해 구분해서 사용합니다. @Component와 @Service는 기술적으로 동일한 기능을 수행하지만, 코드의 의미와 역할을 명확히 표현하기 위해 목적에 따라 구분해서 사용합니다. 먼저 @Component는 스프링에서 가장 기본이 되는 빈 등록 애노테이션입니다. 이 클래스는 스프링이 관리하는 객체다 라는 의도를 표시하는 역할을 합니다. 이 애노테이션이 붙은 클래스는 스프링이 애플리케이션을 시작할 때 컴포넌트 스캔(Component Scan) 대상이 되고, ApplicationContext에 의해 스프링 빈으로 등록됩니다. 여기서 ApplicationCo.. 2025. 12. 18.
내 프로젝트 구조 txt 파일로 만드는 법 인텔리제이나 vscode에서내 프로젝트 구조를 ASCII 아스키 트리로 생성하는 법 입니다.개인적으로 자주 쓰는 건데 유용해서 공유 합니다. 1. tree 명령어 설치brew install tree # macOS (Homebrew)sudo apt install tree # Ubuntu / Debian 2. 그다음 프로젝트 루트에서 다음 명령어를 입력해 보세요.tree -L 2 참고로 -L 2는 폴더 깊이를 2단계까지만 표시하는거고,더 깊이 보고 싶으면 -L 3, -L 4 등으로 변경하면 됩니다. 추가 옵션으로 결과를 structure.txt 파일로 저장할 수도 있습니다.명령어:tree -I "node_modules|.git" > structure.txt 여기서 -I는 제외할 폴더 입니다. 이.. 2025. 10. 15.
Elasticsearch Hot–Warm 아키텍처 설정 방법, ILM 적용하기 앞선 글에서 Hot–Warm 아키텍처와 ILM 개념을 살펴봤습니다. Elasticsearch 운영 Hot–Warm 아키텍처와 ILM(Index Lifecycle Management)온프레미스 환경에서 Elasticsearch 클러스터를 운영하다 보면서비스 규모가 커질수록 수집되는 로그는 기하급수적으로 늘어나고, 그에 따라 클러스터도 점점 복잡해집니다.클러스터가 커질수록sudo-minz.tistory.com 이번에는 실제로 이를 클러스터에 적용했던 과정을 정리해보려 합니다. 적용하는 법은 Elasticsearch 버전에 따라 꽤 다른데, Elasticsearch 7.10 이상에서는 아예 데이터 티어(Data tiers)라는 공식 개념이 추가되었습니다. 이번 포스팅에서는 7.10 이상에서 적용하는 방법에 .. 2025. 9. 22.
Elasticsearch 운영 Hot–Warm 아키텍처와 ILM(Index Lifecycle Management) 온프레미스 환경에서 Elasticsearch 클러스터를 운영하다 보면서비스 규모가 커질수록 수집되는 로그는 기하급수적으로 늘어나고, 그에 따라 클러스터도 점점 복잡해집니다.클러스터가 커질수록 상면 공간과 관리 부담이 함께 늘어나면서효율적인 구성이 필요하다는 사실을 체감하게 되었습니다.Elasticsearch 운영 패턴과 Hot–Warm 아키텍처Elasticsearch 클러스터는 크게 마스터 노드와 데이터 노드로 나눌 수 있죠.마스터 노드는 클러스터 상태를 관리하고, 샤드 배치나 노드 헬스체크 등을 총괄하며 데이터 노드는 실제 인덱스를 저장하고, 검색·집계를 처리하는 핵심 역할을 맡습니다.운영 패턴을 보면, 로그 검색과 분석은 대부분 최근 데이터에 집중되고 오래된 로그는 단순히 보관의 성격이 강합니다. 모.. 2025. 9. 22.
728x90