반응형
IT PICUTRE
- SSL 인증서 발급/갱신 시 DNS TXT 인증 정리 (일반형 가이드) SSL 인증서를 발급하거나 갱신하는 과정에서도메인 소유를 확인하기 위해 DNS TXT 레코드 추가를 요구하는 경우가 많다.이 글에서는 특정 인증기관에 국한하지 않고,일반적으로 적용되는 DNS TXT 인증 절차를 정리해본다.(Azure DNS 기준 예시 포함)📌 1. DNS TXT 인증이란?도메인이 실제로 본인의 소유인지 검증하기 위한 방식이다.인증기관(CA, Certificate Authority)은 DNS에 특정 TXT 값을 넣고,그 값이 정상적으로 조회되는지 확인해서 도메인 소유권을 증명한다.대표적인 CA들:Let’s EncryptDigiCertSectigoGlobalSignZeroSSLGoogle Trust ServicesAWS ACM 등※ 각 기관마다 TXT 값의 형식은 조금씩 다르지만, 절차는.. 2025.11.17
- 오픈소스 검색엔진 비교: OpenSearch vs Meilisearch vs Typesense 1️⃣ 들어가며검색 기능은 단순히 문자열을 찾는 기능을 넘어, 언어 구조를 이해하고 유사한 의미까지 탐색하는 기술로 진화하고 있다.특히 한국어는 띄어쓰기 규칙이 불규칙하고 복합명사가 많아, 검색엔진 선택이 검색 품질에 직접적인 영향을 준다.이번 글에서는 대표적인 오픈소스 검색엔진인OpenSearch, Meilisearch, Typesense를 비교하며,한국어 처리력·띄어쓰기 오류 대응·개발 난이도 측면에서 분석한다.2️⃣ 엔진별 개요 항목 OpenSearch Meilisearch 기반 구조Lucene 기반 (Elasticsearch fork)Rust 기반C++ 기반주요 특징대규모 데이터, 고급 쿼리, 형태소 분석설치 간단, 빠른 인덱싱실시간 검색, 자동완성 최적화형태소 분석✅ Nori Analyzer .. 2025.11.06
- 그림과 실습으로 배우는 쿠버네티스 입문 📘 서평: 《그림과 실습으로 배우는 쿠버네티스 입문》클라우드 환경에서 일반적인 가상머신 기반 구조를 쿠버네티스로 이전하면서,처음 쿠버네티스를 접하는 개발자에게 어떻게 이 기술을 이해시키고 익히게 할 수 있을까 고민하던 시점에 이 책을 만났습니다.개념을 설명할 때 ‘그림’만큼 강력한 도구는 없다고 생각합니다. 그래서 제가 작성하는 발표자료나 기술문서에도 늘 시각 자료를 넣습니다.이 책은 그런 면에서 정말 매력적이었습니다. 이름 그대로 ‘그림과 실습’ 중심으로 구성되어 있어,쿠버네티스를 처음 접하는 분들에게 개념을 시각적으로 쉽게 이해시켜 주고,직접 따라 하며 감각적으로 익힐 수 있도록 돕습니다.💬 만화로 시작하는 친숙한 접근 책의 챕터의 첫부분은 쿠버네티스 개념을 대화 형식의 만화로 소개합니다.지금까.. 2025.11.02
- Redirect, Rewrite, Host Header Forwarding — 요청 전달 기법 완전 정리 웹 서비스나 API 게이트웨이를 운영하다 보면, 트래픽을 다른 서버나 경로로 전달하거나 내부적으로 라우팅하는 기법을 자주 다루게 됩니다.대표적인 것이 Redirect, Rewrite, Host Header Forwarding인데, 이름은 비슷해도 동작 원리와 목적은 꽤 다릅니다.이 글에서는 이 세 가지를 포함해 DevOps·Infra 환경에서 자주 사용하는 관련 기술들을 한 번에 정리합니다.1️⃣ Redirect (리다이렉트)Redirect는 클라이언트(브라우저 등)에게 “이 주소로 다시 요청해 주세요”라고 알려주는 방식입니다.즉, 서버가 301, 302, 307 등의 HTTP 상태 코드를 반환하며, 클라이언트가 새 URL로 재요청을 보내게 됩니다.💡 예시 (Nginx)return 301 https:/.. 2025.11.01
- Argo CD에서 GitHub Apps로 보안 강화하기 GitOps 인증 토큰 관리의 새로운 표준: GitHub App 기반 접근 방식 목차 🧩 들어가며Argo CD는 GitOps 패턴의 핵심이라 할 수 있는 툴로,Git 리포지토리의 선언형 설정(Helm, Kustomize 등)을 Kubernetes 클러스터에 자동 동기화합니다.하지만 많은 팀이 여전히 Argo CD에서 Personal Access Token (PAT) 을 사용하고 있습니다.이 방식은 다음과 같은 문제가 있습니다.🔓 토큰이 사람 계정 기반으로 발급되어, 만료 및 유출 리스크 존재🧑💻 조직원이 퇴사하거나 계정이 비활성화되면, 배포가 중단됨🔁 토큰 수동 갱신 필요 → 자동화 불가능이 문제를 해결하는 방법이 바로 GitHub Apps 기반 인증입니다.Argo CD는 2.4 버전부터 Gi.. 2025.10.29
- Githup Apps 이란? 활용방법과 token과 비교 DevOps 관점에서 GitHub 자동화를 “안전하고, 감사 가능하며, 세분화된 권한”으로 운영하려면 GitHub App이 사실상 표준입니다. 아래에 개념부터, GitHub Token(특히 Fine-grained PAT)과의 차이, 조직에서의 도입 패턴, 실전 코드와 GitHub Actions 예시까지 “step-by-step”으로 정리했습니다.1) GitHub Apps란?GitHub 리소스(리포지토리, 이슈, 체크런 등)에 접근하는 1급(First-class) 통합 방식세분화된 권한(permissions) 과 짧은 수명의 토큰(short-lived) 을 사용해 보안 수준이 높음“앱을 조직/개인 계정에 설치(installation) → 설치가 허용된 리포/조직 범위 안에서만 작동” 구조OAuth App과.. 2025.10.29
- [Network] Longest Prefix Match (LPM) 알고리즘 네트워크에서 패킷이 전송될 때, “이 패킷을 어디로 보낼까?” 를 결정하는 핵심은 라우팅 테이블 조회(Routing Table Lookup) 입니다.이때 가장 중요한 개념 중 하나가 바로 Longest Prefix Match, 즉 가장 긴 접두사 일치입니다.🧠 1. Longest Prefix Match란?**Longest Prefix Match (LPM)**는 IP 라우팅에서 사용되는 기본 규칙으로,패킷의 목적지 IP 주소와 라우팅 테이블의 네트워크 주소를 비교하여, 가장 길게 일치하는 네트워크(프리픽스)를 선택하는 알고리즘입니다.👉 즉, 여러 경로가 일치하더라도 더 구체적인(서브넷 마스크가 긴) 경로를 우선 선택합니다.🌐 2. 예시로 이해하기다음과 같은 라우팅 테이블이 있다고 해봅시다:네트워크넷마.. 2025.10.27
- Azure App Registrations “외부(또는 내부) 애플리케이션이 Azure 리소스에 접근할 때, 인증·보안을 중앙에서 관리하기 위한 Azure AD(Microsoft Entra ID)의 기능” 이라고 보면 됩니다. 🔐 1️⃣ 개념 요약App Registration = Azure AD(Entra ID)에서 애플리케이션의 ‘신원(identity)’을 등록하는 서비스이걸 등록하면 Azure는 그 앱에 대해 다음을 관리합니다: 역할 설명자격 증명(Credentials)Client ID, Secret(비밀번호), Certificate 등 발급 및 관리권한(Permissions)Microsoft Graph, KeyVault, ACR, Storage 등 어떤 리소스 접근 허용할지 지정정책 및 보안 제어MFA, Conditional Acces.. 2025.10.27
- Kubernetes에서 애플리케이션 설정 우선순위 이해하기 목차 ConfigMap, Secret, 그리고 내부 설정 중 무엇이 이길까?Kubernetes에서 애플리케이션을 배포하다 보면,“앱 내부 설정값이 우선일까, ConfigMap/Secret이 우선일까?”라는 의문이 자주 생깁니다.특히 운영 중인 서비스의 환경설정이 기대와 다르게 동작할 때,이 우선순위를 정확히 이해하고 있지 않으면 디버깅이 어렵습니다.이 글에서는 Kubernetes가 실제로 설정값을 어떻게 주입하고,최종적으로 어떤 값이 적용되는지를 프레임워크별로 정리해보겠습니다.1️⃣ Kubernetes는 ‘우선순위’를 결정하지 않는다먼저 중요한 사실 하나:Kubernetes는 단지 환경 변수나 파일 형태로 설정을 주입할 뿐,어떤 값이 “최종적으로 우선”인지는 애플리케이션의 설정 로더가 결정합니다.즉.. 2025.10.23
- Kubernetes ConfigMap & Secret 자동 반영 — Stakater Reloader Kubernetes를 운영하다 보면 ConfigMap이나 Secret을 수정했는데,이를 참조하는 Pod가 자동으로 재시작되지 않아 새로운 설정이 반영되지 않는 경우가 많습니다.이 문제를 해결하기 위해 탄생한 오픈소스 컨트롤러가 바로 Stakater Reloader입니다.👉 GitHub 저장소👉 공식 문서📘 1. Stakater Reloader란?Reloader는 Kubernetes에서 ConfigMap 또는 Secret이 변경되었을 때이를 사용하는 Deployment, StatefulSet, DaemonSet 등의 롤링 업데이트(rolling update) 를 자동으로 트리거해주는 Controller입니다.👉 How it works (공식 문서)이 프로젝트는 오픈소스로 제공되며,라이선스는 Apac.. 2025.10.17
- “Swiper is not defined”와 “Mixed Content” 오류, IIS 웹 서비스를 운영하다 보면 "같은 코드인데 어떤 PC에서는 정상, 어떤 PC에서는 오류"처럼정확한 원인이 헷갈리는 문제가 종종 발생합니다.이번 글은 실제로 AWS ALB + Windows VM(IIS) 환경에서Swiper is not defined 및 Mixed Content 오류가 일부 PC에서만 발생했던 문제를코드 수정 없이 인프라 레벨에서 완벽히 해결한 기록입니다.🧠 1. 증상 요약🧩 콘솔 오류 메시지common.js?v=1745305927:39 Uncaught ReferenceError: Swiper is not defined at Object.TopnavScroll (common.js?v=1745305927:39:9) at Object.init (common.js?v=174530.. 2025.10.17
- 클라우드 계정이 다른 개발 / 운영 환경의 CIDR 범위 설정 규모에 상관없이일반적으로 하나의 서비스를 이용하게되면 보통 하나의계정에 개발,스테이징, 운영 환경을 구축하는게 일반적입니다. 한눈에볼수도 있고 연동시 편한 장점이 있기 때문입니다. 하지만 이번에 개발과 운영의 root 계정을 분리하여 운영하게 되었는데 이때 Best practice 네트워크 CIDR 은 서로 다르게 하는것 입니다. 간단히생각했을때 똑같이 구성해도 계정이 다르기 때문에 별문제가 안되어 보이지만 구분해는게 더 이점이 있습니다. 그에대해 이번 포스팅에서 살펴보겠습니다. 목차 왜 다르게 해야 하나? (step-by-step)VPC 간 연결(피어링/Transit Gateway/VPN/Direct Connect) 대비나중에 dev ↔ prod, shared-services ↔ prod 같은 동일 .. 2025.10.10
반응형