2025/10 6

AWS - ENI

안녕하세요.오늘은 AWS의 ENI에 대해 알아보겠습니다. # ENI 란? ENI란 Elastic Network Interface의 약자로 EC2 인스턴스가 네트워크에 연결되기 위해 사용하는 가상 네트워크 어댑터(Virtual NIC) 입니다. 또한 ENI는 Private IP와 MAC 주소를 가지고 있으며 Public IP를 붙일 수도 있습니다. 그렇다고 ENI가 단순한 NIC는 아닙니다. AWS에서 ENI는 EC2의 네트워크를 정의하는 논리적 단위입니다.즉, EC2 인스턴스가 어떤 서브넷에 속할지, 어떤 보안그룹 규칙을 적용받을지,그리고 어떤 라우팅 테이블을 따라 외부와 통신할지가 모두 ENI 단위에서 결정됩니다. 저희가 네트워크 아키텍쳐를 표현할 때 흔히들 서브넷 내부에 EC2를 표현하고는 합니다..

AWS 2025.10.31

Terraform - state file 관리 (with. Azure Storage Account)

안녕하세요.오늘은 테라폼 state 파일을 Azure Storage Account로 관리하는 방법에 대해 알아보겠습니다. # Terraform State 파일 이란? 테라폼은 상태 저장형 애플리케이션입니다. 코드로 선언한 인프라 상태와 실제 클라우드 인프라 상태를 비교해 리소스를 생성, 수정, 삭제하는 작업을 수행하는데이때 상태 파일을 기반으로 동작합니다. 상태 파일은 현재 관리되는 리소스의 상태를 기록한 핵심 데이터로서, 테라폼의 모든 배포 작업은 이 파일을 토대로 이루어집니다. 보통 혼자 테스트하는 환경이라면 로컬 PC에 저장을 합니다. 하지만 팀 단위로 테라폼을 활용하여 리소스를 관리한다면 원격 저장소에 공유하는 방식으로 관리합니다. 원격 저장소에 관리하는 방식은 굉장히 다양합니다. AWS의 S3가..

Terraform 2025.10.18

Kubernetes - MetalLB

안녕하세요.오늘은 MetalLB에 대해 알아보겠습니다. 저희는 앞서 쿠버네티스 서비스에 대해 알아보았는데요. Kubernetes - 서비스란?그중 Load Balancer 타입에 대해서 알아보았습니다. 공식 문서에서도 알 수 있듯이 `loadbalancer` 타입은 클라우드 공급자의 로드밸런서를 필요로 합니다. Azure, AWS 같은 클라우드 환경에서는 `loadbalancer` 타입의 서비스를 생성하면 클라우드가 자동으로 로드 밸런서 인스턴스(예: aws의 NLB, azure의 LB)를 만들어 트래픽을 분산시켜 줍니다. 하지만 온프레미스 환경에서는 이런 기능은 자동으로 제공되지 않습니다. 이때 Metal LB를 사용하면, 클라우드 처럼 별도의 로드 밸런서 서버를 만들지 않아도 외부에서 접근 가..

Kubernetes 2025.10.12

Kubernetes - Ingress Controller

안녕하세요. 오늘은 Ingress Controller에 대해 알아보겠습니다. # Ingress Controller 란? 쿠버네티스가 지원하는 파드, 컨트롤러와 같은 API 중 하나로 웹 기반의 서비스를 외부에서 접속 가능하게 해 줍니다.대표적으로 아래와 같은 기능을 제공합니다. Service에 외부 URL을 제공트래픽을 로드밸런싱SSL 인증서 처리Virtual hosting을 지정간단히 말해서 7 계층 로드밸런서의 역할을 합니다.이러한 Ingress Controller에는 다양한 오픈 소스가 존재합니다. NGINX Ingress ControllerTraefikHAProxyIstio Gateway클라우드별 컨트롤러 (AWS, GCP)저희는 NGINX Ingress Controller로 테스트를 진행하겠습니..

Kubernetes 2025.10.09

Kubernetes - PV (with Azure)

안녕하세요. 오늘은 쿠버네티스에서 스토리지로 사용되는 Persistent Volume에 대해 알아보겠습니다. # Persistent Volume 이란? 파드는 기본적으로 생성되었다 삭제되었다를 반복합니다. 삭제될 때마다 파드에 저장된 데이터도 삭제된다면 서비스를 운영하는 입장에서는 굉장히 불편하고 비효율적일 것입니다. 이럴 때 사용가능한 것이 Persistent Volume(PV) 입니다. 영어 뜻은 영구적인 볼륨이라는 의미로 PV는 외부의 다양한 스토리지 서비스를 통해 파드가 삭제돼도 데이터를 보존할 수 있게 합니다. 위 그림과 같이 클러스터 외부의 서버에 데이터를 저장하는 것이 가능합니다. 파드에서 PV에 접근하기 위해서 PVC라는 것이 필요합니다. Persistent Volume Claim의 준말로..

Kubernetes 2025.10.07

Kubernetes - configmap, secret

안녕하세요. 오늘은 "configmap"과 "secret"에 대해 알아보겠습니다. # configmap 이란?configmap은 환경 설정값(configuration data) 을 관리하기 위한 리소스입니다. 예를 들어,DB와 연결이 필요한 파이썬 앱을 Pod로 띄웠을 때 ConfigMap이 없다면,매번 Pod 안에 들어가서 DB 주소나 포트 번호 같은 값을 직접 입력해야 합니다. 하지만 configmap을 사용하면 이런 설정값들을 한 곳에 모아서 관리할 수 있게 됩니다. Pod는 그 값을 불러와서 사용하기만 하면 됩니다. 이렇게 configmap으로 저장된 값은 etcd 내부에 평문으로 저장됩니다.# 환경 구성Flask를 이용하여 웹페이지에 접속하는 IP를 supabase에 저장하는 환경을 구축해 보..

Kubernetes 2025.10.05