본문 바로가기

INFRA245

Kibana 란? Kibana 란 무엇인가? Kibana는 Elastic Stack을 기반으로 구축된 무료 오픈 소스 프론트엔드 애플리케이션으로, Elasticsearch에서 색인된 데이터를 검색하고 시각화하는 기능을 제공합니다. Elastic Stack(이전에는 Elasticsearch, Logstash, Kibana의 머리글자를 따서 ELK Stack이라고 함)의 차트 작성 도구로 널리 알려진 Kibana는 Elastic Stack 클러스터를 모니터링, 관리 및 보호하기 위한 사용자 인터페이스의 역할과 Elastic Stack에서 개발된 기본 제공 솔루션의 중앙 집중식 허브 역할도 합니다. 2013년 Elasticsearch 커뮤니티 내에서 개발된 Kibana는 사용자와 기업을 위한 포털을 제공하며 Elastic St.. 2022. 12. 10.
Kong API Gateway가 뭐예요? Kong이란 무엇인가? Kong 공식페이지를 보면, Kong은 MSA구성을 가속화하는 가장 유명한 오픈 소스 API Gateway라고 말합니다. 또한 경량화 된 프록시 환경위에 구축 되어 있어, 어디서든지 모든 마이크로 서비스에 성능 및 확장성을 제공한다고 합니다. 이외에도 가장 큰 특징은, 모든 기능을 Restful Interface로 제공하고 있으며, API Gateway를 구성하는 필수 기능들, 예를 들면 OAuth 인증, Logging, 유량제어 등을 Plugin 기반으로 손쉽게 추가하여 사용할 수 있으며, 위에서 언급한대로 Platform(런타임)에 구애받지 않고 어디서든지 Kong을 구축할 수 있습니다. Kong 시작하기 여러 문서나 블로그를 찾아보았는데, 대부분 Docker를 이용하여 설치를.. 2022. 12. 10.
Ansible AWX은 뭐하는 녀석일까 Ansible AWX 란 무엇인가? AWX 는 Ansible 프로젝트 관리를 위한 웹 기반 사용자 인터페이스, REST API 및 Task 엔진 제공하는 툴 입니다. Red Hat Ansible Automation Platform 프로젝트 중에 하나 이며, 오픈소스로 제공하고 있습니다. Ansible AWX github GitHub - ansible/awx: AWX provides a web-based user interface, REST API, and task engine built on top of Ansible. It is one of t AWX provides a web-based user interface, REST API, and task engine built on top of Ansibl.. 2022. 12. 9.
EC2 Ansible로 환경구성 자동화 Ansible은 왜 사용할까? Ansible은 ssh를 이용하는 프로비저닝 자동화 도구입니다. Ansible은 ssh 접속을 통해 수십대, 수백대의 원격 서버에 접속해서 동일한 프로비저닝 작업을 동시에 수행할 수 있는 훌륭한 도구입니다. Ansible의 대표적인 장점이라면 아래와 같이 꼽을 수 있을 것 같습니다. 에이전트가 필요 없음 yaml 언어로 쉽게 작성할 수 있는 플레이북 python으로 개발됨 Ansible은 원격 서버에 에이전트를 설치하지 않아도 Ansible에서 제공하는 기본 모듈만으로 정말 많은 작업을 수행할 수 있습니다. 그리고 비교적 쉬운 yaml 언어를 사용하기 때문에 Puppet과 같은 다른 도구에 비해 접근성이 매우 높습니다. 또한 python으로 개발되어 있기 때문에 만약 모듈을.. 2022. 12. 9.
[K8s] Headless Service Headless Service란? ClusterIP가 없는 서비스로 단일 진입점이 필요 없을 때 사용 Service와 연결된 pod의 endpoint로 DNS 레코드가 생성됨 (DNS Resolving Service 지원) Pod의 DNS 주소 : pod-ip-addr.namespace.pod.cluster.local definition apiVersion: v1 kind: Service metadata: name: headless-service spec: type: ClusterIP clusterIP: None #clusterIP를 none으로 설정하면 Headless service selector: app: webui ports: - protocol: TCP port: 80 targetPort: 80.. 2022. 12. 6.
github-action 으로 ec2 에 배포하기 Github Actions는 Github 저장소를 기반으로 Github에서 제공하는 Workflow 자동화 도구 입니다. Workflow는 Github Repository에 있는 소스들의 build, test, release, deploy 을 flow에 정의된 순서대로 실행 할 수 있도록 지원합니다. 이 Workflow는 설정된 Runner 위에서 실행이 되며 Github에서 두 종류의 Runner를 제공합니다. Github-hosted Runner(Github에서 지원하는 가상머신), Self-Hosted Runner(사용자가 직접 호스팅하는 환경)가 있습니다. Github-hosted Runner는 Microsoft Azure 기반의 가상머신으로 Linux/Windows를 지원하며 Dv2 and DS.. 2022. 12. 2.
Nginx upstream에 대해 알아보자 (Nginx + Tomcat) Nginx + Tomcat 연동 Upstream apache를 사용하면 tomcat서버와 AJP설정을 통해서 통신을 하게 되는데, nginx는 tomcat서버와 HTTP 통신을 하게된다. Nginx는 Upstream이란 지시자를 사용하며, reverser proxy 역할을 하게된다. upstream이란 무엇일까? Upstream 서버는 다른 말로 Origin 서버라고도 부른다. 여러대의 컴퓨터가 순차적으로 어떤 일을 처리할 때 어떤 서비스를 받는 서버를 의미한다. 위의 그림에서 업스트림 서버는 PHP-FPM이 설치된 서버이고, Nginx는 DownStream 서버라고 할 수 있다. Upstream Module 업스트림 모듈은 Nginx에 내장된 모듈로 부하분산, 속도 개선과 같은 역할을 할 수 있게 한다.. 2022. 12. 2.
Github Action과 AWS CodeDeploy를 활용한 CI/CD 1. 개요 1) 목적 개발과 운영을 결합한 형태인 데브옵스라는 문화가 IT 업계의 트렌드로 자리잡은지는 오래되었지만 여전히 많은 조직에서는 개발과 운영이 분리되어 있습니다. 작은 기업의 경우 실제 서비스와 관련된 애플리케이션 개발에 투자를 집중하다 보니 상대적으로 운영은 개발 이후의 부속 작업으로 여겨지는 경우가 많습니다. 상황이 이렇다 보니 개발자들은 인프라에 대한 이해가 부족한 상태에서 애플리케이션을 배포하게 됩니다. 개발 환경과 운영 환경의 차이, 트래픽 증가 등 예상하기 힘든 이벤트들로 인해 장애가 발생할 확률은 높아질 수밖에 없겠죠. 또한 출시 후 일부 기능 변경이 필요할 때도 수정한 코드를 배포하는 과정에서 서비스 중단이 발생할 수도 있습니다. 베스핀글로벌은 운영의 어려움을 쉽게 해결할 수 있.. 2022. 12. 2.