전체 글 177

OpenTelemetry로 EC2에 배포된 Java 애플리케이션 모니터링하기

OpenTelemetry는 분산 트레이싱, 메트릭 및 로그를 위한 오픈 소스 관측 도구입니다. 이번 포스트에서는 EC2 인스턴스에 배포된 Java 애플리케이션에 OpenTelemetry를 설정하고, 트레이스를 수집하는 방법을 알아봅니다.1. Java 애플리케이션 설정먼저, Java 애플리케이션을 설정하고 OpenTelemetry Java Agent를 사용하여 애플리케이션의 트레이스를 수집하는 방법을 알아보겠습니다.OpenTelemetry Java Agent 다운로드OpenTelemetry Java Agent를 다운로드합니다. 아래 명령어를 사용하여 최신 버전을 다운로드하세요.wget https://github.com/open-telemetry/opentelemetry-java-instrumentation..

IT/WEBWAS 2024.07.24

Kubernetes Ingress 컨트롤러 502 에러 대응안

쿠버네티스 인그레스 컨트롤러를 사용하다 보면 종종 502 Bad Gateway 에러를 마주칠 수 있습니다. 이 에러는 클라이언트가 서버에 요청을 보냈지만, 인그레스 컨트롤러가 해당 요청을 백엔드 서비스로 전달하지 못했을 때 발생합니다. 502 에러의 원인과 이를 해결하기 위한 방법을 상황별로 알아봅니다.1. 백엔드 서비스 문제가장 흔한 502 에러 원인은 백엔드 서비스 자체의 문제입니다. 서비스가 응답하지 않거나, 포트가 잘못되었거나, 서비스가 다운된 경우 발생합니다.확인 및 해결 방법:서비스 상태 확인:서비스가 제대로 실행되고 있는지 확인합니다.kubectl get services파드 상태 확인:모든 포드가 정상적으로 실행 중인지 확인합니다. 만약 포드가 CrashLoopBackOff 상태라면 로그를 ..

IT/Kubernetes_k8s 2024.07.24

k9s: Kubernetes CLI 대시보드 설정 및 사용법

k9s는 Kubernetes 클러스터의 리소스를 관리하기 위한 강력한 CLI 대시보드 도구입니다. k9s는 사용자에게 실시간으로 클러스터의 상태를 모니터링하고, 다양한 작업을 수행할 수 있는 직관적인 인터페이스를 제공합니다. 이 블로그 글에서는 k9s의 설치부터 기본 사용법, 그리고 유용한 커맨드를 소개합니다.k9s 설치k9s 설치는 매우 간단합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.MacOSbrew install k9sLinuxcurl -sS https://webinstall.dev/k9s | bash​Windowsk9s 릴리스 페이지에서 Windows용 바이너리를 다운로드합니다.다운로드한 zip 파일을 풀고, k9s.exe 파일을 원하는 위치에 저장합니다.환경 변수에 해당 경로를 추가합니..

IT/Kubernetes_k8s 2024.07.23

CentOS의 EOL (End of Life) 정책과 대안

CentOS의 EOL (End of Life) 정책과 대안CentOS는 안정성과 신뢰성이 중요한 서버 환경에서 널리 사용되는 리눅스 배포판입니다. Red Hat Enterprise Linux (RHEL)의 소스 코드를 기반으로 하는 CentOS는 RHEL과 동일한 기능을 제공하면서도 무료로 사용할 수 있어 많은 기업과 개발자들에게 인기를 끌었습니다. 그러나 CentOS 프로젝트의 변화와 이에 따른 EOL(End of Life) 정책은 많은 사용자들에게 큰 영향을 미쳤습니다. 이번 블로그 포스트에서는 CentOS의 EOL 정책과 이에 대한 대안에 대해 자세히 알아보겠습니다.CentOS EOL 개요CentOS의 EOL은 더 이상 해당 버전에 대한 공식적인 지원이 종료되는 시점을 의미합니다. 이는 보안 업데이..

IT/OS 2024.07.23

서버 부하 테스트용 모듈 stress

리눅스 stress 유틸리티를 활용한 시스템 성능 및 안정성 테스트리눅스 시스템 관리자라면, 시스템의 성능과 안정성을 효과적으로 평가하고 싶을 때가 있습니다. 이를 위해 사용할 수 있는 유틸리티 중 하나가 바로 stress입니다. stress는 다양한 리소스에 부하를 생성하여 시스템이 어떻게 동작하는지를 테스트할 수 있는 도구입니다.stress의 주요 기능구성RHELyum install epel-releaseyum install stressUbuntuapt-get install stress1. 시스템 부하 테스트stress를 사용하면 CPU, 메모리, 디스크 I/O, 네트워크 등 다양한 리소스에 부하를 생성할 수 있습니다. 예를 들어, 다음 명령어는 CPU와 메모리에 부하를 동시에 생성합니다.stress..

IT/WEBWAS 2024.07.17

IMDS v2 에 대한 정보(v1 과 v2 차이)

AWS IMDS: v1 vs. v2AWS IMDS(Instance Metadata Service)는 AWS EC2 인스턴스에서 실행되며, 인스턴스 자체에 관한 중요한 정보를 제공하는 서비스입니다. 이 서비스는 특정 IP 주소(169.254.169.254)를 통해 접근할 수 있으며, 인스턴스의 IAM 역할, 네트워크 설정, 보안 그룹 등의 정보를 동적으로 조회할 수 있습니다.IMDS v1IMDS v1에서는 인스턴스 메타데이터에 접근할 때 보안 문제가 발생할 수 있는 위험이 있었습니다. 특히, 인스턴스 내부에서 실행 중인 애플리케이션이나 악성 공격자가 인스턴스 메타데이터에 직접 접근할 수 있었습니다. 이는 보안 취약점을 악용할 가능성을 내포하고 있었습니다.IMDS v2IMDS v2는 이러한 보안적인 문제를 ..

IT/Cloud 2024.07.17

HTTP 응답코드에 따른 Load balancer 문제 확인 및 해결

Http 응답코드에 대해서는 기존 글로 정리했던 사항이 있다. (https://ls-altr.tistory.com/35) 이는 WEB서버 혹은 WAS 서버 관리시 자주 활용되는 사항인데, Cloud에서는 다른 조치 사항들이 있어 이를 정리하고자 한다. 오류 코드 / 메시지 원인 해결방안 400 Bad request - 클라이언트가 HTTP사양을 충족하지 않는 잘못된 형식의 요청을 전송 - 요청 헤더가 요청 Line당 16K, 단일 헤더당 16K 또는 전체 요청 헤더에서 64K를 초과 - 클라이언트가 전체 요청 본문을 보내기 전에 연결 종료 - request 확인 후 조치 - 헤더 사이즈 확인 - Timeout 확인 401 Unauthorized - 인증되지 않은 사용자를 거부하도록 OnUnauthenti..

IT/Cloud 2023.11.21

SSM 에이전트를 통한 EC2 접속이 안될 경우 대응 방법

SSM 을 통해 EC2를 접속하여 사용하는 경우가 많은데, EC2 자체가 busy 하거나, resource 부족 등으로 SSM agent 를 통한 접속이 실패하는 경우가 있다. 온프레미스 서버라면 직접 서버에 연결해 붙어볼 수 있겠지만, 클라우드 특성상 그런 것은 불가능하다. 이때 활용할 수 있는 것이 Fleet Manager 이다. 접속이 안되는 EC2 를 선택하고, Actions - Monitotring and troubleshoot - EC2 Serial Console(Fleet Manager) 클릭하여 실행하며, 이를 통해 접속이 가능하다. (*사전에 EC2 대시보드 우측에서 EC2 Serial Console 권한을 풀어줘야 함.)

IT/Cloud 2023.05.21