본문 바로가기

전체 글

(14)
[AWS] EKS - Horizontal Pod AutoScaler ( HPA ) 설정 HPA 란?Horizontal Pod Autoscaler(HPA)는 CPU, Memory 기반으로 Pod를 Scale Out/In 을 한다. Deployment에 세팅을 해주면 hpa라고 하는 리소스가 생성된다.HPA에서는 기본적으로 15초 마다 메트릭을 측정하고 조건에 맞을 경우 해당 deployment를 Scale Out/In을 하게 된다. 실제로 각 Node에서 cAdvisor가 메트릭정보를 수집하고 -> kubelet으로 보낸다.  EKS 원클릭 배포에서 설치한 Addon인 metric server가 k8s apiserver에 메트릭 정보를 등록하고, HPA Controller가 15초마다 값을 수집하는 방식이다. HPA 장단점HPA 장점간단하고 쉬운 설정HPA는 선언적 구성을 통해 쉽게 설정할 ..
[AWS] EKS - Nginx Ingress Controller 설치 및 NLB 생성 ngress 란클러스터 외부에서 내부로 접근하는 요청들을 어떻게 처리할 지 정의해둔 규칙들의 모음Ingress의 기능외부에서 접속 가능한 URL 사용트래픽 로드밸런싱SSL 인증서 처리도메인 기반 가상 호스팅 제공Ingress Controller 란클러스터에서 실행되고 수긴 리소스에 따라 HTTP 로드 밸런서를 구성하는 응용 프로그램Ingress가 동작하기 위해서는 Ingress Controller 필요Ingress Controller 통신 흐름 AWS Load Balancer Controller 설치https://yeom0326.tistory.com/4 참조Nginx Ingress Controller 설치helm repo add ingress-nginx https://kubernetes.github.io..
[AWS] EKS - Load Balancer Controller 설치 및 ALB 생성 EKS Cluster에 Load Balancer Controller 설치한 후에 ALB 생성해보도록 하겠습니다. EKS OIDC ProviderCLUSTER_NAME="ydy-eks"eksctl utils associate-iam-oidc-provider --cluster ${CLUSTER_NAME} --approveIAM Policy / Role 생성curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.4.7/docs/install/iam_policy.jsonaws iam create-policy \ --policy-name AWSLoadBalancerControllerIAMPolicy-ek..
[AWS] EKS Cluster 생성 Yaml 파일을 이용한 EKS Clutser 생성 방법 입니다.  AWS CLI UpgradeAWS CLI Upgradecurl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"unzip awscliv2.zipsudo ./aws/install  Kubectl 설치kubectl 설치# kubectl 설치https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/install-kubectl.htmlcurl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.30.0/2024-05-12/bin/linux/amd64/kubectl# 바이너리에 실행..
[AWS] S3, Athena, Lambda - 최근 액세스 날짜 기준 이후의 객체 삭제 어느 한 버킷에 오래된 객체들이 있지만 이 객체들 중에서 서비스 운영에서 필요한 객체들이 있습니다.하지만 쓰지 않는 객체들이 많아 해당 객체들을 삭제하여 비용을 절감하고 싶을 때 S3의 수명관리로는 해당 작업이 불가합니다.S3의 수명관리로 삭제를 하려고 한다면 최근 액세스 된 객체를 잡아내지 못하고 특정 기간이 지난 객체를 삭제하게 됩니다.최근 액세스된 객체를 제외한 오래된 객체를 삭제하기 위해서는 S3 서버 액세스 로그를 뽑아내고 해당 로그를 Athena를 통해 분석 후 람다를 통해 삭제를 진행해야 합니다. 진행하면서 참고한 자료들은 맨 밑에 링크 첨부하도록 하겠습니다.  S3 액세스 로그 활성화S3 Bucket -> 속성 -> 서버 액세스 로깅S3 Bucket -> 관리 -> 인벤토리 구성S3 액세스..
[AWS] S3 - Cross Account Access S3 Cross Account Access는 여러 AWS 계정을 사용하는 환경에서, 특정 계정이 소유한 S3 버킷에 다른 계정에서 접근해야 할 때 자주 사용됩니다. 이를 통해 각 계정 간 데이터 공유나 협업을 쉽게 할 수 있습니다. 다음과 같은 시나리오에서 자주 사용됩니다.멀티 계정 구조: 기업에서 보안 및 비용 관리를 위해 여러 AWS 계정을 운영하는 경우, 중앙 계정에서 S3 버킷을 생성하고 다른 계정이 해당 버킷에 접근해야 할 때 Cross Account Access를 설정합니다. 예를 들어, 개발 계정과 운영 계정 간 데이터 공유가 필요할 때 유용합니다.파트너사와의 데이터 공유: 다른 AWS 계정을 사용하는 외부 파트너사나 클라이언트와 데이터를 공유해야 할 때, S3 Cross Account Ac..