본문으로 바로가기
TaeyoungKim.dev

기술 블로그

용어와 원리부터 시작해 실행 가능한 코드, 테스트와 디버깅, 보안·성능·운영의 트레이드오프까지 연결합니다.

글 목록

Azure Bastion으로 VM 접속: VM의 공용 IP 없이 SSH가 되는 경로

Azure VM에 공용 IP를 붙이지 않고 Bastion을 통해 SSH·RDP에 접속할 때 브라우저, Bastion, VM의 사설 IP가 각각 맡는 역할을 구분합니다.

리눅스4 분

Terraform plan과 state drift: 코드와 실제 인프라가 달라질 때 확인할 순서

Terraform plan이 보여 주는 변경과 state drift의 원인, apply 전에 범위와 공유 상태를 안전하게 검토하는 방법을 설명합니다.

클라우드3 분

Kubernetes Deployment와 Service 차이: 파드 교체와 네트워크 진입점을 나누는 법

Deployment가 원하는 파드 상태를 유지하는 역할과 Service가 안정적인 접근 지점을 제공하는 역할을 설명합니다.

클라우드3 분

AWS Lambda timeout과 재시도: 같은 작업이 두 번 실행될 수 있는 이유

Lambda의 제한 시간과 비동기 재시도에서 중복 실행을 전제로 멱등성과 실패 처리를 설계하는 방법을 설명합니다.

클라우드3 분

Spring Data JPA 조회 0건: Optional.empty()가 404가 되는 곳

Spring Data JPA의 findByRegion()이 결과를 찾지 못했을 때 Optional.empty()를 반환하는 이유와, 서비스에서 404를 선택하는 위치를 같은 지역 조회로 확인합니다.

자바/스프링5 분

CloudWatch CPU 경보가 데이터 부족일 때: 지표·임계값·알림 확인 순서

EC2 CPU 사용률 경보의 데이터 부족 상태를 출발점으로 지표, 평가 조건, SNS 구독과 경보 전환을 구분해 점검합니다.

클라우드3 분

SQL UNIQUE에 NULL이 여러 개 들어가는 이유: PRIMARY KEY와 차이

UNIQUE 제약을 걸었는데 NULL 행은 두 개 저장되고 같은 이메일은 거부됩니다. SQLite 예제로 NULL·빈 문자열·NOT NULL·PRIMARY KEY의 차이를 확인합니다.

DB/SQL4 분