반응형

분류 전체보기 86

봄맞이 대청소, 이 순서대로만 하면 끝나는 7단계 체크리스트

겨우내 닫혀 있던 창문을 활짝 열고 싶어지는 4월 말, 봄맞이 대청소를 미루고만 있는 분들이 많습니다. 막상 시작하려고 보면 어디서부터 손을 대야 할지 막막해 한 시간만 청소하고 지쳐버리는 경우가 흔합니다. 순서가 정해져 있으면 절반은 끝난 것이라는 말처럼, 오늘은 한정된 주말 시간을 가장 효율적으로 쓸 수 있는 7단계 체크리스트를 정리해 봤습니다.1단계. 비우기부터 — 청소가 아니라 '분류'가 먼저청소를 시작하기 전 한 시간은 물건을 분류하는 시간으로 씁니다. 옷장·신발장·서랍을 열어 1년 이상 사용하지 않은 물건을 종이백 세 개에 나눠 담습니다. '버릴 것', '기부할 것', '보관할 것' 세 가지면 충분합니다. 막상 손에 쥐어보지 않으면 결정이 느려지므로 '서랍 한 칸씩' 단위로 끊어서 진행하는 것..

정보/일상 2026.04.29

PgBouncer transaction 모드에서 prepared statement 제대로 쓰는 법

왜 굳이 켜야 하나PgBouncer 1.21에서 transaction pooling 모드에서도 prepared statement를 쓸 수 있게 된 게 벌써 2년 가까이 됐다. 우리 팀도 작년 가을에 1.22로 올리고 max_prepared_statements를 켰는데, 그동안 마주친 함정 몇 개가 있어서 정리해둔다. 비슷한 마이그레이션을 앞두고 있는 분들에게 도움이 됐으면 한다.이 글은 "PgBouncer는 뭔가요"부터 시작하지 않는다. 이미 transaction 모드로 PgBouncer를 운영 중이고, 애플리케이션이 prepared statement를 쓰고 있거나 쓰고 싶은 상황을 가정한다.JDBC, asyncpg, pgx, psycopg3 같은 모던 드라이버는 기본적으로 Parse/Bind/Execu..

IT/DB 운영 2026.04.29

2026년 4월 29일 (수) 12간지 오늘의 운세

Photo on Pexels따뜻한 봄빛이 깊어지는 4월의 마지막 수요일입니다. 오늘 하루, 12간지별로 어떤 기운이 함께할지 가볍게 살펴보세요. 큰 결정 앞에서 잠시 숨을 고르고, 작고 좋은 신호들을 알아차리는 하루가 되길 바랍니다.🐭 쥐띠 (1972 · 1984 · 1996 · 2008 · 2020)오늘은 작은 아이디어가 의외의 인정을 받기 좋은 날입니다. 회의나 대화 중에 떠오른 한마디를 메모해 두면 며칠 안에 써먹을 일이 생깁니다. 금전운은 무난하니 큰 지출보다는 카드 명세서 점검 같은 정리에 집중해 보세요. 건강은 어깨와 목이 뻐근할 수 있으니 한 시간에 한 번은 일어나 가볍게 풀어 주세요.🐮 소띠 (1973 · 1985 · 1997 · 2009 · 2021)차분히 쌓아 온 노력이 작은 결실로..

환절기 면역력 관리, 일상에서 챙기는 작은 습관 5가지

Photo by Ella Olsson on Pexels봄과 여름이 교차하는 환절기에는 일교차가 커지면서 면역 균형이 흔들리기 쉽습니다. 갑자기 목이 칼칼해지거나, 평소보다 쉽게 피곤해지는 경험을 해 본 적이 있다면, 일상 습관을 점검해 볼 좋은 시기입니다. 거창한 영양제보다 매일 반복하는 작은 루틴이 면역에 더 큰 영향을 미친다는 것이 여러 공중보건 가이드라인의 공통된 권고입니다.1. 수면의 양보다 '일정함'을 우선하기미국 질병통제예방센터(CDC)는 성인의 적정 수면을 7시간 이상으로 권고합니다. 하지만 시간만큼 중요한 것은 잠드는 시각의 일관성입니다. 주중과 주말의 수면 시각 차이를 1시간 이내로 유지하면 생체리듬이 안정되고, 회복 호르몬 분비도 원활해집니다.2. 매 끼 '색깔 있는 채소' 한 종류 더..

정보/건강 2026.04.29

Trivy로 CVE 1,400개 알림 폭탄 맞은 후, 우리 팀이 한 일

지난주 화요일 아침, 팀 슬랙의 #security-alert 채널을 열었더니 빨간 메시지가 화면을 가득 채우고 있었다. 멘탈이 잠깐 나갔다. CI 파이프라인에 Trivy 스캔을 새로 붙인 첫날이었고, 우리가 운영하는 서비스 47개 중 31개가 한 번에 fail 처리됐다. 보고된 CVE만 1,400개가 넘었다.당연히 본부장이 디엠을 보냈다. "이거 다 수정해야 하나요?"솔직히 말하면 그 순간엔 답을 못 했다. 이 글은 그 1,400개의 알림 폭탄을 정리하면서 우리 팀이 어떻게 신호와 소음을 분리했는지에 대한 회고다. 결론부터 말하면, 진짜로 손대야 했던 건 23개였다.처음에 뭐가 잘못됐나일단 우리가 한 게 뭐였냐면, trivy image 기본 옵션으로 모든 이미지를 스캔하고 결과를 그대로 슬랙에 던진 거였..

IT/DevSecOps 2026.04.29

External Secrets Operator vs Vault Agent Injector, 우리 팀은 결국 둘 다 쓰기로 했다

쿠버네티스에서 시크릿을 어떻게 가져올 것이냐. 이 질문은 보통 회사가 어느 정도 커지고 클러스터가 두세 개 늘어나는 시점에 한 번 크게 부딪힌다. 우리 팀도 그랬다. 작년 초까지는 그냥 kubectl create secret으로 박아 넣고 헬름 차트에 손으로 옮기는 식이었는데, 클러스터가 4개로 늘고 환경별로 시크릿 동기화 누락이 두 번쯤 사고로 이어지면서 더는 못 미루겠다는 결론이 났다.후보는 사실상 두 개였다. External Secrets Operator(이하 ESO)와 HashiCorp의 Vault Agent Injector. 둘 다 충분히 성숙했고 사례도 많다. 그런데 막상 비교하기 시작하면 "어느 게 더 좋은가" 자체가 잘못된 질문이라는 게 금방 드러난다. 결국 우리 팀이 어떤 시크릿을 다루고..

IT/DevSecOps 2026.04.28

Karpenter consolidationPolicy, 이거 한 번은 짚고 가자

오늘 알게 된 건 아니고, 최근에 팀원이 Karpenter 설정 PR을 올렸길래 리뷰하다가 "어 이게 v1.0부터 바뀌었는데 모르는 분들 꽤 많겠네" 싶어서 짧게 정리해둔다.WhenUnderutilized 라는 이름은 이제 없다Karpenter 1.0 GA 이후로 WhenUnderutilized는 WhenEmptyOrUnderutilized로 이름이 바뀌었다. 옛날 블로그 글이나 사내 위키 보고 그대로 복붙하면 NodePool apply가 깨진다. 지난주에 1.12.0이 나왔는데도 검색하면 아직 옛날 이름이 상위에 뜨더라.그리고 더 중요한 변화 — 1.0부터는 consolidateAfter를 WhenEmptyOrUnderutilized에서도 쓸 수 있다. 이전에는 WhenEmpty에서만 동작해서, "노드..

IT/Kubernets 2026.04.28

OpenTelemetry Collector tail sampling, 사실 내부에선 이렇게 돌아간다

지난 분기에 우리 팀은 트레이싱 백엔드를 Tempo로 옮기면서 OpenTelemetry Collector 게이트웨이 레이어를 다시 설계했다. 처음엔 head sampling으로 1%만 떼서 보내고 있었는데, 막상 장애가 터지면 정작 보고 싶은 에러 트레이스가 빠져 있는 일이 잦았다. 그래서 tail sampling으로 바꿨다. 그런데 도입한 지 며칠 지나니 collector 파드가 OOMKilled 당하면서 자꾸 죽는다. memory_limiter는 켜져 있었고, num_traces도 늘렸다 줄였다 하면서 한 주를 보냈다.문제는 tail sampling processor의 동작 원리를 정확하게 모르고 노브만 돌리고 있었다는 점이다. 사실 내부적으로는 어떻게 돌아가는지를 한 번 정리하지 않으면, 메모리 튜..

IT/모니터링 2026.04.28

IRSA에서 EKS Pod Identity로 옮기는 법

작년 KubeCon Salt Lake City 끝나고 팀에서 한참 얘기가 나왔던 게 EKS Pod Identity였다. 우리 팀은 그동안 IRSA(IAM Roles for Service Accounts)를 잘 쓰고 있었는데, 클러스터를 4개 운영하다 보니 OIDC provider를 클러스터마다 다 등록하고, 신뢰 정책에 sub 조건을 박아놓는 방식이 점점 귀찮아졌다. 멀티 클러스터 환경에서 같은 워크로드에 같은 권한을 주려면 클러스터마다 trust policy를 다르게 써야 했고, 새 클러스터를 띄울 때마다 이걸 반복했다.그래서 최근 2주에 걸쳐 dev → staging 클러스터를 차례로 Pod Identity로 옮겼다. prod는 다음 주 작업 예정이다. 이 글은 그 작업을 정리한 가이드다. 이미 운영..

IT/AWS 2026.04.27

Istio Ambient vs Sidecar, 6개월 검토 후 결론

작년 말부터 Istio Ambient Mode를 진지하게 보기 시작했다. 1.22에서 Beta로 올라오고, 1.24~1.25 거치면서 단일 클러스터 한정으로는 production ready라는 얘기가 공식 문서에도 들어갔다. 우리 팀에서도 "그러면 슬슬 옮겨야 하는 거 아니냐"는 얘기가 나왔고, 6개월 정도 PoC와 일부 트래픽 마이그레이션을 진행했다.결론부터 말하면 새 클러스터는 Ambient로 깔고, 기존 sidecar 클러스터는 당분간 그대로 둔다로 정리됐다. 그 과정에서 정리된 비교를 남긴다.데이터 플레인 구조의 차이Sidecar 모드는 다들 알다시피 Pod마다 envoy 컨테이너 하나 더 붙는다. 100개 Pod 띄우면 envoy도 100개. 메모리, CPU, 부팅 시간 다 곱하기 N이 된다.A..

IT/기타 2026.04.27
반응형