본문 바로가기
728x90
Cilium Overlay Network 실습 들어가며Kubernetes 환경에서는 기본적으로 모든 노드가 같은 네트워크 대역에 있을 때, 별다른 추가 설정 없이도 Pod 간 통신이 가능합니다.왜냐하면 Kubernetes가 각 Pod에 고유한 IP인 PodIP를 부여하고, 해당 IP들 간의 라우팅을 자동으로 구성해주기 때문입니다. 이때 Pod 간 통신은 ClusterIP(Service)를 거치지 않고 직접 Pod IP로 이루어집니다. 하지만 실제로 운영을 하다보면 모든 노드들을 같은 subnet에 배치하기 어렵습니다.AWS EKS는 VPC CNI를 사용해 예외적인 구조를 가지므로 여기서는 논외로 합니다. 이러한 경우 기본적인 CNI로는 Pod간 통신이 불가능합니다. 이번에 해본 실습은 Control Plane 노드(k8s-ctr)와 Worker.. 2025. 8. 6.
Cilium 환경에서 NodeLocal DNSCache 적용하기 NodeLocalDNSNodeLocalDNS란? NodeLocal DNSCache는 Kubernetes 클러스터의 각 Node에서 DNS 캐싱 기능을 수행하는 Agent를 DaemonSet으로 실행하여 DNS 성능과 안정성을 개선하는 기능입니다. 기본적인 kubernetes 아키텍처에서는 모든 DNS 쿼리가 kube-dns/CoreDNS의 Service IP를 통해 전달되는데, 이는 kube-proxy에 의해 추가된 iptables DNAT 규칙을 거쳐 최종적으로 kube-dns/CoreDNS 엔드포인트로 변환되었습니다. 하지만 이러한 방식은 경로가 복잡하고 트래픽에 대해 추적을 할 때나 디버깅할 때 매우 복잡하고 네트워크 복잡도가 높아 성능상 비효율적입니다. NodeLocal DNSCache는 각 N.. 2025. 7. 30.
Cilium IPAM Mode와 IPAM 모드 변경 실습 IPAMIPAM이란?흔히 IPAM (IP Address Management)은 네트워크에서 IP 주소를 정리하고 관리하는 시스템을 말합니다. IPAM 예시기업에서 직원용 PC에 IP 자동 할당기업에서 직원용 PC에 IP를 할당할 때에 IPAM에서 DHCP 서버와 연동해 사용 가능한 IP 주소 풀을 정의하고, PC를 네트워크에 연결하면 DHCP가 자동으로 IP를 할당하고 IPAM이 기록합니다.학교에서 학생들의 기기에 대한 IP 추적IPAM에서 각 교실이나 사용자 그룹별로 서브넷을 나누고 IP를 예약합니다. 그 후 기기 접속 시 IPAM은 할당된 IP와 접속 이력을 저장해 누가 언제 사용했는지 추적이 가능합니다. Cilium에서의 IPAMCilium은 Kubernetes 네트워크를 구성할 때, Pod에 할당.. 2025. 7. 28.
Cilium Hubble을 활용한 L7 네트워크 가시성 및 메트릭 수집 실습 HubbleHubble이란?Hubble에 대한 내용은 이전의 포스팅한 내용으로 대체합니다.Hubble은 클라우드 네이티브 워크로드를 위한 완전 분산형 네트워킹 및 보안 가시성 플랫폼입니다. Hubble은 오픈 소스 소프트웨어이며, Cilium과 eBPF 위에 구축되어 서비스 간의 통신과 동작뿐만 아니라 네트워킹 인프라에 대해 깊이 있는 가시성을 완전히 투명한 방식으로 제공 합니다. 요약하자면 Hubble은 Cilium의 eBPF 기반 datapath 위에서 동작하며, gRPC를 통해 수집된 L3~L7 네트워크 이벤트를 실시간으로 스트리밍하고, DNS, HTTP, gRPC 등 주요 프로토콜에 대한 가시성과 보안 분석을 가능하게 한다. 실습Hubble 환경 구성 이전 글처럼 위와 같은 환경을 Vagr.. 2025. 7. 26.
eBPF 기반 Cilium을 통한 K8s 네트워크 트래픽 분석 실습 더보기이 내용은 CloudNet@에서 진행하는 Cilium 스터디를 참여하면서 공부하는 내용을 기록하며, CloudNet@에서 제공해주는 자료들을 바탕으로 작성되었습니다.들어가며kubernetes는 기본적으로 kube-proxy를 통해 네트워크를 처리합니다. 하지만 iptables를 사용하는 kube-proxy의 경우 cluster가 커지고, 서비스가 많아질수록 iptables의 규칙이 수천 개 이상으로 증가하게 되는데 규칙이 많아질수록 packet이 전달될 때마다 순차적으로 검사하게 되므로 latency와 CPU 사용량이 증가하게 됩니다. (이것이 곧 성능 저하 및 관리 복잡도 상승...!) 이를 해결하기 위해 등장한 Cilium을 통해 iptables없이 kurnel 레벨에서 직접 트래픽을 처리하는 .. 2025. 7. 19.
Terraform으로 AWS RDS MySQL 8.0에 감사 로그(Audit Log) 설정하기 Audit log 파라미터 설정 시 발생하는 오류기본적으로 terraform으로 AWS RDS의 MySQL을 구성했다면, 아래와 같이 감시 로그(audit_log)를 설정합니다.# 감사 로그 이벤트 설정parameter { name = "server_audit_events" value = "CONNECT,QUERY"}# 감사 로그 제외 사용자(rdsadmin)parameter { name = "server_audit_excl_users" value = "rdsadmin"}... 그러나 위와 같은 파라미터 설정은 MySQL 8.0에서는 적용되지 않아, 아래와 같은 에러가 발생합니다.Error: Error modifying DB Parameter Group: InvalidParame.. 2025. 5. 4.
Amazon VPC Lattice로 EKS 외부 연결 구성하기 들어가며 최근 AWS에서 출시한 Amazon VPC Lattice는 서비스 간 통신을 네트워크 레벨이 아닌 애플리케이션 레벨에서 제어할 수 있는 완전관리형 서비스입니다. 기존의 복잡한 피어링, 프록시 설정, 보안 구성 없이도 VPC, 계정, 구성 환경(EKS, EC2, Lambda 등)의 제한 없이 통신 경로를 구성할 수 있다는 점에서 주목받고 있습니다. https://aws-ia.github.io/terraform-aws-eks-blueprints/patterns/network/client-server-communication/ Amazon VPC Lattice Client-server Communication - Amazon EKS Blueprints for TerraformAmazon VPC La.. 2025. 4. 25.
AWS EKS에서 Graviton 인스턴스 사용하기(Feat. GPU Time-Slicing) 들어가며 요즘 GPU에 대한 수요는 폭발적으로 증가하고 있습니다. 하지만 고가의 GPU 자원을 효율적으로 운영하는 것은 여전히 어려운 과제이며, 리소스 낭비나 충돌이 빈번하게 발생하는 상황입니다.이러한 문제를 해결할 수 있는 기술로는 GPU 가상화와 Time-Slicing이 있습니다. 이번 포스팅에서는 Amazon EKS 환경에서 GPU를 사용하는 기본적인 구성부터, Time-Slicing을 적용한 GPU 공유 방식까지 실습을 진행해보겠습니다. GPU 활용의 과거와 미래GPU 사용의 필요성머신러닝과 딥러닝이 요즘 가장 핫하고 유망한 기술로 평가받고 있습니다. 그렇기 때문에 점점 더 복잡하고 계산 집약적인 모델을 다루게 되었고, 이러한 모델을 효과적으로 학습하고 배포하기 위해서는 고성능 컴퓨팅 자원이 필.. 2025. 4. 23.
HashiCorp Vault를 활용한 CI/CD 환경의 Secret 관리 자동화 (Jenkins, ArgoCD) 들어가며Secret은 API 키, 비밀번호, 데이터베이스 자격 증명, OAuth/JWT 토큰, TLS 인증서처럼 민감한 정보를 의미합니다. 이러한 중요한 정보들을 GitHub 같은 공개 저장소에 평문으로 저장하는 것은 매우 위험합니다. 실수로 코드에 포함되거나 외부에 노출될 경우, 서비스 전체가 공격받을 수 있는 심각한 보안 사고로 이어질 수 있기 때문입니다. 그렇기 때문에 Secret을 안전하게 관리하기 위한 전용 도구가 필요하며, 그중 대표적인 솔루션이 바로 HashiCorp Vault입니다. Vault를 사용하면 Secret을 중앙에서 안전하게 저장하고, 접근 권한을 세밀하게 제어할 수 있으며, Secret을 자동으로 생성하거나 일정 시간이 지나면 폐기되도록 설정할 수 있어, 수동으로 관리할 때보다.. 2025. 4. 11.
AWS EKS 업그레이드 실습: Control Plane부터 Node Group까지 들어가며 AWS에서 EKS 클러스터를 운영하다 보면 어느 순간 반드시 마주하게 되는 작업이 있습니다. 바로 Kubernetes 버전 업그레이드입니다.  보안 패치나 신규 기능을 위해 필요한 과정이지만, 어디서부터 어떻게 시작해야 할지 막막한 경우가 많습니다.단순히 Control Plane만 업그레이드하면 끝일 것 같지만, 실제로는 Add-on과 Managed Node Group(Data Plane)까지 함께 고려해야 안정적인 업그레이드가 가능합니다. (게다가 업그레이드 방식도 In-Place로 할지, Blue-Green 전략을 쓸지 선택해야 합니다.)이번 포스팅에서는 AWS EKS 클러스터를 업그레이드할 때 필요한 모든 과정을 AWS Workshop을 통해 실습해 보면서 해당 내용을 정리했습니다. EKS.. 2025. 4. 2.
728x90