전체 글

IT 엔지니어링에 대해 알고 싶은 분 모두 환영합니다.
GCP

Kubernetes externalTrafficPolicy에 따른 동작과 GCP의 Container-native LoadBalancer 알아보기

Kubernetes는 컨테이너 오케스트레이션을 구현하기 위해 독특한 네트워킹 구조를 가지고 있습니다. 이런 Kubernetes의 네트워킹 구조에서 단연 중요한 것은 Service라는 개념입니다. Service는 외부 네트워크와 격리되어 있으며 임시적이라는 특성을 가진 Pod들을 외부와 통신할 수 있도록 고정적인 주소로 노출하는 방법을 말합니다. 이 Service의 가상 IP를 구현하기 위해서는 kube-proxy라는 컴포넌트가 전적으로 맡게 되며, 각 node에 위치해 netfilter라는 linux 패킷 조작 툴을 사용해 패킷의 생명주기를 조작합니다. 예를 들어 kube-proxy가 Service의 구현을 위해 사용하는 mode 중 iptables 모드는 패킷이 node로 들어오면 kube-proxy에..

Dev

Gradle을 이용해서 Springboot + GCP API 연동한 Java 프로젝트 생성 및 배포하기

Gradle은 여러 언어를 지원하는 빌드 자동화(build automation) 도구입니다. 기존에는 Ant나 Maven과 같은 여러 빌드 도구가 있었지만, Gradle은 이 중 가장 최근에 출시한 빌드 도구로써 성능이나 이용성 면에서 더 진보한 도구이기도 합니다. 이번 포스팅에서는 Gradle을 이용해서 GCP API를 연동한 Springboot 웹 애플리케이션을 빌드해보고, 이를 통해 생성된 Jar 아티팩트를 GCP의 아티팩트 레포지토리인 Artifact registry에 배포하는 과정을 step by step으로 알아보도록 하겠습니다. 1. GCP 리소스 구성 우선 Google Cloud Platform에서 준비해야 할 리소스들을 구성합니다. 이번 포스팅에서는 Gradle을 이용해 생성한 Jar 아..

Observability

트레이싱 관측 도구 Grafana Tempo로 트레이스를 관측해보자

우리가 관측 가능성(Observability)에 대해서 말할때, 보통 시계열의 수치 데이터를 뜻하는 메트릭(Metric)이나 인간이 읽을 수 있는(human-readable) 형태로 상태를 출력하는 로그(Log)를 떠올릴 것입니다. 하지만 관측 가능성의 3개 기둥(Three pilars of observability)라고 하는 3개 주요 관측 가능성 요소 중에는 메트릭,로그와 함께 트레이스(Trace)가 존재합니다. 이 트레이스가 무엇인지, 또 어떻게 트레이스에 대한 관측 가능성을 확보할 수 있는지 대표적인 트레이싱 OSS 도구인 Grafana tempo와 함께 알아보겠습니다. 1. 트레이스가 뭐지? 트레이스는 메트릭, 로그와 함께 관측가능성의 3개 주요 요소 중 하나입니다. 하지만 트레이스에 대해서는 ..

Observability

Elasticsearch에 fluentd를 얹은 EFK stack 구축하기(with kubernetes)

EFK stack이란 Elasticsearch, Fluentd, Kibana를 얹은 스택을 말합니다. 기존의 ELK stack과는 로그 파이프라인 역할을 하던 Logstash를 Fluentd로 대체했다는 차이점이 있습니다. 그럼 Fluentd를 사용한 EFK stack은 ELK stack과 어떤 점이 다른지, 각자 어떤 장단점이 있는지 살펴보겠습니다. 그리고 Kubernetes 환경에서 EFK stack을 구축해 컨테이너 로그를 중앙화하는 실습도 함께 보도록 하겠습니다. 1. Fluentd란? 우선 Fluentd가 어떤 툴인지 먼저 알아봐야 겠습니다. 가장 먼저 Fluentd를 만나볼 수 있는 곳은 CNCF 프로젝트인데요. fluentd는 몇 안되는 CNCF의 graduated project 중 하나입니..

Observability

클라우드 리소스 Observability 확보 도구 Steampipe 사용기 + GCP IAM report 제작기

AWS, GCP, Azure 등의 퍼블릭 클라우드를 사용하다보면 마주하게 되는 꼭 난감한 상황이 있습니다. 내가 어떤 클라우드 리소스를 생성했는지, 어디에 어떤 리소스를 추가했는지 파악하지 못하는 경우가 있다는 것입니다. 특히 관리해야 하는 퍼블릭 클라우드 리소스의 규모가 크고 방대할수록 이 문제는 심화되는데, 퍼블릭 클라우드는 리소스의 사용량만큼 비용을 지불해야 하는 구조이기 때문에 이는 재정적으로 큰 문제로 다가올 수 밖에 없습니다. 이같은 문제는 보통 내가 관리하는 퍼블릭 클라우드 리소스의 Observability, 즉 관측가능성을 확보하지 못할 때 발생하게 됩니다. 즉 관측가능성이 어플리케이션이나 인프라에서 말하는 메트릭, 로그, 트레이스 뿐만 아니라 클라우드 리소스에도 통용될 수 있다는 말입니다..

Observability

Elasticsearch의 ELK Stack을 GKE Cluster에 구성해 GCP 관측 가능성 확보하기

멀티 클라우드 환경이 점점 대세가 되어가면서 자연스럽게 다양한 클라우드 플랫폼의 로그 및 메트릭을 중앙화하려는 시도들이 많아지고 있습니다. 각 클라우드 벤더마다 사용하는 로깅, 혹은 모니터링 환경(AWS의 Cloudwatch, GCP의 Operations)이 다르기 때문에 각기 다른 환경을 통일해야만 통합된 관측 가능성을 확보할 수 있기 때문입니다. 이런 각기 다른 관측 가능성 환경을 통합하는 도구로 주로 사용되는 것이 Elastic 사의 Elasticsearch입니다. Elasticsearch는 주로 데이터 처리 파이프라인인 Logstash와 데이터 시각화를 이용한 대쉬보드 도구인 Kibana와 같이 사용되어 이 세 가지 도구를 ELK Stack이라고도 부릅니다. ELK Stack은 OSS이고 컨테이너..

GCP

Prometheus+Grafana로 Apache Hadoop 및 Hive모니터링 하기(with GCP Dataproc)

언젠가부터 빅데이터에 대한 언급이 많아지고 있습니다. 거대한 데이터를 수집하고 분석하는 작업에 대한 수요가 늘면서 이를 수행할 수 있는 툴들이 하나둘씩 나타나고 있습니다. 가령 요즘은 빅쿼리, 데이터브릭, 스노우플레이크와 같은 SaaS형태의 종합 빅데이터 분석도구가 수요를 충족하려 하고 있습니다. 하지만 이런 최근의 SaaS 툴 이전에 빅데이터 분석의 원조격으로 불리는 시스템이 존재했습니다. 그것이 바로 Apache hadoop 입니다. Apache hadoop은 분산 환경에서 빅 데이터를 처리하기 위한 Open-source 프레임워크입니다. 그리고 Apache hadoop을 중심으로 HDFS,YARN 및 연관 도구들을 일컬어 Apache Hadoop Ecosystem(아파치 하둡 생태계)라고 합니다. ..

GCP

Google Cloud의 Cloud Deploy로 자동화된 CI/CD Pipeline 구성하기

본 포스팅은 2021년 11월 3일 필자가 GDG devfest 2021에서 발표한 내용을 기반으로 작성했습니다. 이번 Google Cloud Next 21에서 여러 Google Cloud Platform 서비스를 발표했습니다. 발표한 서비스는 Dataplex, Analytics Hub 등.. 주로 데이터 플랫폼에 힘을 실어주는 서비스가 주로 등장했습니다. 그 중에 데이터 플랫폼이 아닌 다른 분야에서 나온 서비스가 하나 있습니다. 개인적으로 타 CSP에 비해 약하고 생각했던 CI/CD 분야의 서비스인 Cloud Deploy가 그것입니다. 데이터 플랫폼은 예로부터 GCP가 강한 분야였기 때문에 이에 힘을 실어주는 서비스의 등장은 GCP의 장점을 부각시키는 것이었지만, CI/CD 분야 서비스인 Cloud D..

Azure

Microsoft Azure AZ-304 합격 및 Azure Solutions Architect Expert 취득 후기

21년 10월 16일 Azure Solutions architect expert를 취득하기 위해 필요한 시험 중 하나인 AZ-304에 합격했습니다. 이로써 AWS, GCP, Azure 3개 CSP사의 Solutions architect 자격증을 모두 취득했습니다. 3사 자격증 취득을 준비하며 각 CSP가 제공하는 클라우드 서비스와 구조 등에 대한 차이를 명확하게 이해할 수 있었습니다. 이 경험을 토대로 앞으로 다가올 멀티클라우드 아키텍쳐를 원활하게 구축할 수 있을 것이라 생각합니다. 이번 포스팅에서는 Azure Solutions architect expert 취득 후기와 합격하기 위해 했던 공부법을 공유하고자 합니다. 1. Azure solutions architect expert란? "Azure Sol..

GCP

GCP Cloud armor의 DDoS protection 기능 사용 및 검증

GCP의 Cloud armor는 L3 및 L4부터 L7 계열 ddos 공격으로부터 인프라 및 서비스를 보호해주는 WAF(Web application firewall) 서비스입니다. 본래 Cloud armor의 본질은 WAF 서비스이기 때문에 L7 계열 트래픽의 필터링 및 정책 설정이 주된 목적이지만, 볼륨 및 프로토콜 기반의 DDoS 공격에 대한 방어 기능도 제공하고 있습니다. 이번 포스팅에서는 Cloud armor의 기능 중 DDoS 방어에 대한 기능을 사용해보고, 얼마나 효과적으로 방어할 수 있는지 검증해보겠습니다. 1. Cloud armor ddos protection 세팅 Cloud armor는 크게 2종류의 ddos 공격 유형에 대한 방어 기능을 제공합니다. 첫째로는 L3,L4 계열의 DDos ..

Seungwoo Lee
Seungwoo Lee와 About IT 엔지니어링