본문 바로가기

반응형

전체 글

[ELK] Elasitcsearch 란, Elasticsearch 를 사용하는 이유 Elasticsearch ELK Stack의 핵심 구성요소인 Elasticsearch는 텍스트, 숫자, 위치기반 정보, 정형 및 비정형 데이터 등 모든 유형의 데이터의 검색 및 분석 엔진이다. Apache Lucene을 기반으로 구축되었으며, 간단한 REST API, 거의 실시간(NRT, Near Real Time), 확장성의 이점이 있다. * Apache Lucene - 자아 언어로 이루어진 정보 검색 라이브러리 오픈소스 소프트웨어 Elasticsearch에 사용되는 용어 문서(도큐먼트) - Elasticsearch에서 단일 데이터 단위 색인(인덱스) - 문서들을 모아놓은 집합 샤드 - 인덱스를 분산하여 저장하는 단위 복제본(리플리카) - 복구용으로 사용될 샤드의 복제본 노드 - Elasticsearc.. 더보기
[Docker] Docker Compose 사용 Docker Compose Docker Compose는 여러 Container를 정의하고 공유 및 한 번의 명령어로 모두 실행하거나 종료할 수 있도록 개발된 도구이다. 그러기 위해서는 기본적으로 서비스를 정의하는 YAML 파일을 만들어야한다. Docker Compose 설치 Windows 또는 Mac용 Docker Desktop을 설치한 경우라면 Docker Compose가 포함되어 설치 되어 바로 진행할 수 있고 Linux라면 Docker Compose를 따로 설치해줘야한다. 1. 다음 명령어를 통해 Docker Compose의 현재 공개된 릴리즈버전을 다운받는다 $ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/doc.. 더보기
[Docker] Docker 데이터 저장 (볼륨 / 바인드 마운트 / tmpfs) Docker Container의 데이터 저장 Docker Container 는 내부에서 데이터를 생성하면 기본적으로 Container 내부에 생성되어 Container 가 제거되면 저장된 데이터도 같이 삭제되게 된다. 하지만 서버를 운영하다보면 생성되는 데이터가 Container 의 제거 유무와는 별개로 남아있어야하는 데이터가 있을 수 밖에 없다. 이런 경우 Dockerd에서는 두 가지의 선택을 제공한다. 하나는 Volume 다른 하나는 Bind Mount, 별개로 데이터가 유지되지는 않지만 host의 메모리에 저장할 수 있는 tmpfs도 있다. 볼륨 볼륨은 Docker Container에서 생성하고 사용하는 데이터를 유지하기 위한 Docker에서 관리되는 기본 메커니즘이다. 볼륨의 장점으로는 바인드 마.. 더보기
[Docker] Ubuntu에서 Docker Engine + Docker Compose 설치 OS 요구 사항 우분투 21.10 우분투 21.04 우분투 20.04(LTS) 우분투 18.04(LTS) 이전 버전 제거 - docker, docker.id, docker-engine의 이전 버전이 존재할 경우 삭제, 처음 사용할 경우 무시하고 진행해도 된다. sudo apt-get remove docker docker-engine docker.io containerd runc image, container, network, volume 의 내용은 삭제되지 않는다. 위의 데이터를 모두 삭제하고 다시 시작하려면 sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd 기존 Docker engine을 삭제하려면 sudo apt-get purge docker-.. 더보기
[AWS-EC2] EC2 인스턴스 생성 + 탄력적 IP 주소 (Ubuntu) EC2(Elastic Compute Cloud) Amazon Elastic Compute Cloud(Amazon EC2)는 Amazon Web Services(AWS) 클라우드에서 확장 가능 컴퓨팅 용량을 제공합니다. Amazon EC2를 사용하면 하드웨어에 선투자할 필요가 없어 더 빠르게 애플리케이션을 개발하고 배포할 수 있습니다. Amazon EC2를 사용하여 원하는 수의 가상 서버를 구축하고 보안 및 네트워킹을 구성하며 스토리지를 관리할 수 있습니다. Amazon EC2에서는 확장 또는 축소를 통해 요구 사항 변경 또는 사용량 스파이크를 처리할 수 있으므로 트래픽을 예측할 필요성이 줄어듭니다. 링크 요약하면 하드웨어 컴퓨터에 비해 초기비용이 저렴하고 트래픽에 따른 확장에 및 축소에 용의 및 환경 구.. 더보기
[Docker] Docker에서 RabbitMQ Image생성 및 실행 다운로드 및 실행 docker run -d -p 4369:4369 -p 5671:5671 -p 5672:5672 -p 15671:15671 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=guest -e RABBITMQ_DEFAULT_PASS=guest --network test-network --name rabbitmq rabbitmq:[tag] -p ~~ : RabbitMQ 에서 사용하는 포드들을 모두 호스트 포트와 포트포워딩 해준다. -e : RabbitMQ Admin 계정을 id, pass를 guest로 생성 --network : RabbitMQ 를 관리할 네트워크 그룹 지정 docker network 를 잘 모른다면 Docker Network --name : RabbitM.. 더보기
[RabbitMQ] RabbitMQ의 구조 RabbitMQ AMQP(Advenced Message Queing Protocol)를 따르는 오픈소스 메시지 브로커. 메세지를 많은 사용자에게 전달할 때, 요청의 처리시간이 오래걸리거나 많을 때 다른 처리자에게 위임할 때, 애플리케이션 간의 결합도를 낮출 때 사용한다. 구조 https://www.rabbitmq.com/tutorials/amqp-concepts.html Publisher - message를 Exchange에 publish Exchange - Binding이라는 규칙을 사용하여 message 복사본을 Queue에 배포 Queue - Consumer에게 message가 전달되기 전까지 보관, Round-Robin 스케쥴링 방식으로 공평하게 전달된다. Consumer - Queue에 직접 접.. 더보기
[Docker] Docker의 Network 종류 및 명령어 Docker Network 종류 Bridge network (default) 아무 설정 없이 사용했을 때 기본으로 설정되는 network 호스트 pc 와 별도의 가상의 네트워크사용 포트포워딩으로(-p 옵션) 외부 네트워크와 연결 생성 명령어 - $docker network create --driver bridge [네트워크 이름] Host network container의 network 환경을 호스트의 network 환경과 동일하게 사용 포트포워딩 없이 호스트가 container를 직접 제어 None network network를 사용하지 않고 local 네트워크만 사용 호스트나 외부와 연결이 단절된다. Docker network의 기본 명령어 docker network ls - 도커에 생성된 네트워크 .. 더보기

반응형