본문 바로가기
반응형

AWS10

AWS EKS NodeSelector 설정하기 서론 Kubernetes에는 특정 노드에 특정 pod를 띄울 수 있도록 설정할 수 있습니다. taint와 tolerations, nodeAffinitiy, podAffinity등이 있지만 이번에는 NodeSelector를 사용하여 특정 노드에 pod를 배포하는 방법을 알아보도록 하겠습니다. Node Label 설정하기 우선 노드 or 노드 그룹에 label을 설정해야합니다. EKS 노드그룹에 label을 설정하는 방법은 콘솔에서 노드그룹을 클릭하여 편집으로 들어가서 설정할수도 있고, 아래 cli로도 설정이 가능합니다. https://docs.aws.amazon.com/cli/latest/reference/eks/update-nodegroup-config.html update-nodegroup-config.. 2024. 2. 19.
AWS EKS tolerations, taints의 정의, 설정하기 서론 Kubernetes(쿠버네티스)를 설정하다보면 tolerations와 taints라는 것이 보일 것이다. taints와 tolerations가 무엇이고 설정은 어떻게 하는지 알아보자. AWS EKS에서 설정하는 법으로 예시를 들어보겠다. Taints란? 간단하게 말하면 Taints는 노드가 pod를 제외시킬 수 있는 설정이다. 다르게 말하면 특정 노드에 대해 특정 pod만 실행할 수 있도록 역할을 제한하기 위한 목적으로 사용된다. 하나의 노드에 여러 taints를 설정할 수 있다. 예를 들어, Batch를 돌리는 노드에서는 Batch에 관련된 pod만 실행되어야한다. 그렇다면 해당 Batch 노드에 taints설정을 하여 제한할 수 있다. Tolerations란? Tolerations는 pod에 적.. 2024. 2. 5.
AWS Batch와 EKS(k8s)를 사용하여 배치를 돌려보자 목차 필수 조건 체크 EKS 클러스터 생성 배치 인스턴스 전용 네임스페이스 생성 역할 기반 엑세스 제어(RBAC)를 통한 엑세스 활성화 GPU 노드를 위한 NVIDIA 플러그인 설치 (GPU Node Only) AWS Batch 컴퓨팅 환경 생성 작업 대기열 생성 및 컴퓨팅 환경 연결 작업 정의 생성 작업 제출(시작) 1. 필수 조건 체크 AWS Batch를 EKS로 돌리려면 여타 체크해야 할 부분들이 있다. 우선 작성 시점 문서에서는 아래와 같이 제시하고 있다. aws cli 2.8.6 버전 이상 또는 1.26.0 이상 kubectl 1.23 버전 이상 eksctl 0.115.0 버전 이상 사용하는 IAM 보안 주체에는 EKS IAM 역할 및 서비스 연결 역할, CloudFormation, VPC 및 .. 2024. 1. 29.
[AWS] SageMaker AutoScaling 자동화 안녕하세요. 지난 포스팅에서 SageMaker Autoscaling하는 법을 올렸었습니다. https://developer-jp.tistory.com/63 [AWS] SageMaker Async Endpoint AutoScaling Aws SageMaker 비동기(async) 엔드포인트 autoscaling에 대한 방법에 대해 간단하게 정리해보자. 일단 비동기 엔드포인트는 실시간 엔드포인트와 달리 인스턴스 수를 0개까지 줄일 수 있다. 비동기 엔드 developer-jp.tistory.com 그런데 문제가 SageMaker Endpoint를 생성한 후에 생성이 완료될 때까지 기다렸다가 AutoScaling을 적용해야 되더라구요. 불편한 점이 생겨서 엔드포인트가 생성완료가 된 후에 자동으로 AutoScal.. 2023. 8. 7.
[AWS] S3 이벤트 알림 (트리거) 설정 S3 이벤트 알림 (트리거) 설정을 해보자. 예시 시나리오로 S3 이벤트 알림 -> Lambda 호출을 하도록 설정을 하겠다. 시작부터 말하자면 아주 간단하다. 우선 S3 버킷을 하나 만들고 '속성' 탭으로 가면 이벤트 알림이라고 있다. 이벤트 알림 생성버튼을 클릭하자. 일반 구성에서는 접두사와 접미사로 필터링을 할 수 있다. 예를 들어 images/로 접두사를 설정한다면 버킷안에 images 폴더 안에 있는 객체에 대한 이벤트만 트리거 된다. 그 아래에는 이벤트 유형이라고 있는데 간단히 어떠한 이벤트가 발생해야되는지 설정하는 부분이다. 객체 생성에 관한 이벤트가 발생하면 Lambda로 보낼건지, 객체 삭제를 했을 때 Lambda를 호출할 건지 등등의 설정이다. 마지막으로 대상이라고 있다. 대상은 이벤트.. 2023. 7. 20.
[AWS] API Gateway Stage Version 설정하기(feat. lambda) API Gateway Stage를 사용해서 development와 production 버전을 각각 설정해보자. 보통 API Gateway에서 메서드를 생성할 때 lambda이름을 적게 되는데 이 부분을 변수로 처리할 수 있다. 바로 스테이지 변수(Stage Variable)을 사용하는 것이다. 일단 나는 스테이지를 dev와 prod로 두 가지를 만들어 배포했다. 그리고 메서드와 연결되는 Lambda 함수도 $Latest 버전을 dev로 별칭을 등록했고, 버전 1을 생성하여 prod로 별칭을 등록했다. 이렇게 하였다면 API Gateway 메서드에서 Lambda 함수의 해당 별칭버전으로 호출하도록 해줘야한다. 아래 사진에서 스테이지 메뉴를 들어가면 만들었던 스테이지 리스트가 보인다. dev나 prod를 클.. 2023. 7. 19.
[AWS] Lambda Layer 설정하기 (Node.js) Lambda Layer(계층) 설정을 해보자. Node.js 기준으로 설명을 한다면 간단하다. AWS Console에 Lambda로 가보면 왼쪽 메뉴에 추가 리소스 아래 계층이라고 있다. 클릭해서 계층 생성버튼을 눌러주면 아래와 같은 화면이 뜬다. 중요한 부분은 '어떤 파일을 업로드를 해야 하느냐'와 '호환 런타임 설정'이다. 호환 런타임은 필자는 Node.js로 Lambda를 만들거니 Node.js를 선택하였다. 업로드 파일은 예를 들어 firebase-admin-sdk를 Lambda에서 쓰고싶다고 가정해보자. 방법은 간단하다. 1. 로컬 컴퓨터에서 nodejs라는 폴더를 만든다. 2. nodejs 폴더 안에서 npm install을 한다. npm i firebase-admin 3. nodejs 폴더 .. 2023. 7. 18.
[AWS] SageMaker Async Endpoint AutoScaling Aws SageMaker 비동기(async) 엔드포인트 autoscaling에 대한 방법에 대해 간단하게 정리해보자. 일단 비동기 엔드포인트는 실시간 엔드포인트와 달리 인스턴스 수를 0개까지 줄일 수 있다. 비동기 엔드포인트 내부적으로 Queue가 있어 요청이 오면 Queue에 쌓이고 인스턴스 수를 scale-out 시킨다. 때문에 일반적인 scale-out, scale-in 정책 말고도 인스턴스 수가 0개 일 때 요청이 온 경우 scale-out시켜주는 정책이 따로 필요하다. SageMaker 콘솔에서 만들 수 있는 부분에는 한계가 있다. CLI를 사용하여 만들면 더욱 세세하게 설정할 수 있어서 처음에는 CLI로 작업을 하였는데, 엔드포인트가 여러 개 늘어나면 일일이 하기 귀찮을 것 같아서 AWS SD.. 2023. 7. 17.
[AWS] RDS에서 Lambda 함수 호출 방법 * MySQL 8.0 호환 클러스터용 Aurora Mysql 3.01 버전 사용. 1. Aurora에 Lambda 엑세스 권한 부여 a. Lambda 리소스 엑세스를 위한 IAM 정책 새로 생성 또는 AWS 관리형 정책 아래 처럼 IAM정책을 직접 만들거나 기본 AWS 관리형 정책 (AWSLambdaRole)을 사용하여 엑세스를 부여할 수 있다. { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAuroraToExampleFunction", "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:::function:" } ] } b. IAM 역할 생성 및 정책 적.. 2022. 7. 4.
반응형