반응형
IT PICUTRE
- GC와 CPU, 메모리 사용량의 관계 정리 목차 애플리케이션 성능 이슈를 분석하다 보면CPU는 높은데 로직은 단순하고,메모리는 넉넉한데 GC는 계속 도는 상황을 자주 마주하게 된다.이 글에서는 GC(Garbage Collection) 가CPU와 메모리 사용량과 어떻게 연결되어 동작하는지를개념적으로 정확히 정리한다.1. GC는 무엇을 기준으로 동작하는가먼저 가장 중요한 전제를 짚고 가야 한다.GC는 CPU 사용률이나 메모리 사용률을 보고 동작하지 않는다.GC의 판단 기준은 다음과 같다.힙(heap) 내 객체 상태객체 할당 속도 (allocation rate)살아 있는 객체(live object)의 양힙 영역의 포화 여부즉,“메모리를 얼마나 쓰고 있느냐”보다 “얼마나 빠르게 할당되고, 얼마나 오래 살아남느냐”가 핵심이다.2. GC와 메모리 사용량의.. 2026.01.08
- Kubernetes에서 Prometheus 장기 저장 전략(Thanos vs Grafana Mimir ) 쿠버네티스에서 모니터링을 구성할 때 대부분 Prometheus로 시작한다.하지만 클러스터와 서비스가 늘어나면 곧 다음 질문에 부딪힌다.“Prometheus 메트릭을 몇 달~몇 년 보관하려면 어떻게 해야 하지?”이 글에서는 Prometheus 장기 저장을 위한 대표적인 두 솔루션Thanos 와 Grafana Mimir 를 중심으로각각 무엇인지구조적 차이어떤 상황에서 적합한지Prometheus 단독과 비교리소스 사용 관점의 차이를 쿠버네티스 기준으로 정리한다.1. Prometheus 단독의 한계Prometheus는 기본적으로 로컬 TSDB(Local Disk) 기반이다.장점설치/운영 단순Kubernetes 생태계 표준빠른 쿼리 성능한계장기 보관(수개월~수년)에 부적합디스크 비용 증가단일 인스턴스 병목멀티 클.. 2026.01.02
- AWS CloudFront 캐시 정책과 CORS 에러 Cloudfront 캐시 정책 설정시 CORS 에러가 발생하여 CloudFront 캐시 정책이 CORS 동작에 미치는 영향과 해결 방법을 상세히 정리합니다. 1. CloudFront 캐시 키(Cache Key) 이해캐시 키란?CloudFront가 캐시된 객체를 식별하는 고유 값입니다. 동일한 캐시 키를 가진 요청은 동일한 캐시 응답을 받습니다.기본 캐시 키 구성요소캐시 키 = URL + (선택적) 헤더 + (선택적) 쿠키 + (선택적) 쿼리스트링캐시 키에 헤더 포함 시 영향HeaderBehavior: "none" (헤더 미포함)├── /fonts/Pretendard.woff2 → 캐시 키 1개└── 모든 Origin에서 같은 캐시 응답HeaderBehavior: "whitelist" + Orig.. 2026.01.02
- k9s 사용법 - v.50.x 목차 1. 설치 (Windows)# Chocolateychoco install k9s# Wingetwinget install k9s# Scoopscoop install k9s현재 최신 버전: v0.50.162. 기본 실행 옵션k9s # 기본 실행k9s --context prod-cluster # 특정 컨텍스트로 시작k9s -n kube-system # 특정 네임스페이스로 시작k9s --readonly # 읽기 전용 모드k9s --kubeconfig /path/to/config # 특정 kubeconfig 사용k9s -l debug # 디버그 로그 활.. 2025.12.31
- kubernetes에서 Pod requests / limits Tunning 실사용량 대비 Best Practice와 운영 튜닝 방법 정리Kubernetes를 운영하다 보면 거의 반드시 마주치는 질문이 있다.“Pod의 CPU / Memory requests 와 limits를 실제 사용량 대비 어느 정도로 잡는 게 맞을까?”이 글에서는숫자로 보는 Best Practice운영에서 실제로 조절하는 방식자주 터지는 함정들을 표 중심으로 정리한다.1️⃣ requests / limits 역할 한 번에 정리 구분 역할 운영에서 의미requests스케줄러 기준 예약값노드 배치, 오토스케일 판단 기준CPU limitCPU 상한초과 시 throttling (지연 증가)Memory limit메모리 상한초과 시 OOMKill (컨테이너 재시작)핵심 요약requests = “이 Pod가 최소로 필요.. 2025.12.30
- Azure DevOps Agent - 비용, 사용량 확인, Self-hosted vs Microsoft-hosted, 전환 전략 들어가며Azure DevOps를 쓰다 보면 반드시 한 번은 부딪히는 질문이 있다.Agent를 꼭 VM에 설치해야 하나?Microsoft-hosted agent는 비용이 어떻게 계산되나?파이프라인 + 릴리스 사용 시간은 어디서 보나?Self-hosted agent는 왜 사용량이 안 보이나?결국 로그를 직접 봐야 하나?Self-hosted → Microsoft-hosted로 바꾸려면 스크립트를 다 고쳐야 하나?이 글은 이 질문들에 대한 실무 기준의 정답을 한 번에 정리한다.1. Azure DevOps Agent는 반드시 VM에 설치해야 할까?정답부터 말하면 아니다.*Azure DevOps**의 Agent는“잡(Job)을 실행할 수 있는 실행 환경”이면 어디든 설치 가능하다.Self-hosted Agent 설.. 2025.12.30
- VPN 연결 상태에서 Public DNS로 Internal ALB에 접근 가능한 이유 — DNS 해석과 네트워크 라우팅은 완전히 다른 계층이다많은 사람들이 이렇게 생각한다.“Internal ALB는 VPC 내부 리소스인데,DNS를 1.1.1.1 같은 Public DNS로 쓰면 접근이 안 되는 거 아닌가?”결론부터 말하면👉 DNS가 퍼블릭이든 내부든 상관없이,VPN으로 네트워크 경로만 열려 있으면 Internal ALB 접근은 가능하다.이유는 간단하다.DNS는 ‘주소를 알려줄 뿐’이고, 실제로 접근 가능 여부는 전부 네트워크 라우팅이 결정한다.아래에서 그 과정을 단계별로 뜯어보자.1. VPN 연결이 만들어내는 진짜 변화는 “DNS”가 아니다VPN에 연결하면 가장 중요한 변화는 이것이다.내 PC에 새 네트워크 인터페이스(VPN 인터페이스) 가 생긴다라우팅 테이블에 이런 규칙이 추가된다10... 2025.12.30
- kubernetes의 Request ― startup peak, steady-state, HPA 사이에서의 현실적인 해답Kubernetes(EKS)를 운영하다 보면 거의 반드시 부딪히는 질문이 있다.“request는 평소 사용량 기준으로 잡는 게 맞지 않나?”“그런데 그렇게 하면 startup 시에 Pod가 안 뜨는 것 같은데?”“그럼 request는 HPA용 수단 말고 무슨 의미가 있지?”이 글은 resources.requests의 진짜 역할,startup peak 때문에 발생하는 오해,그리고 startup peak를 request에 포함하지 않고도 안전하게 운영하는 구조를운영 경험 관점에서 하나로 정리한다.1. request에 대한 가장 흔한 오해많은 사람들이 처음에 이렇게 이해한다.“request는 초기 요청량이고,이걸 초과하면 Po.. 2025.12.23
- AWS CloudFront 요금 정액제 출시 (2025. 11 업데이트) AWS CloudFront는 글로벌 CDN(Content Delivery Network) 서비스로, 전 세계 엣지 로케이션을 통해 사용자에게 콘텐츠를 빠르고 안전하게 전달합니다. 클라우드 기반 서비스 특성상 요금 구조가 다소 복잡할 수 있는데, 2025년 말 AWS는 이를 훨씬 단순화한 정액 요금제(Flat-Rate Pricing Plans) 모델을 도입했습니다. 🔹 CloudFront 요금 모델의 두 가지 축CloudFront 비용은 크게 두 가지 모델로 나뉩니다:1) 📊 종량제(Pay-As-You-Go)기존 방식으로:데이터 전송량(GB)요청 수(요청당 요금)리전/엣지 로케이션별 요율에 따라 사용량만큼 과금되는 방식입니다.장점: 실제 사용량만 지불, 유연함단점: 트래픽이 많을 때 비용 예측이 .. 2025.12.23
- PC 재부팅 후 프리징·끊김 원인, WHEA PCIe 오류였다 (PCIe Gen3 해결, RTX 50 시리즈) 목차 PC 리부팅 후 갑자기 프리징과 끊김이 발생했다면, WHEA PCIe 오류일 수 있습니다.문제 상황어느 날 PC를 리부팅했더니 갑자기 이상 증상이 나타났습니다:크롬에서 웹페이지 클릭 시 프리징텍스트 드래그 시 UI 끊김전반적인 시스템 버벅임화면이 검게 되거나 블루스크린이 뜨는 것은 아닌데, 뭔가 이상합니다.원인 찾기: 이벤트 뷰어 확인Windows 이벤트 뷰어를 확인해보니 WHEA-Logger Event ID 17 오류가 5분간 수백 건씩 쏟아지고 있었습니다.A corrected hardware error has occurred.Component: PCI Express Root PortError Source: Advanced Error Reporting (PCI Express)WHEA 오류란?WH.. 2025.12.22
- Claude Code로 문서 쓰다가 당했다… 그래서 만든 ‘정확성 규칙’ 공개 기술 블로그를 운영하다 보면 종종 날짜, 버전, 지원 종료 일정처럼 특정 숫자가 들어가는 정보의 정확성이 매우 중요하다는 사실을 다시 깨닫게 된다. 최근 EKS 버전 지원 일정을 정리하면서 바로 이런 실수를 경험했다. 검색 없이 추정한 날짜를 표로 작성하는 바람에 실제 정보와 차이가 발생했던 것이다.문제는 어떻게 발생했나?당시 작성했던 내용은 아래와 같았다. 항목 잘못 작성한 내용 실제 공식 일정 EKS 1.33 Standard 종료2026년 1월2026년 7월 29일원인은 단순했다.“아마 이쯤일 것이다”라는 추정추정임에도 불구하고 단정적인 표현과 표 형태로 정리이 두 가지가 만나면 독자는 이것을 ‘사실’이라고 오해하게 된다.기술 정보, 특히 클라우드 버전 관련 정보는 사람들이 의사결정에 참고하는 데이터.. 2025.12.12
- 웹쉘인젝션 공격 분석 및 대응 (Nextjs, React 보안 취약점 CVE-2025-66478) 최근 운영 중이던 웹 애플리케이션에서 원격 코드 실행(RCE)과 웹쉘 인젝션(WebShell Injection) 공격 시도가 탐지되었습니다. API 지연 문제를 조사하던 중 발견한 사례로, 내부망 기반 서비스라 하더라도 CloudFront, ALB 등을 경유하면 언제든 외부 공격이 유입될 수 있다는 점을 다시 확인한 인시던트였습니다.이번 글에서는 공격 타임라인, 원인, 대응 과정, 향후 방어 전략을 정리해 공유합니다.1. 인시던트 개요발견일시: 2025-12-08대상 서비스(예시): example-web (Next.js 기반 프런트엔드)심각도: ★★★★★ Critical탐지 방식: CloudFront → ALB → Pod 로그 분석 중 RCE 및 웹쉘 패턴 확인2. 공격 타임라인 요약 시간(UTC) 공격.. 2025.12.09
반응형