인프라

AWS 고급 #5 EventBridge / SQS / SNS
8 분 소요

AWS 고급 #5 EventBridge / SQS / SNS

셋의 차이 비교, SNS topic / SQS queue / EventBridge bus,rule, fan-out 패턴, FIFO vs Standard, DLQ와 멱등성, Lambda / ECS와 어떻게 묶이는지까지. AWS의 메시지 인프라를 정리합니다.

K8s 고급 #1 CNI 깊이 — Calico / Cilium / eBPF
14 분 소요

K8s 고급 #1 CNI 깊이 — Calico / Cilium / eBPF

K8s 고급 시리즈의 첫 글입니다. [중급 #7](/ko/posts/k8s-intermediate-7)에서 NetworkPolicy를 다루며 한 줄을 남겨 두었습니다. "매니페스트는 K8s 표준이지만, 실제 트래픽을 막는 일은 CNI 플러그인이 한다." 그 한 줄을 풀어내는 것이 이 글의 주제입니다. CNI가 무엇이고, 같은 K8s 매니페스트가 Calico 위와 Cilium 위에서 어떻게 다르게 굴러가는지, eBPF가 데이터 플레인을 어떻게 다시 그리는지를 한 사이클로 정리하겠습니다.

RHEL 고급 #4 SELinux 고급 — 정책 직접 작성과 audit2allow
8 분 소요

RHEL 고급 #4 SELinux 고급 — 정책 직접 작성과 audit2allow

중급에서 SELinux 모드와 라벨, audit2allow로 거부를 푸는 흐름까지 봤다면, 이번엔 그 위에서 한 단계 더 들어갑니다. .te/.fc/.if 정책 파일의 구조, audit2allow로 모듈을 자동 생성하는 흐름과 한계, checkmodule,semodule_package,semodule로 직접 컴파일,설치하는 절차, 부울과 인터페이스 활용까지 한 사이클로 다루겠습니다. AVC 거부가 떴을 때 끝까지 따라가서 영구 정책 모듈로 굳히는 흐름이 목표입니다.

도커 실전 강좌 #5 레지스트리 푸시와 태그 전략 — :latest의 함정
9 분 소요

도커 실전 강좌 #5 레지스트리 푸시와 태그 전략 — :latest의 함정

레지스트리 선택(GHCR vs Docker Hub vs ECR)과 태그 전략을 다룹니다. :latest가 왜 운영에서 위험한지, semver와 SHA 태그의 의미, immutable 태그, retention 정책, 이미지 사이즈 관리까지 푸시 후의 운영 포인트를 정리합니다.

AWS 고급 #4 API Gateway + Lambda
8 분 소요

AWS 고급 #4 API Gateway + Lambda

REST API vs HTTP API 차이, Lambda 통합(proxy / non-proxy), 라우트 / 메소드, 권한(IAM / Cognito / Lambda authorizer), 스테이지 / 배포 / 사용량 플랜까지. Lambda를 HTTP로 노출하는 표준 패턴을 정리합니다.

K8s 중급 #7 RBAC / NetworkPolicy / ResourceQuota — 보안과 자원 정책
22 분 소요

K8s 중급 #7 RBAC / NetworkPolicy / ResourceQuota — 보안과 자원 정책

K8s 중급 시리즈의 마지막 글입니다. [#6](/ko/posts/k8s-intermediate-6)까지 워크로드 운영 모델 — 컨트롤러, 영속 데이터, 외부 진입점, 자원 모델, 헬스 체크, 오토스케일링 — 까지 정리했습니다. 이번 글에서는 한 클러스터 위에 여러 팀,환경이 같이 사는 멀티테넌트 운영의 마지막 빈 부분을 메우는 세 객체 `RBAC`, `NetworkPolicy`, `ResourceQuota`를 정리하겠습니다. 누가 객체를 만들 수 있는가, 어떤 트래픽이 통하는가, 얼마나 많이 만들 수 있는가의 세 차원이 모두 네임스페이스 단위 정책으로 묶이며 [기초 #7](/ko/posts/k8s-basics-7)에서 짧게 짚었던 Namespace의 진짜 가치가 이 세 객체로 풀립니다. 시리즈 마지막 글이므로 7편 회고와 다음 트랙(K8s 고급) 예고도 함께 담겠습니다.

RHEL 고급 #3 성능 분석 — sar, top/htop, iostat, vmstat, perf
8 분 소요

RHEL 고급 #3 성능 분석 — sar, top/htop, iostat, vmstat, perf

RHEL 머신이 느려졌을 때 어디부터 봐야 할지를 정리합니다. top/htop으로 첫 시야를 잡고, vmstat으로 CPU,메모리,IO를 한 화면에 보고, iostat으로 디스크를 자세히 들여다보고, sar로 시간 흐름을 추적하고, perf로 CPU 핫스폿을 잡는 흐름을 USE(Utilization,Saturation,Errors) 방법론에 맞춰 한 사이클로 다루겠습니다.

도커 실전 강좌 #4 CI에서 이미지 빌드 — GitHub Actions와 BuildKit 캐시
8 분 소요

도커 실전 강좌 #4 CI에서 이미지 빌드 — GitHub Actions와 BuildKit 캐시

GitHub Actions에서 도커 이미지를 빌드하고 푸시하는 정석을 다룹니다. docker/build-push-action, BuildKit의 GHA 캐시(type=gha), 멀티 아키(amd64+arm64) 빌드, 빌드 시점 secrets, 빌드 시간 최적화까지 한 워크플로우 파일에 정리합니다.

AWS 고급 #3 Lambda 기초
9 분 소요

AWS 고급 #3 Lambda 기초

Lambda의 쓰임새(vs ECS / EC2), runtime / handler / event / context, 동기 vs 비동기 호출, 콜드 스타트와 Provisioned Concurrency, 동시성 / 한도, 로깅과 모니터링까지. AWS 서버리스의 첫 단추를 정리합니다.

K8s 중급 #6 오토스케일링 — HPA / VPA / Cluster Autoscaler
23 분 소요

K8s 중급 #6 오토스케일링 — HPA / VPA / Cluster Autoscaler

[#5](/ko/posts/k8s-intermediate-5)까지 다룬 모델은 단일 Pod의 자원과 건강 신호 차원이었습니다. 그러나 운영의 부하는 시간대,사용자 패턴,이벤트에 따라 출렁이고, 사람이 매번 `replicas` 값을 손으로 맞추는 일은 곧 한계에 부딪힙니다. 이번 글은 그 빈 부분을 메우는 세 차원의 오토스케일링 — Pod 개수를 자동으로 늘리고 줄이는 `HPA`, Pod의 자원 요청,상한을 자동으로 권장,조정하는 `VPA`, 그리고 노드 자체를 자동으로 추가,제거하는 `Cluster Autoscaler`를 한 사이클로 정리하겠습니다. metrics-server라는 전제, HPA의 `autoscaling/v2` 매니페스트와 알고리즘, scale up,down 비대칭의 `behavior`, custom metric과 KEDA, VPA의 세 컴포넌트, HPA,VPA의 충돌, Karpenter까지 다룹니다.

RHEL 고급 #2 커널 튜닝 — sysctl, tuned, kdump
9 분 소요

RHEL 고급 #2 커널 튜닝 — sysctl, tuned, kdump

런타임에 커널 동작을 조정하는 sysctl의 사용법과 영구 설정 분리(/etc/sysctl.d/), 워크로드 프로파일을 한 줄로 갈아끼우는 tuned, 그리고 커널 패닉 시점의 메모리 덤프를 받는 kdump 설정과 crash로 분석하는 흐름까지 한 사이클로 정리하겠습니다. 자주 만지는 vm.swappiness, net.core.somaxconn 같은 키와 tuned 프로파일별 차이도 함께 다룹니다.

도커 실전 강좌 #3 React/Next.js 빌드 컨테이너 — standalone과 NEXT_PUBLIC의 의미
8 분 소요

도커 실전 강좌 #3 React/Next.js 빌드 컨테이너 — standalone과 NEXT_PUBLIC의 의미

Next.js 앱을 컨테이너에 담는 흐름을 정리합니다. standalone output을 쓴 deps → build → runner 세 단계, NEXT_PUBLIC 환경변수가 빌드 시점에 굳는 문제, 정적 export 옵션, Vite 같은 SPA를 nginx로 호스팅하는 방식까지 살펴보겠습니다.