[EKS] AWS EKS FluentBit, Prometheus, Grafana 실습 환경 구축

vinca·2024년 2월 19일
0

🦓 EKS

목록 보기
20/23
post-thumbnail
post-custom-banner

본 실습은 다음과 같은 환경에서 진행되었습니다.

구축된 환경 정보

설치된 정보

  • 설치된 파드 정보

  • 설치된 파드의 이미지 정보 (AWS 공식계정 ID : 602401143452)
    이러한 이미지들은 AWS에서 정식으로 제공하고 지원하는 것이며, 사용자가 EKS 클러스터를 구성할 때 기본적으로 이러한 이미지를 이용해서 EKS 환경 구축(파드배포)에 사용됨.

  • 설치된 Add-on

  • IRSA
    Driver 설치시에 생성됨. 실제 K8S 클러스터에도 SA가 존재

스토리지 클래스 생성

// 스토리지 클래스 생성을 위한 gp3-sc.yaml 파일 만들기
cat <<EOT > gp3-sc.yaml
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: gp3
allowVolumeExpansion: true
provisioner: ebs.csi.aws.com
volumeBindingMode: WaitForFirstConsumer
parameters:
  type: gp3
  allowAutoIOPSPerGBIncrease: 'true'
  encrypted: 'true'
EOT

// gp3 스토리지 클래스 생성
kubectl apply -f gp3-sc.yaml

// 스토리지 클래스 확인
kubectl get sc

Prometheus🔥 서버의 TSDB가 사용할 스토리지 대상을 지정할 수 있다. 이 때, 별도의 설정이 없으면 로컬 내의 emptyDir 볼륨이 사용된다. (주로 PV를 사용한다)

그라파나☀️ 또한 데이터를 저장하는 목적으로 스토리지 영역을 지정할 수 있는데 이 또한 마찬가지로 PV를 사용할 수 있다.

따라서 EBS-CSI-Driver를 통한 동적 프로비저닝 환경을 구성해야하고, 이를 수행하기 위해서는 PV를 정의하는 Storage Class가 필요하다.

물론 EKS 환경에는 기본 스토리지 클래스인 gp2가 존재하나 성능적인 측면에서 좋지않아, gp3 유형의 스토리지 클래스를 생성하도록 한다.

AWS Cert Manager 인증서 확인

// ACM 인증서 확인
aws acm list-certificates

// ACM 인증서 변수 선언
CERT_ARN=`aws acm list-certificates --query 'CertificateSummaryList[].CertificateArn[]' --output text`; echo $CERT_ARN

해당 실습에서는 특정 대상의 접근을 Ingress 유형의 ALB로 수행하는데, 이 때 자신의 도메인 주소에 서브 도메인을 구성하고 연결해서 해당 주소를 사용하게 된다.

그리고 내 해당 도메인에 HTTPS를 통한 접근 설정이 가능하도록 한다.

HTTPS로만 접근해야하는 게 있나? 프로메테우스나 그라파나 중에?

route53 등록 -> 등록한 거 기반으로 ACM 발급 -> ACM을 LB에 연결(리스너 규칙에 https 추가) -> Route53접속시 ALB DNS로 라우팅 되도록 레코드 생성

만약 인증서가 없을 경우..

✅ ACM 인증서 생성

// ACM 인증서 신규 생성
aws acm request-certificate \
  --domain-name *.${MyDomain} \
  --validation-method DNS \
  --options CertificateTransparencyLoggingPreference=DISABLED

DNS 방식으로 인증한다. 이는 Route53에서 CNAME 레코드를 이용하여 검증하는 방식이다. ACM 인증서에 들어가보면 실제 도메인을 검증할 때 CNAME 레코드를 통해 검증(확인)한 것을 볼 수 있다.

✅ ACM 인증서 검증

검증을 위해서는 Route53에서 레코드 생성을 누르면 검증에 사용할 DNS 레코드 CNAME이 자동으로 출력된다. 레코드 생성을 눌러서 DNS 방식으로 인증을 하면 자동으로 검증이 진행된다.

profile
붉은 배 오색 딱다구리 개발자 🦃Cloud & DevOps
post-custom-banner

0개의 댓글