lemon • 2025-08-09 • Infrastructure, Networking
이번 글에서는 Ubuntu 22.04 기반 VM 환경에서 로컬 DNS 서버를 구축하고, 다양한 환경(Docker, macOS, 그리고 Ubuntu)에서 이를 설정하는 방법을 정리합니다.
Read More 🖉 DNS, dnsmasq, Docker, Kubernetes, Ingress, DevOpsOAuth2 Proxy 설치 및 API 인증 구성 가이드
lemon • 2025-08-07 • Authentication, Security, Kubernetes
OAuth2 Proxy는 Keycloak, Google, GitHub 등 외부 OAuth2 또는 OpenID Connect 제공자를 통해 사용자 인증을 수행하고, 인증된 사용자만 웹 애플리케이션이나 API에 접근할 수 있도록 보호해주는 인증 프록시입니다.
주로 NGINX, Istio, Envoy, Kong과 같은 리버스 프록시나 Ingress Controller와 함께 사용되며, 애플리케이션이 별도의 인증 로직을 구현하지 않아도 외부에서 손쉽게 인증 기능을 구성할 수 있게 해줍니다.
Read More 🖉 oauth2-proxy, keycloak, kubernetes, security, API Gatewaylemon • 2025-08-06 • DB
Flyway는 데이터베이스 마이그레이션을 자동화하고 관리하기 위한 도구로, SQL 기반 마이그레이션 스크립트를 버전 관리할 수 있으며 애플리케이션 배포 파이프라인과 자연스럽게 통합됩니다. 애플리케이션에 Flyway를 포함하여 Kubernetes에 배포할 경우, 여러 Pod가 동시에 실행되면 DB 테이블 락(table lock) 문제로 인해 마이그레이션 충돌이 발생할 수 있습니다. 이를 방지하기 위해 분산 락(distributed lock)을 사용하여 먼저 시작된 Pod가 다른 Pod의 마이그레이션 완료를 기다리도록 구현할 수 있습니다.
또 다른 접근 방법으로, Flyway 마이그레이션을 애플리케이션에서 완전히 분리하고, Kubernetes 환경에서 Job 리소스로 관리하는 방법이 있습니다. 이 방식은 마이그레이션을 배포와 별도로 한 번만 실행되도록 보장하여, 여러 개의 애플케이션 Pod가 동시에 기동될 때 발생하는 충돌 문제를 근본적으로 해결합니다. 이렇게 Job으로 분리하여 DB 마이그레이션을 실행하면 네트문제로 잠시 실패를 해도 재시도가 가능하며, 애플리케이션과 완전히 분리함으로써 문제 발생 시 대처가 더 용이해집니다.
Read More 🖉 Flyway, kustomizeKong Gateway 설치 및 API 인증 설정 가이드
lemon • 2025-08-04 • API Gateway, Security
Kong Gateway는 마이크로서비스 아키텍처에서 API 트래픽을 관리하고 보호하기 위한 오픈소스 API Gateway입니다.
로드 밸런싱, 인증, 라우팅, 속도 제한, 로깅, 플러그인 기반 확장성 등을 제공하며, 클라우드 네이티브 환경에 적합한 유연하고 확장 가능한 구조를 갖추고 있습니다.이번 글에서는 Kubernetes 환경에서 GitOps 방식으로 Kong Gateway를 배포하고, 서비스 등록과 라우팅 구성, 그리고 OIDC 플러그인을 활용한 API 접근 제어까지 단계별로 살펴보겠습니다.
Read More 🖉 Kong, API Gateway, Authentication, Security, APISpring Security와 Keycloak 연동 가이드
lemon • 2025-08-01 • Backend, Security, Authentication
Spring 애플리케이션에 인증 및 권한 관리를 도입할 때 가장 흔히 고려되는 방식 중 하나가 OAuth2 기반 보안 체계입니다. 특히 마이크로서비스 환경에서는 개별 API에 대해 세분화된 접근 제어가 필요하기 때문에, 외부 인증 서버와의 안정적인 연동이 필수적입니다. Keycloak은 OAuth2와 OpenID Connect를 지원하는 오픈소스 인증 서버로, SSO(Single Sign-On), 사용자 관리, 역할 기반 접근 제어(RBAC) 등 보안 기능을 통합적으로 제공합니다. Spring Security와 연동하면 Keycloak의 인증 기능을 활용하면서도, 각 API에 대해 유연한 권한 제어 정책을 구현할 수 있습니다.
Read More 🖉 Spring Boot, Keycloak, OAuth2, Microservices, Security