분류 전체보기30 [EKS] Python 코드로 EKS 클러스터 접근하기 파이썬 코드로 EKS 클러스터에 접근하기 위해서는 Kubernetes 클라이언트를 설정해주어야 합니다. 아래 방법으로 Lambda에서 AWS EKS 클러스터에 안전하게 연결하고 클러스터와의 통신을 자동화할 수 있게 했습니다.AWS의 SSM Parameter Store에서 EKS 클러스터에 대한 정보를 가져오고, STS 토큰을 생성하여 Kubernetes 클라이언트를 설정합니다.템플릿을 사용해 Kubernetes 구성 파일을 생성하고, config.load_kube_config를 호출해 Kubernetes API와 상호작용할 수 있는 클라이언트를 준비합니다.아래는 구성했던 방법입니다. 1. Kubernetes 클러스터 연결을 위한 YAML 템플릿TEMPLATE = """apiVersion: v1clust.. 2024. 9. 29. [AWS] Assume role Assume role? assume_role_policy는 AWS에서 한 엔터티(예: Lambda 함수, EC2 인스턴스 등)가 다른 역할을 "assume"하도록 허용하는 정책입니다. 이 정책을 통해 엔터티는 그 역할의 권한을 획득하여, 해당 역할에 정의된 권한을 사용할 수 있게 됩니다. 이 프로세스는 sts:AssumeRole API를 통해 이루어집니다. assume_role_policy = jsonencode({ Version = "2012-10-17" Statement = [ { Effect = "Allow" Principal = { Service = "lambda.amazonaws.com" } Action = .. 2024. 9. 29. [AWS] EBS EFS 선택 기준 EFS(Elastic File System) 와 EBS(Elastic Block Store) 는 AWS 에서 제공하는 스토리지 서비스입니다. 목적에 따라 선택하면 되겠습니다. EBSEC2 인스턴스에 연결되는 블록 스토리지로, 각 볼륨은 특정 인스턴스에 연결되고, 파일 시스템처럼 사용됩니다.주로 DB, 파일 시스템, 또는 애플리케이션의 데이터 저장소로 사용됩니다. 특징)1. 한 번에 하나의 인스턴스에만 연결됨2. 높은 IOPS 가 필요한 작업에 적합3. EBS 스냅샷 기능을 통해 데이터 백업 가능 EFSNFS(Network File System) 프로토콜을 사용한 파일 스토리지 서비스로, 여러 인스턴스에서 동시에 엑세스할 수 있습니다.여러 인스턴스가 동일한 파일 시스템에 엑세스해야 하는 환경에서 유용합니다.. 2024. 9. 17. [EKS 모범 사례] 스케쥴링/probe 여러 노드에 replicas 스케줄링모든 replicas의 파드가 동일한 노드에서 실행되고 있으면 해당 노드를 사용할 수 없어질 때 여러 파드를 배포하는 것의 유용성이 떨어지게됩니다. 파드 anti-affinity 또는 파드 topology spread contraints을 사용해 디플로이먼트의 파드를 여러 워커 노드에 분산시키는 것을 권장합니다.여러 AZ에서 실행하여 일반적인 애플리케이션의 신뢰성을 더욱 개선할 수 있습니다. 파드 anti-affinity 규칙 사용아래 매니페스트는 쿠버네티스 스케줄러에게 파드를 별도의 노드와 AZ에 배치하도록 prefer라고 지시합니다. 이렇게 되어있다면 별도의 노드나 AZ가 필요하지 않습니다. 그렇게 하면 각 AZ에서 실행 중인 파드가 있으면 쿠버네티스가 어떤 파드도.. 2024. 8. 10. 이전 1 2 3 4 5 6 ··· 8 다음