본문 바로가기

전체 글203

[EKS] AWS VPC CNI? 01. AWS EKS 네트워킹01-1. AWS VPC CNI란?AWS VPC CNI(Container Network Interface)는 EKS의 파드(Pod)가 워커 노드(EC2)의 ENI를 직접 공유하지 않고, 노드에 부착된 ENI의 세컨더리 IP를 매핑받아 사용할 수 있도록 하는 네트워크 플러그인이다. 이를 통해 파드는 VPC 서브넷 내에서 자체 IP를 가진 리소스처럼 동작할 수 있다. VPC CNI 방식을 사용하는 이유는 파드가 VPC 네트워크의 보안 그룹, 라우팅, 로깅 기능을 그대로 적용받을 수 있고, 별도의 오버레이 네트워크나 NAT 없이 단순하고 고성능의 통신이 가능하기 때문이다.✅ 1. VPC CNI 특징Pod가 VPC 서브넷에서 직접 IP를 받아, EC2와 동일한 네트워크 모델 사용보안.. 2025. 9. 11.
[EKS] eksctl에서 AWS EKS 확인 및 설정 01. Amazon EKS 클러스터 정보 확인 및 설정 (eksctl)01-1. krew 플러그인 확인# kubectl krew 목록 확인kubectl krew listPLUGIN VERSIONctx v0.9.5 # k8s context 확인get-all v1.3.8 # namespace의 모든 리소스 확인 가능krew v0.4.4 # k8s plugin 검색, 설치...ns v0.9.5 # 현재 위치한 ns 확인 및 변경ctx: 현재 위치한 컨텍스트 확인 및 변경 가능get-all: namespace의 모든 리소스 확인krew: kubectl 플러그인 검색, 설치, 업데이트, 제거ns: 현재 위치한 네임 스페이스 확인 및 변경# kube_ps1 활성화kubeon(eks-.. 2025. 9. 9.
[EKS] eksctl에서 EKS 배포 01. eksctl에서 AWS EKS 배포myeks-host에서 eksctl create cluster 명령을 수행하면 단일 EKS 클러스터가 구성이 된다. 이 때, 옵션에 따라 다르지만 eksctl 명령어 한 번으로 EKS 클러스터는 물론이고 노드그룹까지 한 번에 생성이 가능하다. 우선 eksctl create cluster 명령으로 EKS 클러스터를 위한 IAM 역할을 생성하고 Control Plane을 구성, kubeconfig 정보를 업데이트 하는 순서로 이어진다. eksctl이 EKS 클러스터 생성을 위한 다양한 리소스를 동적으로 만드는 원리는 Cloudformation을 활용한 것이다. 요청에 의해 CloludFormation 스택을 생성하고, 스택에 정의된 자원을 동적으로 생성한다. 추가적으.. 2025. 9. 9.
[EKS] 관리 콘솔에서 EKS 배포 01. 관리 콘솔에서 AWS EKS 배포EKS 실습을 진행하기 위해서 사용자 커스텀 VPC(192.168.0.0/16)를 생성하고, 2개의 가용영역(AZ)와 2개의 퍼블릭, 프라이빗 서브넷을 생성하였다. 이제 기본 인프라는 구성 되었으니, AWS 관리 콘솔에서 EKS 클러스터를 생성한다.01-1. EKS 클러스터 생성우선 AWS 관리 콘솔로 접속해서 EKS 클러스터를 생성하는 작업을 진행한다. EKS 클러스터를 생성하는 경우 컨트롤 플레인(Control Plane)이 AWS가 관리하는 관리형 VPC(Managed VPC)에 위치하게 된다. 이때, Auto Scaling Group, ELB, EC2 등이 자동으로 생성이 되는데, 이렇게 자동으로 생성이 되게 하려면 EKS Control Plane에게 IAM.. 2025. 9. 9.
[EKS] CloudFormation 기본 인프라 배포 01. 실습 개요01-1. CloudFormation 스택 생성Cloudformation을 통해 리소스를 생성하면 사용자 커스텀 VPC인 my-eks-VPC가 생성된다. 이 VPC는 2개의 가용영역에 서브넷을 생성하고, 퍼블릭 서브넷에 myeks-host라는 EKS 관리 목적의 Bastion Host도 생성한다. Cloudformation을 통해 기본 인프라를 구성하였으니, 다음으로 관리 콘솔에서 EKS 클러스터를 생성하는 작업을 진행 해보자.01-2. 관리 콘솔에서 EKS 배포이전에 CloudFormation을 통해 사용자 커스텀 VPC를 생성했다. 이제 EKS 클러스터를 생성하는 과정을 갖는다. 콘솔에서 EKS 클러스터를 생성하면 기본적으로 AWS가 관리하는 별도의 VPC에 Control Plane(.. 2025. 9. 9.
[EKS] AWS EKS 소개 및 배포, Control Plane과 Data Plan 그리고 Cluster Endpoint Access 01. EKS 소개 및 클러스터 배포 방법이번 시간에는 EKS를 소개하고, EKS를 어떻게 배포할 수 있는지 살펴본다. 이어서 EKS를 구성하는 주요 요소인 Master Node와 Worker Node를 정리하고, 마지막으로 EKS 클러스터의 Control Plane에 위치한 Kubernetes API Server의 엔드포인트 접근 방식과 통신 흐름을 알아본다.01-1. Amazon EKS 특징Amazon EKS는 컨트롤 플레인(Control Plane)과 데이터 플레인(Data Plane)을 제공해주는 완전 관리형 쿠버네티스(k8s) 서비스이다. 여기서 말하는 완전 관리형이란 말은, k8s에서 제공되는 마스터 노드(Master Node)의 관리를 사용자가 직접 하는 것이 아닌, AWS에서 유지 및 운영.. 2025. 9. 9.
[EKS] 가상머신 vs 컨테이너? 이번 시간에는 EKS를 알아보기에 앞서 VM과 컨테이너의 차이점에 대해 알아보는 시간을 갖는다. 또한 Docker와 k8s의 전반적인 개념에 대해서도 알아볼 예정이다.01-1. 가상머신 vs 컨테이너가상머신(VM)과 컨테이너는 애플리케이션을 IT 자원으로부터 독립적으로 격리하는 특성을 가진다. 이는 하나의 애플리케이션이 다른 애플리케이션에 영향을 주지 않도록, 각각 별도의 실행 환경을 제공한다는 의미다. 예를 들어, VM은 대형 쇼핑몰 전체를 복제해 하나 더 만드는 방식으로, 완전한 독립 환경을 구성한다. 반면 컨테이너는 동일한 쇼핑몰 안에 상점을 분리해 임대하는 개념으로, 각 상점이 자체 환경을 가지되 기본 인프라는 공유하는 구조라고 볼 수 있다.01-2. 가상머신 특징가상머신(VM)은 하드웨어 인프라.. 2025. 9. 9.
[Network] Linux namespace, cgroup 01. namespace?01-1. namespace리눅스에서 프로세스(process)는 네임스페이스(namespace)라는 단위를 기본적으로 가진다. 네임스페이스는 커널 자원을 논리적으로 분리하여 각 프로세스가 독립된 리소스 환경을 가지도록 하는 기술이다. 쉽게 말해, 대형 쇼핑몰 안에 여러 개의 상점이 있고 각 상점이 독립적으로 운영되는 것과 같다. 하나의 상점(namespace)은 다른 상점에 허락 없이 접근할 수 없듯, 프로세스 역시 다른 네임스페이스의 자원에 직접 접근할 수 없다.01-2. namespace 종류pid, net, mnt, uts, user, ipcLinux에서 생성되는 프로세스(process)들은 별다른 설정이 없는 경우, 최초로 실행되는 init 프로세스가 속한 '초기(init.. 2025. 8. 28.
[AWS] Saving Plan vs Reserved Instance AWS 비용 최적화를 진행하던 중, 24시간 구동중인 검색 엔진 EC2 인스턴스의 스펙 최적화가 필요하였다. 당장 ECK on EKS로 이관하는 것은 러닝커브가 있으며, 인력 구조상 쉽지 않은 상태이기에 Saving Plan or RI를 활용하여 비용 최적화를 하는 방향으로 목표를 잡았다. SP와 RI에 대한 내용을 정리한다.01. Saving Plan vs Reserved Instance01-1. Reserved Instance(RI 예약 인스턴스) Reserved Instance & Savings Plan - NDS Cloud Tech BlogEC2, RDS, Fargate, Lambda 등 AWS 사용 비용을 절감할 수 있는 Reserved Instance(예약 인스턴스)와 Savings Plan(.. 2025. 8. 7.
[Spring] RestTemplate vs WebClient vs RestClient OpenSearch API에서 FastAPI 기반 Embedding API로 HTTP 요청을 보내야 하는 요구사항이 있었다. 초기 구현은 WebClient로 작성했지만, 논블로킹 이벤트-루프 모델이 반드시 필요한 시나리오는 아니었다. 따라서 동기·블로킹 방식인 RestClient로 로직을 리팩터링해 코드 가독성과 유지보수성을 높이는 것이 적절하다고 판단했다. 하여 어떤 부분이 다르고, 어떤 특징이 있는지 알아본다.01. RestTemplate vs WebClient vs RestClient항목RestTemplateWebClientRestClient최초 도입Spring 3.0 (2009)Spring 5 (WebFlux, 2017)Spring 6.1 (2023)스레드 모델동기·블로킹비동기·논블로킹동기·블로킹.. 2025. 8. 4.