Month November 2025

EKS – GitHub Actions를 통한 CI/CD 자동화

CI/CD 개념 이해 배포 작업의 분류 일회성 작업 (한 번만 설정) 반복적 작업 (코드 변경 시마다) 자동화가 필요한 이유 수동 배포의 문제점 실수 가능성이 높고 시간 소모적이다 자동화의 장점 GitHub Actions 핵심 개념 Workflow 파일 위치 중요: .github/workflows 경로는 Github와의…

EKS – HTTPS 인증서

암호화 기초 개념 단방향 암호화 단방향 암호화의 특징은 암호화만 가능하고 복호화는 불가능한 특징을 갖는다. 비밀번호 저장(SHA-256)이나 세션/토큰(해시 함수)을 만들 때 사용하며 한 번 암호화하면 원본으로 되돌리 수 없다 양방향 암호화 양방향 암호화의 특징은 암호화와 복호화 모두가 가능하다 특징 비대칭키 방식…

EKS – Kubernetes Secret과 Spring Deployment

Kubernetes Secret 관리 Secret은 민감한 정보 (데이터베이스 암호, API 키 등)를 코드와 분리하여 Kubernetes 자원으로 안전하게 저장하는 메커니즘이다 저장 → 주입 흐름 Secret 생성 실제 예시 Secret 조회 출력 예시 참고: Secret의 데이터는 Base64로 인코딩 되어 있다(암호화가 아니다). Base64 디코더로…

EKS – Spring 프로젝트 ECR 업로드

Spring 프로파일 설정 이해 프로파일 구조 Spring 프로젝트에는 환경별로 다른 설정을 사용하기 위한 프로파일 시스템이 있다 프로파일 활성화 메커니즘 application.yml 이 설정을 prod로 변경하면 application-local.yml application-prod.yml 핵심: application.yml의 default 값과 각 프로파일 파일의 on-profile 값이 일치하면 해당 파일이 적용된다 Kubernetes…

EKS – Spring 배포를 위한 인프라 구성

배포 절차 개요 전체 배포 단계 사전 준비 상태 확인 다음 자원들이 이미 구성되어 있다고 가정한다 만약 클러스터가 완전히 새로운 상태라면, Route53 호스팅 영역 생성과 Ingress Controller 설치를 먼저 진행해야 한다 Amazon RDS 생성 및 설정 RDS 생성 AWS Console…

트리와 이진트리

트리(Tree) 개념 트리는 비선형 자료구조로, 계층적 관계를 표현하는데 최적화된 구조이다. 마치 나무가 뿌리에서 시작해 가지를 뻗어나가는 모습과 유사하여 ‘트리’라는 이름이 붙었다. 실생활에서는 회사의 조직도, 운영체제의 파일 시스템 등에서 트리 구조를 쉽게 찾아볼 수 있다 트리의 기본 용어 트리의 레벨과 높이…

EKS – Spring 백엔드 서버 배포 아키텍처

Spring 백엔드 서버 배포는 두 단계로 진행한다 MSA와 Kubernetes를 같이 사용하는 이유 MSA 아키텍처는 Kubernetes와 궁합이 매우 잘 맞는다 따라서 MSA 아키텍처를 사용하는 기업에서는 Kubernetes(특히 EKS)로 배포 환경을 구성하는 경우가 많다. MSA 서버 배포까지 경험해야 Kubernetes 배포를 제대로 이해했다고 할…

EKS – Kubernetes Ingress

Ingress가 필요한 이유 Pod 접근의 한계 Kubernetes 클러스터가 구성되어 있다고 가정해보자. 컨트롤 플레인이 하나 있고, 워커 노드가 2대 실행되고 있다. 각 워커 노드에 Pod가 하나씩 배포되어 있는 상황이다 사용자가 Pod 안에서 실행 중인 애플리케이션의 데이터를 받으러면 어떻게 해야 할까? Pod로…

P-NP 문제

알고리즘의 성능을 평가할 때 우리는 Big-O 표기법을 사용한다. 어떤 문제를 해결하는 방법, 즉 알고리즘은 여러 가지가 있을 수 있으며, 이 알고리즘의 성능을 비교하고 평가할 때 Big-O 표기법이 쓰인다. 반면 P-NP 문제는 조금 다른 관점에서 문제를 바라본다. 어떤 문제가 주어졌을 때…

Kafka를 활용한 MSA 이벤트 기반 아키텍처 구축

Kafka를 활용하여 마이크로서비스 아키텍처(MSA) 기반의 회원 가입 및 이메일 발송 시스템을 구축하는 방법을 알아보자. Kafka의 메시지 브로커 역할을 통해 서비스 간 비동기 통신을 구현하며, 이벤트 기반 아키텍처의 핵심 개념을 실습한다 프로젝트 목표 시스템 아키텍처 전체 구조 서비스 구성 서비스 역할…