클라우드 10

Ansible - 정의 및 설치하기

Ansible IaC 도구란? Infrastructure as a Code 의 약자로 IT 인프라스트럭처를 코드를 통해 정의하고 관리하는 개념을 뜻한다 수동으로 인프라를 구축하고 관리하는 대신 코드를 사용하여 인프라를 정의하고 프로비저닝( 필요한 하드우에어, 소프트웨어, 및 기타 리소스를 할당하고 설정하여 시스템을 사용할 수 있도록 하는 작업) 하는 것이다 IaC를 사용하면 시스템 및 인프라스터럭처의 설정, 배포 및 관리를 자동화 할 수 있다 Ansible, Terraform, Chef, Puppet과 같은 다양한 오픈 소스 도구들도 IaC 구현에 사용된다 Ansible Ansible은 IaC도구 중에서 대표적이고 널리 사용되는 도구이다 Ansible은 Red Hat 에서 개발한 오픈 소스 도구로 서버 ..

클라우드 2024.03.05

Beats - 정의, filebeat, metricbeat

Beats Beats beats는 elasticstack에서 로그데이터 수집 및 전송을 위한 경량 에이전트이다 여기서 에이전트는 주로 분산된 환경에서 데이터 수집 등의 역할을 수행한느 소프트웨어이다 beats는 가볍고 사용하기 쉬운 데이터 수집기이다 beats는 오픈소스 라이선스를 따르며 libbeat라는 프레임워크를 제공하므로 사용자들이 직접 필요한 각 비트를 구현할 수 있다 beats로 로그를 수집하고 logstash에서 필요한 추가 처리 및 변환을 수행한 후 elasticsearch로 전송하는 등의 조합이 사용되는 경우가 많다 [beats의 일반적인 동작 원리] 비트 다운로드 --> 비트 설정 파일 수정 --> 엘라스틱서치나 키바나 대시보드를 사용할 수 있도록 설정 -->비트 시작--> 키바나 대시..

클라우드 2024.02.28

Logstash - 정의 , 플러그인의 종류

Logstash logstash 란? 데이터를 전처리하는 오픈소스 기반의 데이터 처리 파이프라인 도구이다 beats, logstash, elasticsearch, kibana를 이용하여 데이터를 수집 > 변환 > 저장 > 시각화 하는 서비스를 구성할 때, logstash는 데이터를 저장하기 전에 원하는 형태로 가공하는 역할을 수행한다. logstash는 beats를 포함한 여러 소스 파일을 입력으로 받을 수 있고 데이터를 수정, 삭제, 추가하여 elsaticsearch 나 다른 시스템으로 전송할 수 있다 logstash는 3가지 타입의 플러그인을 제공하는데 이는 input, filter, output 플러그인이다 pipeline 데이터를 입력받아 실시간으로 변경하고 이를 다른 시스템에 전달하는 역할을 하..

클라우드 2024.02.28

Auto Scaling 및 모니터링을 통한 Docker 컨테이너 관리 시스템 구축하기

프로젝트 개요 본 프로젝트는 카카오클라우드 스쿨 4기에서 진행한 docker 토이 프로젝트이다 프로젝트 기간 : 2024.02.05 - 2024.02.13 프로젝트 주제 및 구성도 프로젝트 주제 : Auto Scaling 및 모니터링을 통한 Docker 컨테이너 관리 시스템 프로젝트 설명 • Shell 스크립트를 통해 CPU 사용량에 따라 컨테이너 스케일 자동 조정 • Cadvisor, Prometheus, Grafana 를 통해 CPU 사용량 모니터링 • AWX를 통해 Nginx 웹 서비스 컨테이너 배포 • 새로운 이미지를 빌드하여 private repository 에 저장 인프라 프로젝트 구성도 기존의 문제점과 프로젝트로 인해 얻는 효과 복잡성 및 확장성 부족: 문제: 도커 컨테이너를 수동으로 관리하..

클라우드 2024.02.13

Elasticsearch 집계, Query DSL

Query DSL -Query DSL은 JSON 형식으로 표현되며, Elasticsearch에 대한 다양한 검색 및 분석 작업을 수행할 수 있는 강력한 도구이다 -이를 통해 복잡한 검색 쿼리, 집계(aggregation), 정렬, 필터링 등을 정의할 수 있다. _search 엔드포인트를 사용하여 검색을 수행하면 Elasticsearch는 해당 인덱스에서 쿼리를 실행하고 일치하는 문서를 반환한다 -elasticsearch에서의 검색 ⇒ Query DSL -elasticsearch에서는 검색기능을 제공하며 DSL 방식의 검색을 지원한다. 모든 검색 형태는 json형태로 입력되어야 한다 -javascrip로부터 파생된 데이터 표기, 출력 형태이며 현재는 javascript에만 의존적이지 않고 대부분의 언어에서..

클라우드 2024.01.31

Elasticsearch의 내부구조, 관련용어 , mapping 타입

Elasitcsearch의 내부구조 MYSQL Elasticsearch 테이블 인덱스 레코드(행) 도큐먼트 컬럼 필드 스키마 매핑 *mysql과 비교했을때 elasticsearch의 구조는 다음과 같다 -엘라스틱서치의 인덱스는 mysql에서의 테이블과 같다고 볼 수 있다 -데이터(도큐먼트)의 저장은 인덱스에 이루어진다 - 레코드 = 행 = 도큐먼트 - 컬럼 = 열 = 필드 -인덱스는 여러 개의 primary샤드로 구성이 되고 고가용성을 위해 레플리카 샤드로도 복제된다 -프라이머리와 레플리카 샤드는 항상 서로 다른 노드에 할당되어 다중성과 확장성을 제공한다 Elasticsearch 관련 용어 node -elasticsearch가 실행중인 하나의 프로세스 혹은 인스턴스를 말한다 -node는 데이터를 저장하고..

클라우드 2024.01.31

ELK stack - elasticksearch, kibana, logstash 등 알아보기

ELK stack ELK stack 이란? -ELK stack은 elasticsearch, kibana, logstash, beats 로 구성된 데이터 수집, 분석 , 시각화 플랫폼이다 elasticsearch 란? -ELK stack의 구성요소 중 하나로 주로 데이터를 검색하고 저장한다 -외부에서의 실시간 로그를 전달받는 일을 주로 한다 - mysql 과 같은 database에서 발생하고 있는 데이터들, 최근 발생한 이슈 등 외부 DBMS와의 실시간 연계가 가능하다 -루씬( Lucene) : elasticsearch의 코어엔진이며 검색을 처리하는 핵심 열할을 한다 -API를 통해서 데이터를 전송하거나 요청하기도 한다 -외부에 있는 공공데이터(코로나 확진자 추세, 맛집) 들을 API로 제공하는 경우에 연..

클라우드 2024.01.21

AWS

Elastic Compute Cloud( EC2) : 컴퓨팅 기능을 갖고 있는 자원을 할당받는 서비스 = OS만 설치된 가상머신(인스턴스)을 빌려주는 서비스 Elastic Block Store(EBS) : 데이터를 저장하는 저장 장치 -AWS에서 EC2는 저장장치가 없는 컴퓨터라고 볼 수 있음 -EC2를 생성하면 기본적으로 내부에 EBS하나가 내장 되어있음 -하나의 EC2에 여러개의 EBS를 장착 할 수 있음 -EBS는 파일을 저장하는 것 이외에도 특정 시점의 모습을 스냅샷으로 남길수 있는 기능이나 저장된 데이터들을 암호화하는 기능들을 할 수 있음 Simlpe Storage Store(S3) : 사진이나 동영상 같은 파일을 저장하는데 최적화된 서비스 EBS --> Block Storage : c드라이브 ..

클라우드 2023.09.26

클라우드 컴퓨팅의 종류

[클라우드 서비스 구성 5단계] : 하드웨어, 가상화, OS, 런타임, 어플리케이션 -사용자에게 이 5단계중 어느단계까지 사용하게 할 것인가에 따라서 클라우드 서비스를 3가지로 구분할 수 있다(IaaS,PaaS,SaaS) *하드웨어(Hardware) : 물리적인 컴퓨터 컴퓨터 안에는 계산작업을 하는 cpu, 데이터를 저장하는 하드디스크 등의 저장장치, 네트워크 통신을 위한 LAN카드 등의 여러 하드웨어가 있어야함 --> 이런 것 들이 모여서 물리적인 의미의 컴퓨터가 된다 *가상화(Virtualization) : 하이퍼바이저를 통해 가상화 기술을 적용한 환경 *운영체제(Operating System) : 윈도우, 리눅스, 안드로이드 , ios 등의 프로그램 등을 말함 *런타임(Runtime) : 프로그램을..

클라우드 2023.09.20

클라우드 컴퓨팅이란?

클라우드란 클라우드 컴퓨팅의 줄임말이다 클라우드 컴퓨팅은 ? --> 손쉽게 사용하고 반납할 수 있는 각종 컴퓨터 자원(구글 스프레드시트, 저장장소 등) 의 공유 풀(Shared pool)에 대해 어디서나 편리하게 접근할 수 있게 해주는 기술 서버는 소비자의 컴퓨터나 스마트폰과 통신하면서 서비스를 제공해주는 컴퓨터이다 서버 대여 서비스를 호스팅 서비스라고 한다. 대표적인 기업이 사용하는 클라우드 서비스 = 호스팅 서비스 또다른 클라우드 서비스에는 가상머신 대여가 있다 우선, 가상화란 물리적으로는 한 대인 컴퓨터 안에 마치 여러대의 컴퓨터가 작동하고 있는 것처럼 만들어주는 기술을 뜻한다. 가상화가 적용된 컴퓨터 -> 하이퍼바이저가 하드웨어 위에 깔려있음. 하이퍼바이저는 물리적인 컴퓨터에 가상화 기술을 적용시..

클라우드 2023.09.13