반응형

분류 전체보기 180

AWS Lambda Layer란? Node.js 기반으로 직접 만들어보고 Lambda에서 적용하기

이번엔 Lambda Layer에 대해 알아보겠습니다.Lambda Layer 란 무엇인가?AWS Lambda Layer는 여러 Lambda 함수에서 공통으로 사용하는 라이브러리·패키지·코드·실행 바이너리 등을 분리하여 재사용할 수 있는 기능 입니다.🔥 Layer를 사용하는 이유여러 Lambda에서 같은 패키지를 중복 포함하지 않아도 됨Lambda 함수 ZIP 파일이 가벼워짐배포 속도 개선공통 라이브러리를 한 곳에서 관리 가능아키텍처가 정리되며 유지보수가 쉬워짐💡 Layer가 Lambda에서 로딩되는 경로Node.js의 경우 Layer는 Lambda 실행 환경에서 다음과 같은 경로로 마운트 됩니다./opt/nodejs/node_modules/따라서, Layer ZIP 파일을 만들 때 내부 구조도 node..

AWS 2025.11.13

Github Action에서 Docker Build 시간 줄이기

기존 문제 상황Github Repository에 코드를 올리고 Github Action을 사용해서 Docker 이미지 빌드하고 ECR에 Push 해서 사용을 했는데,매 번 이미지 빌드를 할 때 마다 시간이 너무 오래걸렸음.이에 따라 어떻게 하면 시간이 줄일 수 있는 지 방법을 찾아보다가BuildKit + buildx + GitHub Actions 캐시사용하는 방법을 알게되어 적용 해봤습니다.왜 BuildKit + buildx 캐시를 적용하면 빌드 속도가 빨라질까?Docker 빌드는 내부적으로 여러 단계로 나뉘어 실행이 됩니다.Dockerfile의 각 명령어(FROM, RUN, COPY, ENV 등)는 "레이어(layer)" 라는 형태로 쌓이고,이 레이어들은 모두 해시(hash) 값으로 관리됩니다.기존 빌..

Pipeline 2025.11.12

Kubernetes에 Bitnami PostgreSQL 배포 가이드

이번엔 Bitnami PostgreSQL-HA 설치를 해보겠습니다.사전 준비k8s 클러스터Helm 설치HA(PostgreSQL High Availability)란 무엇인가?PostgreSQL은 기본적으로 단일 노드로 동작하지만, 운영 환경에서는 장애 발생 시 서비스 중단이 발생할 수 있습니다.이를 방지하기 위해 Primary(주 서버)와 Replica(보조 서버)를 구성하여, 장애 시 자동으로 Replica가 Primary로 승격되는 고가용성(High Availability, HA) 구성이 필요합니다.Bitnami의 postgresql-ha 차트는 이러한 HA 구성을 손쉽게 구현할 수 있도록 도와주는 Helm Chart입니다.설치이제부터 설치해보도록 하겠습니다.https://artifacthub.io/p..

쿠버네티스 2025.11.10

S3에 백업된 Prometheus 데이터를 Thanos Query와 Grafana로 조회하기

이전 글에서 Thanos 사용하여 Prometheus가 수집한 데이터를 s3 버킷으로 백업을 시켯습니다.[https://ksh-cloud.tistory.com/184](Prometheus 가 수집한 메트릭 장기간 보관하기 — s3, Thanos)그런데, 이 백업 시킨 과거의 데이터는 그냥 쿼리를 해서 사용을 할 수가 없습니다.이러한 문제를 해결하기 위해, 아래 과정을 거칩니다.Thanos Store Gateway가 S3 블록을 읽어들이도록 설정Querier가 Store Gateway(+Sidecar) 를 “store API”로 붙도록 설정Grafana 데이터 소스를 Querier 로 교체Thanos Store Gateway 란?🎯 “과거 데이터를 다시 쿼리하기 위한 리더(reader)”Thanos St..

Monitoring 2025.11.08

Prometheus 가 수집한 메트릭 장기간 보관하기 — s3, Thanos

Prometheus로 수집한 데이터를 s3로 전송시키려면 Thanos 라는 사이드카를 사용해야 합니다.저는 kube-prometheus-stack Helm 차트를 사용해서 설치를 했기 때문에,Thanos 사이드카를 사용하기 위해 values.yaml 파일에서 내용을 수정해주도록 하겠습니다.사전 준비먼저 prometheus와 연결 시킬 pv가 필요하기 때문에 저는 EKS 클러스터에 ebs-csi-driver를 추가하여 스토리지 클래스를 생성해주었습니다.Prometheus가 수집한 데이터를 저장하기 위한 s3 버킷 생성설정Thanos 사이드카를 포함하도록 values.yaml 설정 변경prometheus: prometheusSpec: disableCompaction: true storage..

Monitoring 2025.11.07

AWS MSK 메트릭 수집 및 모니터링

MSK도 Prometheus와 연결을 하여 메트릭 수집을 할 수 있습니다. 그러기 위해선 먼저 해주어야 할 과정이 있습니다.MSK 모니터링 편집에서 오픈 모니터링 Enable 입니다. AWS 콘솔에 접속해서 MSK 클러스터에 들어 간 후, 우측 상단의 작업 박스를 클릭하고 모니터링 편집 을 클릭해서,아래와 같이 오픈 모니터링 활성화를 해주면 됩니다.그리고 이제 Prometheus 설정에 아래와 같이 추가를 해준 후 적용을 해주면 됩니다.(저 같은 경우 Helm 차트를 이용하여 kube-prometheus-stack을 설치하여 values.yaml 파일에서 설정을 변경해주었습니다.)prometheus: prometheusSpec: additionalScrapeConfigs: - job_na..

스터디/Kafka 2025.11.06

Tempo를 사용하여 Service Graph 만들기

Tempo로 서비스 간 호출 관계(Service Graph)를 시각화 하려면 단순히 Tempo 하나만 설치하면 끝이 아닙니다.Trace → Metric 변환 → Grafana 시각화 의 전체 파이프라인을 이해해야 합니다.아키텍처를 살펴보면 아래와 같습니다.Tempo가 하는 일Tempo는 Trace 저장소 입니다.각 서비스(ex: API 서버, 프론트 등) 에서 발생한 Trace / Span 데이터를 OLTP 포맷으로 받아 저장합니다.Trace = 한 요청의 전체 호출 흐름 (예: Front → API → DB)Span = 각각의 단계 (예: API → DB 호출)Tempo는 이 데이터들을 시계열로 저장하고,Grafana에서 TraceQL로 검색하거나 트리뷰로 볼 수 있습니다.👉 이것이 “분산 트레이싱..

Monitoring 2025.11.05

AI 트래픽을 관리하는 방법: APISIX로 AI Gateway 만들기 - 2편 (설치 및 Custom Plugin 개발)

이전 글을 보고 오시면 이해하기 수월 합니다.AI 트래픽을 관리하는 방법: APISIX로 AI Gateway 만들기 - 1편이번에는 APISIX를 설치해보고 Custom Plugin 만드는 방법에 대해 알아보겠습니다.APISIX 설치저는 쿠버네티스 위에 설치를 진행하여서 Helm 차트로 설치를 하였습니다.설치 명령어helm repo add apisix https://charts.apiseven.comhelm repo updatehelm install apisix apisix/apisix --create-namespace --namespace apisix -f values.yamlvalues.yaml 설정# apisix 파드의 리소스 사용량 설정resources: requests: cpu: 10..

네트워크/APISIX 2025.11.03

Kafka 리플리케이션 완벽 이해: 동작 원리부터 토픽 설정까지

카프카는 브로커 한두 대에서 장애가 발생하더라도 중앙 데이터 허브로서 안정적인 서비스가 운영될 수 있도록 구상되었습니다.이 때 안정성 확보를 위해 카프카 내부에서는 리플리케이션 이라는 동작을 하게 됩니다.리플리케이션 동작 개요카프카에서 데이터는 토픽(topic) → 파티션(partition) 단위로 저장됩니다.각 파티션은 하나의 리더(Leader)와 여러 개의 팔로워(Follower) 복제본으로 구성됩니다.리더(Leader): 실제로 프로듀서와 컨슈머가 읽고 쓰는 주체팔로워(Follower): 리더의 데이터를 동기화(Replication) 하는 복제본, 리더가 장애나면 팔로워 중 하나가 리더로 승격 하게 됩니다.리더와 팔로워가 하는 역할에 대해 좀 더 자세히 알아보면,카프카는 모두 동일한 리플리케이션들을..

스터디/Kafka 2025.10.31

AI 트래픽을 관리하는 방법: APISIX로 AI Gateway 만들기 - 1편

AI Gateway 란?여러 인공지능 모델이나 서비스들을 하나의 통합된 출입구 (게이트웨이)로 묶어 관리하고 사용할 수 있게 해주는 중간 계층 시스템입니다.즉, 모든 애플리케이션이 직접 LLM(API)으로 가는 것이 아닌, AI Gateway를 통해 통합적으로 접근을 하게 해주는 역할을 합니다.AI Gateway 왜 필요한가?요즘 수 많은 AI API 공급자들이 많이 있고, 해당 공급자들 안에서도 다양한 AI 모델이 존재합니다.이러다보니 문제가 발생합니다.AI 모델이 많아질수록 API 관리가 복잡해지고, 비용 예측이 어려워져 서비스 운영의 효율이 떨어지게 됩니다.이런 문제를 해결하기 위해 AI Gateway 가 필요해졌고 주요 기능은 아래와 같습니다.주요 기능설명비유/예시인증 및 접근 제어 (Auth &..

네트워크/APISIX 2025.10.31
반응형