만쥬의 개발일기
[Home Server] - wireguard로 VPN 서버 구축하기

컨테이너 생성먼저 와이어가드 서버를 올리기 위해 컨테이너를 하나 생성해주겠습니다.ubuntu 22.04 버전 이미지 템플릿을 받습니다.해당 이미지로 컨테이너를 생성해주고, wireguard를 docker로 실행해주겠습니다.hostname과 비밀번호를 설정해줍니다.아까 다운받은 템플릿을 선택해줍니다.Disk, CPU, Memory는 default 값으로 설정 후 네트워크에서 고정IP를 세팅해줍니다.설정에 이상이 없으면 컨테이너를 생성해줍니다.컨테이너 생성 이후 세팅몇가지 필요한 패키지를 설치해줍니다.apt update && apt upgrade -y && apt install curl && apt install net-tools도커와 도커 컴포즈를 설치해줍니다.curl -fsSL https://get.do..

[Home Server] - Proxmox OS 설치, 리버스 프록싱 서버 구축

현재 집에서 재미 반, 흥미 반으로 홈 서버용으로 구매한 미니PC에 프록스목스 OS를 설치하고 여러 편의용 서버를 가상화, 구동 중입니다.홈서버를 구축했던 내용을 하나씩 풀어보겠습니다.프록스목스(Proxmox)란?Proxmox는 KVM 가상화와 LXC 컨테이너 기술을 기반으로 하는 하이퍼바이저 OS입니다.가상 머신과 컨테이너를 웹 기반의 UI로 쉽게 관리할 수 있습니다.또한 백업/복원, 스토리지 관리 등 다양한 기능을 제공하며, 가장 큰 장점인 오픈소스 라이선스로 누구나 무료로 사용할 수 있습니다.Proxmox 세팅먼저 다음 url에 접속해 proxmox 이미지를 받아줍니다.https://www.proxmox.com/en/downloadsOS 설치가 완료되면 무료 dns를 제공해주는 사이트에서 ip를 등..

L4 스위치의 A to Z (Load Balancing, Traffic Flow, SSL Offload 등)
🖥️CS/🛜네트워크 2024. 4. 16. 17:17

서버 부하 분산은 부하 분산 Network Switch 혹은 Nginx등의 소프트웨어가 담당합니다. 즉, 외부로부터의 요청을 받으면 이를 서버로 적절히 나누어 주게 됩니다. 개발을 하며 소프트웨어로 로드밸런싱을 구축하는 경험은 해보았으니, 하드웨어인 L4 스위치를 통해 어떻게 로드밸런싱을 하는지를 다뤄보겠습니다. L4 스위치의 역할과 Nginx의 역할은 거의 유사하기 때문에, L4 스위치의 기능들을 모두 이해한다면 Nginx같은 웹 서버에 대해서 이해하기 편합니다. L4 스위치란? L4 스위치를 사용하면 외부에서 들어오는 모든 요청을 서버가 아닌 L4 스위치가 받아서 서버들에게 적절히 나누어 줍니다. 위 그림의 Load Balancing을 하는 부분이 바로 L4 스위치의 역할입니다. 마치 리버스 프록시와..

[Network] - 프록시와 리버스 프록시
🖥️CS/🛜네트워크 2024. 4. 8. 18:04

프록시란 프록시 서버는 클라이언트와 서버 사이에서 서로 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 시스템 혹은 응용프로그램이다. 프록시(Proxy)는 대리라는 의미를 가지며, 서버와 서버 사이 중계기 역할을 한다. 프록시를 통해 통신함으로써 보안, 성능, 안정성에 이점이 생긴다. 그리고 프록시는 네트워크 상의 위치와 데이터를 제공하는 방향에 따라 포워드 프록시와 리버스 프록시로 나뉜다. 포워드 프록시(Forward Proxy) 개념 포워드 프록시 서버는 위 그림처럼 클라이언트의 뒤에 놓여 있다. 클라이언트가 서버에 접근하고자 할 때, 해당 타겟 서버 주소를 포워드 프록시 서버에 전달하면 프록시 서버는 인터넷으로 요청을 보낸 뒤 응답을 가져오는 방식으로 작동한다. 특징 포워드 프록시는 다음과..

[Elasticsearch / Seminar] - GenAI Workshop 후기

🚀개요 이번 포스팅에서는 4월 3일 엘라스틱 코리아에서 파트너사를 대상으로 진행한 세미나에 참여하게 되어 다녀온 후기와 배웠던 내용들을 간략하게 남기고자 합니다 🖐️ 세미나는 시청에 위치한 에티버스 타워에서 진행되었습니다. 덕분에 오랜만에 숭례문도 보고 왔습니다 ㅎㅎ 뒤쪽으로 SK의 그린빌딩도 보이네요 세미나는 오후 2시 ~ 오후6시까지 진행되었고, 약 70명 이상의 꽤 많은 파트너사 직원들이 참여해주신 행사였습니다. 이번 세미나는 엘라스틱 코리아의 솔루션 아키텍트이신 필립님께서 진행해주셨고, 입문자 수준에서엘라스틱서치와 GenAI에 대한 개요, 그리고 응용을 위한 실습을 위주로 이루어졌습니다. 그 중 제가 이해하고 좋았던 부분들에 대해 공유해보겠습니다. 🖊️Generative AI 소개 GenAI에 대..

[Elasticsearch] - 집계(aggregation)

집계(aggregation)란? 엘라스틱에서 집계는 데이터를 그룹핑하고 통곗값을 얻는 기능으로 강력한 검색 성능과 ES를 고성능 집계 엔진으로 활용하게 해준다. 집계를 잘 이해할수록 키바나를 더 잘 사용할 수 있다. ES에는 다음과 같은 집계들이 있다. 메트릭 집계 버킷 집계 파이프라인 집계 집계의 요청과 응답 형태 집계를 위해서 특별한 API를 사용하지 않아도, Search API의 요청 본문에 aggs 파라미터를 추가함으로서 쿼리에 대한 집계를 생성할 수 있다. 메트릭 집계 메트릭 집계는 필드의 최소/최대/합계/평균 등 통계 결과를 보여준다. 다음은 메트릭 집계의 종류이다. 메트릭 집계 설명 avg 필드의 평균값을 계산한다. min 필드의 최솟값을 계산한다. max 필드의 최댓값을 계산한다. sum ..

[Elasticsearch] - 쿼리와 스코어링

쿼리 컨텍스트 vs 필터 컨텍스트 엘라스틱의 검색은 다음 두 가지로 나뉜다. 쿼리 컨텍스트 질의에 대한 유사도를 계산해 더 정확한 결과를 먼저 보여준다. 필터 컨텍스트 유사도를 계산하지 않고 일치 여부에 따른 결과만을 반환한다. 스코어 계산 과정을 생략해 쿼리 속도를 올릴 수 있다. 캐시를 이용할 수 있다. _search는 검색 쿼리를 위해 제공되는 REST API이고, match는 전문 검색을 위한 쿼리이다. 다음 예시를 보면 clothing 용어가 있는 도큐먼트를 찾아 총 3927개의 도큐먼트 중 스코어가 높은 순으로 정렬된다. 필터 컨텍스트와 쿼리 컨텍스트는 모두 search API를 사용한다. 단지 내용에 따라 쿼리가 구분되는데, 필터 컨텍스트는 논리(bool) 쿼리 내부의 filter 타입에 적..

[Elasticsearch] - 인덱스 템플릿 사용하기

인덱스 템플릿 인덱스 템플릿은 설정이 동일한 복수의 인덱스를 만들 때 사용한다. 인덱스를 파티셔닝하는 일이 많은데, 이 때 파티셔닝하는 인덱스들은 설정이 같아야 한다. 설정이 동일한 인덱스를 매번 일일이 작성하는 것은 매우 비효율적이다. 다음과 같이 템플릿 API를 사용해 현재 등록된 인덱스 템플릿을 본다. GET _index_tamplae 와일드카드 표현식으로 다음과 같이 특정 인덱스 템플릿을 확인할 수도 있다. GET _index_template/ilm* 인덱스 템플릿은 다양한 설정이 가능하지만 주로 매핑과 세팅 설정을 한다. 다음은 인덱스 템플릿을 생성하는 예시이다. PUT _index_template/test_template { "index_patterns": [ "test_*" ], "prior..