#인프라

447 편의 글

도커 고급 강좌 #6 프로덕션 운영 — graceful shutdown, healthcheck, restart
8 분 소요

도커 고급 강좌 #6 프로덕션 운영 — graceful shutdown, healthcheck, restart

PID 1의 신호 처리, SIGTERM 그레이스풀 종료의 정확한 흐름, init과 dumb-init의 쓰임, restart 정책 깊이, liveness vs readiness 개념을 다룹니다. 한 컨테이너를 프로덕션에서 안정적으로 운영할 때 필요한 잔주름을 한곳에 모으겠습니다. 도커 고급 시리즈를 마무리합니다.

AWS 중급 #6 ALB / NLB와 ACM (HTTPS)
8 분 소요

AWS 중급 #6 ALB / NLB와 ACM (HTTPS)

AWS의 매니지드 로드 밸런서 ALB / NLB / GWLB의 차이, Listener / Target Group / Health Check의 흐름, 그리고 ACM으로 인증서를 발급받아 HTTPS를 한 번에 다는 운영 흐름까지 정리합니다.

K8s 중급 #2 PV / PVC / StorageClass — 영속 데이터 모델
20 분 소요

K8s 중급 #2 PV / PVC / StorageClass — 영속 데이터 모델

[K8s 기초 #6](/ko/posts/k8s-basics-6)까지 매니페스트에 박힌 설정과 비밀을 외부 객체로 분리했지만, 한 차원이 더 남아 있습니다 — 데이터 자체입니다. 컨테이너 안 파일시스템은 컨테이너가 죽으면 같이 사라지지만, DB 데이터,사용자 업로드,메트릭 시계열은 Pod의 생애주기 너머까지 살아남아야 합니다. 이번 글은 세 객체 `PersistentVolume`, `PersistentVolumeClaim`, `StorageClass`의 삼각관계, 정적,동적 프로비저닝, `accessModes`, `reclaimPolicy`, `volumeBindingMode`, 그리고 [#1](/ko/posts/k8s-intermediate-1)에서 짧게 짚은 `volumeClaimTemplates`가 그 위에서 진짜로 무엇을 만들어 내는지를 한 사이클로 정리하겠습니다.

도커 고급 강좌 #5 리소스 제한과 cgroups
8 분 소요

도커 고급 강좌 #5 리소스 제한과 cgroups

컨테이너의 메모리 한계, CPU 한계, OOMKilled의 진단, JVM과 Node 같은 런타임이 컨테이너 한계를 어떻게 인식하는지, 그리고 ulimit / pids로 다른 격리 수단까지 정리합니다. cgroups v2 위에서 도는 한계의 정확한 동작을 정리하겠습니다.

AWS 중급 #5 Route 53: 도메인과 DNS
7 분 소요

AWS 중급 #5 Route 53: 도메인과 DNS

AWS의 매니지드 DNS인 Route 53. 도메인 등록과 Hosted Zone, A / AAAA / CNAME / Alias 레코드의 차이, 그리고 Simple / Failover / Latency / Geolocation 라우팅 정책까지 정리합니다.

K8s 중급 #1 StatefulSet / DaemonSet / Job / CronJob — Deployment가 아닌 다른 컨트롤러들
16 분 소요

K8s 중급 #1 StatefulSet / DaemonSet / Job / CronJob — Deployment가 아닌 다른 컨트롤러들

[K8s 기초 #4](/ko/posts/k8s-basics-4)의 Deployment는 stateless 워크로드 위에 서 있는 컨트롤러입니다. 같은 Pod 여러 개가 서로 같다고 가정하고, 사라져도 다시 띄우면 그만이라는 단순한 모델입니다. 그러나 정체성과 디스크가 필요한 DB, 노드마다 정확히 하나씩 떠야 하는 에이전트, 한 번 실행하고 끝나야 하는 마이그레이션, 매일 도는 백업 — 이 네 가지는 Deployment로는 표현되지 않습니다. 이번 글은 그 역할을 담당하는 네 컨트롤러 `StatefulSet`, `DaemonSet`, `Job`, `CronJob`을 한 편에 정리하겠습니다.

RHEL 중급 #6 작업 스케줄링 — cron, systemd timer, at
10 분 소요

RHEL 중급 #6 작업 스케줄링 — cron, systemd timer, at

RHEL 9에서 시간 기반 작업을 돌리는 도구 4가지를 운영 관점에서 정리합니다. 전통의 cron과 사용자 crontab, 머신이 꺼져 있던 시간을 보충하는 anacron, 한 번만 예약 실행하는 at, 그리고 cron의 모던 대체인 systemd timer까지 — 어느 도구를 어느 상황에 쓸지 가이드와 함께 다룹니다.

도커 고급 강좌 #4 SBOM과 서명 — 공급망 보안의 입구
7 분 소요

도커 고급 강좌 #4 SBOM과 서명 — 공급망 보안의 입구

이 이미지 안에 무엇이 들어 있는가를 기계가 읽을 수 있는 형태(SBOM)로 만들고, 그 이미지를 누가 만들었는지 cosign 서명으로 검증합니다. xz 사고 이후 표준이 된 공급망 보안 도구 한 묶음을 정리합니다.

AWS 중급 #4 RDS: 매니지드 DB, 백업, 파라미터 그룹
8 분 소요

AWS 중급 #4 RDS: 매니지드 DB, 백업, 파라미터 그룹

AWS의 관계형 DB 매니지드 서비스 RDS. EC2 위 DB와의 비교, 자동 백업과 스냅샷과 PITR, Multi-AZ, 파라미터 / 옵션 그룹, 그리고 마이너 vs 메이저 업그레이드의 운영 흐름까지 정리합니다.

K8s 기초 #7 Namespace와 라벨 — 클러스터 정리법
14 분 소요

K8s 기초 #7 Namespace와 라벨 — 클러스터 정리법

시리즈를 따라오면서 한 가지 사실이 조용히 지나갔습니다 — 지금까지 만든 Pod, Deployment, Service, ConfigMap, Secret이 전부 default 네임스페이스 한 곳에 들어갔다는 점. 그리고 [#4](/ko/posts/k8s-basics-4) selector부터 라벨도 쭉 보고 있었지만 정리는 안 했습니다. 이번 글은 그 두 도구 — Namespace와 라벨 — 로 클러스터를 사람이 읽을 수 있는 모양으로 정리하는 법, 그리고 시리즈 7편의 도착점에서 다음 트랙(K8s 중급)을 짧게 예고합니다.

도커 고급 강좌 #3 이미지 보안 — non-root, distroless, Trivy 스캔
8 분 소요

도커 고급 강좌 #3 이미지 보안 — non-root, distroless, Trivy 스캔

컨테이너 보안의 기본 도구를 한곳에 모으겠습니다. USER로 비특권 사용자 떨어트리기, read-only 루트와 tmpfs, capabilities drop, distroless로 공격 표면 좁히기, Trivy/Grype의 취약점 스캔, hadolint의 Dockerfile 린트까지 정리합니다.

AWS 중급 #3 S3: 정적 호스팅, presigned URL
8 분 소요

AWS 중급 #3 S3: 정적 호스팅, presigned URL

AWS의 가장 오래된 객체 스토리지 S3. 버킷의 모양과 이름의 글로벌 유일성, 정책과 Public Access Block, 정적 사이트 호스팅, presigned URL, 그리고 스토리지 클래스로 비용을 낮추는 패턴까지 정리합니다.