전체 글4 [Spring] Kubernetes 상에서의 Elasticsearch 서버 Self-Signed TLS 연결 (SSL Bundle) Kubernetes 상에서 Elasticsearch를 운영 중에 있는데, Self-Signed CA를 적용하였더니 Spring Application에서 연결을 하지 못하는 문제가 발생하였습니다. Spring Boot 3.1에서 추가된 SSL Bundle 기능을 이용하여 인증서를 처리해보겠습니다. 먼저 Kubernetes상에서 cert-manager와 ECK를 통해 Elasticsearch를 구성하였다고 가정합니다. 관련 설정더보기사용한 CertificateapiVersion: cert-manager.io/v1kind: Certificatemetadata: name: {{ .Values.elasticsearch.name }}-cert namespace: {{ .Values.namespace }}spec.. 2025. 5. 13. [Debezium] Kafka Connect Custom SMT로 JSONB 처리하기 저번 포스팅에 이어서 JSONB를 사용하는 경우 이를 처리 하는 방법에 대해서 포스팅한다. 일단은 자신이 사용하는 데이터의 구조를 파악해서 ElasticSearch Mapping을 작성해야한다. 일단 나는 귀찮으니 JSON to ElasticSearch Mapping 도구를 사용했다.(Nested를 처리 못해서 내가 직접 다 수정해주긴 했다.) 만약 먼저 생성된 인덱스가 있으면 삭제해주자curl -X DELETE 'http://localhost:9200/' 그리고 새로운 인덱스를 생성 해주자.{ "settings": { // 만약 사용할 Analyzer가 있으면 설정 해주자.(Nori 등) }, "mappings": { "properties": { // 작성한 매핑 }} 다.. 2025. 4. 21. [Debezium] PostgreSQL to ElasticSearch CDC 기존에는 PostgreSQL에서 진짜 한계까지 쥐어짜서 QueryDSL로 통계 쿼리를 작성했었다.근데 배치 처리도 너무 힘들고 쿼리 온몸 비틀기를 하다보니 너무 짜증나서 ElasticSearch를 도입하기로 했다. 그런데 기존에 PostgreSQL에 있는 360만개의 Row는 어떻게 ElasticSearch로 옮기고 관리할지 고민을 해보았는데 나온 결론이 PostgreSQL -> Debezium -> Kafka Connect -> ElasticSearch 순으로 데이터를 옮기기로 했다. 조건기존 360만개의 Row도 옮겨져야함 (initial 모드로 가능)기존 DB가 업데이트되면, ElasticSearch도 반영되어야함 (CDC 캡쳐로 가능)JSONB도 매핑이 되어야함 (커스텀 SMT로 가능)Spring.. 2025. 4. 21. 오라클 클라우드 정지 먹은 후기 나는 사이드 프로젝트로 AWS를 사용하고 있었다.그런데 AWS는 너무 비싸다고 생각하여(월 700달러..) 팀원들과 논의 후 오라클 클라우드로 옮기기로 결정하였다. 그렇게 힘들다는 오라클 클라우드 가입을 하고 개인 계정으로 사용을 시작했고 바로 돈을 지불할 의향이 있었기에, 유료 계정 업그레이드를 신청, 업그레이드되었다. 일단 DB는 AWS껄 쓰면서 점진적으로 옮기기 위해 Site-to-Site VPN을 써서 OCI와 AWS를 연결했고 정상적으로 테스트 환경이 잘 돌아가는 것을 확인했다.그리고 데이터베이스도 옮기기 위해 AWS의 DMS 서비스를 이용해서 400기가 가량의 데이터를 마이그레이션을 했다. 그리고 금요일날 문제가 없는 것을 확인하고 트래픽을 오라클에 구축된 인프라로 전환을 하고 집에 와서 푹 .. 2025. 4. 21. 이전 1 다음