본문 바로가기

반응형

전체 글

(149)
[Istio] EKS에서 Okta와 AWS ALB, Istio를 활용하여 인증, 인가 처리하기 1. 개요 Application 단에서 Okta 인증 로직을 구현하는 것보다 AWS ALB 혹은 Istio를 통해 구현하게 된다면 로직을 상당히 줄일 수 있을 것이라 생각하였다. Okta + AWS ALB + Istio를 구현하기 위해서는 다음의 지식들이 필요하다. [Okta] - JWT / OIDC / OAuth2.0 / SAML - ClientID, ClientSecret - Endpoints (Userinfo, Ahthorize, Token, ..) - Org Authorization Server , Custom Authorization Server [AWS] - AWS Listener Authentication (OIDC) - x-amzn-oidc-accesstoken, x-amzn-oidc-id..
[EKS] 아주 가벼운 Loki + Grafana + Promtail 로그 시스템 구성 본 글은 Loki Stack을 활용하여 설치하는 내용이다. 만약 Loki를 로그 시스템으로 도입하기 위해 필요한 내용들을 참고하고 싶다면 아래 글을 읽어보면 좋을 것 같다. (아래 글은 설치 및 구성 방법에 대한 내용을 소개하지 않는다.) https://nyyang.tistory.com/167 [EKS] 로그 시스템 Loki 도입을 위한 몇가지 운영 팁 Loki로 로그 시스템을 구성해서 쓴지 어느덧 3개월이 넘어간다. Loki를 맨 처음에는 Loki Stack(Grafana, Promtail, Loki)로 구성해서 모놀리식 형태로 쓸 수 있지만 쓰다보면 다양한 문제점들이 발견된다. 1. nyyang.tistory.com 1. 개요 ELK 스택이 부담스럽다면 Loki Stack(Promtail + Loki..
[Istio] EKS 환경에서 Istio로 여러개의 ALB, NLB 모두 사용하기 1. 개요 현업에서 외부 트래픽 인입을 받아내기 위해 Istio를 사용중인데, default 설정을 사용하면 CLB가 설치된다. EKS로 쿠버네티스를 운영중인 환경에서 Istio로 ALB, NLB를 각 환경에 맞게 사용하고 싶을 경우에 어떻게 해야 할까? ## 전제 조건 ## - AWS Load Balancer Controller 설치 AWS Load Balancer Controller는 Kubernetes에서 YAML 파일을 배포하는 것 만으로 AWS Load Balancer Controller 파드가 이를 감지하여 AWS API를 사용하여 요청한 대로 Load Balancer를 설치 및 구성해주는 오픈소스이다. 해당 AWS Load Balancer Controller가 설치되어 있지 않다면 내장 설치..
[Datadog] EKS에서 운영중인 SpringBoot HikarpCP 모니터링 (Auto Discovery) 1. 개요 보통 HikariCP를 모니터링 하기 위해서는 JConsole과 같은 Java 애플리케이션 모니터링 툴을 통해 진행해야 하지만, 다소 불편하다고 느낄 수 있다. MBean(Managed Bean)이란, 애플리케이션 혹은 리소스의 상태를 모니터링할 수 있는 Java 객체이다. HikariCP에서 제공하는 MBean을 통해 다음의 정보를 확인할 수 있다. Idle connections의 수 Active connections(현재 사용하고 있는)의 수 모든 connection의 수 connection을 기다리고 있는 thread의 수 그렇다면 SpringBoot 애플리케이션에서 Datadog에서 JMX MBean을 이용하여 HikariCP 모니터링을 어떻게 할 수 있을까? 전체적으로 다음의 과정이 ..
[EKS 애드온 #2] Cluster Autoscaler Helm으로 설치하기 Cluster Autoscaler는 Cluster의 NodeGroup을 자동으로 스케일링 해주는 오픈소스 Addons이다. 본 문서는 설치까지만 안내할 뿐 자세한 사용법에 대해서는 안내하지 않는다. Github : https://github.com/kubernetes/autoscaler Cluster Autoscaler IAM Role 설정 data "aws_iam_policy_document" "cluster-autoscaler" { statement { sid = "" effect = "Allow" resources = ["*"] actions = [ "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeAutoScalingInstances",..
[EKS 애드온 #1] External DNS Helm으로 설치하기 External DNS IAM Role 설정 (IRSA) 본인은 Terraform으로 생성하였지만 AWS 공식문서에 나와있는대로 eksctl로 설치해도 무방하다. 문서 : https://aws.amazon.com/ko/premiumsupport/knowledge-center/eks-set-up-externaldns/ 지원 내역 본인은 Istio와 AWS LoadBalancer Controller에서 사용해보았다. https://github.com/kubernetes-sigs/external-dns#deploying-to-a-cluster Helm으로 external-dns 설치 위의 Github으로 접속하여 values.yaml을 Local로 가져온다. 이는 본인 환경에 맞게 values.yaml을 변경..
[EKS] EKS Cluster 구축 시 고려 사항 정리 (Terraform, Terragrunt, IRSA, Atlantis, Addon, ..) 1. 개요 EKS Cluster를 구성할 때 고려해야 할 사항들에 대해서 정리해본다. - Terraform으로 인프라 구성 - IRSA(IAM Role for Service Account) - 애드온 서비스들 (AWS Load Balancer Controller, Secrets Store CSI Driver, Cluster Autoscaler, External DNS, EBS CSI Driver, EFS CSI Driver, ..) - Monitoring, Logging - .. 2. Terraform으로 인프라 구성 Terraform으로 인프라를 구성할 때는 다음의 고려 사항이 필요했다. [1] 공용으로 사용하는 변수들을 어떻게 관리할 것인가? [2] Terraform을 Local에서 수행할 것인가, ..
[Datadog] AWS Events 기반으로 Datadog 알람 설정하기 1. 개요 Datadog은 SaaS 모니터링 솔루션으로 정말 많은 기능들이 포함되어 있다. Dashboards를 만들 수도 있고, Monitoring 설정을 할 수도 있고 APM을 사용하여 Application 분석을 수행할 수도 있다. 그 중 Events 기능이 있는데, 일련의 Messages 들을 모아놓은 Record라고 생각하면 된다. Kubernetes에서 발생하는 Events들은 물론 그 외에 RDS Events 등이 포함될 수 있다. 아래는 Datadog Events 예시이다. Kubernetes에서 발생하는 이벤트들, Amazon Lambda 혹은 SNS, MongoDB 등 여러가지가 Source가 될 수 있다. 만약 이러한 Events들 중 특정 Content가 포함이 될 경우 알람을 받고..

반응형