DevOps & SRE

    RedHat 계열 리눅스에서 default jdk 버전 변경 방법

    JDK 8 -> JDK 11 변경 방법 (RedHat) 1. Install JDK 11 sudo dnf install java-11-openjdk-dev 2. 현재 환경 변수가 JDK 8을 바라보고 있음 java -version openjdk version "1.8.0_332" OpenJDK Runtime Environment (build 1.8.0_332-b09) OpenJDK 64-Bit Server VM (build 25.332-b09, mixed mode) 3. JDK 11 -> JDK8 버전 변경 (default java version 변경) sudo /usr/sbin/alternatives --config java ---- There are 2 programs which provide 'jav..

    k8s HPA 동작 방식 및 이슈들 정리

    HPA (Horizontal Pod AutoScaling) 도입 배경운영하는 플랫폼이 버스트성으로 들어오는 트래픽들이 많고, 점점 많아질 예정이어서 이러한 버스트성 트래픽을 k8s 환경에서 효율적으로 대응하기 위해서 HPA을 검토하였음. HPA (Horizontal Pod AutoScaling) 이란?Workload Resource를 자동으로 업데이트 하며, 워크로드의 크기를 수요에 맞게 자동으로 스케일링하는 것을 목표로 함.즉 k8s에서 AutoScaling의 역할을 수행. HPA 동작 방식 k8s는 HPA을 간헐적으로 실행되는 컨트롤 루프 형태로 구현했다. 이 말은 지속적으로 모니터링해서 워크로드를 변경하지 않고, 주기(default 15초)별로 체크하는 형태. 각 주기마다, Controller Ma..

    [Prometheus] Prometheus 구조와 특징

    Prometheus? Metrics 모니터링 시스템 Metrics 모니터링 솔루션이다. Metrics 모니터링 특성상 Logging(ELK, CloudWatch), Tracing(OpenTracing, jager, zipkin, pinpoint) 과는 용도가 다른 점을 알고 사용해야 한다. 아키텍처 (Prometheus 컴포넌트) 1. Exporter / Job 모니터링 대상의 Metric 데이터를 수집하고 중앙 집중 서버인 Prometheus Server가 Metrics 데이터를 가져갈 수 있도록 API Endpoint 을 제공 node-exporter: 노드의 CPU, Memory, Network bandwidth 등 metrics 정보를 수집 jmx-exporter: JVM metrics 수집 (t..

    [Nginx RateLimit] Nginx에 RateLimit 적용해보기

    Rate Limiting주어진 특정한 시간 동안 제한된 HTTP 요청량을 제한할 수 있도록 하는 기능.Rate Limiting을 하는 이유보안 측면의 목적 (Brute force attack 방지 등)비정상적인 요청 방지 (..

    [AWS ECS] ECS 개념 정리

    AWS ECS로 시작하는 컨테이너 오케스트레이션와 ECS 레퍼런스 등을 보며 개인적인 공부용으로 정리한 글입니다. 컨테이너 오케스트레이션 컨테이너를 적절히 배치하고 관리할 수 있도록 도와주는 도구 쿠버네티스, Docker Swarm, AWS ECS 등 AWS ECS의 장단점 특별한 준비 없이 사용할 수 있다는 장점. 도커의 모든 기능을 사용하기에는 약간 제약이 존재하며, 세부적으로 컨트롤 하기 어려움. AWS 벤더에 의존적임. AWS의 구성 클러스터와 컨테이너 인스턴스 클러스터는 ECS에서 가장 기본적인 단위 도커 컨테이너를 실행할 수 있는 가상의 공간으로, 논리적인 단위이다. Task Definition, Task Task ECS에서 컨테이너를 실행하는 최소 단위는 테스크. Task는 하나 이상의 컨테..