본문 바로가기
반응형

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 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 RDS] Proxy Endpoint 설정 AWS 콘솔의 RDS로 가면 위와 같이 메뉴가 보인다. 프록시 엔드포인트 설정을 하려면 우선 데이터베이스에 가서 rds인스턴스를 하나 만들어야한다. 그 다음 프록시 탭으로가서 프록시 생성을 해주면 되는데 연결할 데이터베이스에 만든 인스턴스를 넣고 Secret Manager를 생성하여 연결하면 된다. Secret Manager는 프록시 엔드포인트를 사용하여 rds에 연결할 때 사용하게 되는 유저네임과 비밀번호이다. 프록시 리더 엔드포인트를 추가하려면 체크하여 추가하면 된다. 보안그룹은 rds 인스턴스 보안그룹과 동일하게 한다. 이렇게 생성하여 나오는 엔드포인트 주소로 rds 연결을 하면 되는데 하나 더 해야될 것은 rds와 프록시가 동일한 보안그룹일 경우 vpc보안그룹에 들어가서 인바운드 규칙을 추가해야되.. 2022. 6. 9.
[7] 인덱스 템플릿 인덱스 템플릿을 사용하면 이미 정의된 mappings와 settings 그대로 새 인덱스를 초기화할 수 있다. 예를 들어, 지속적으로 인덱싱하는 log data라면, 이런 모든 index가 동일한 수의 샤드와 복제본을 갖도록 인덱스 템플릿을 정의할 수 있다. // Index Template 생성 예시 PUT _index_template/daily_logs // daily_logs라는 이름을 가진 템플릿 생성 { "index_patterns": [ "logs-2022-01-*" ], "template": { "aliases": { "my_logs": {} }, "settings": { "number_of_shards": 2, "number_of_replicas": 1 }, "mappings": { "pro.. 2022. 3. 2.
[3] 인덱스 생성과 설정 예제 :: Index Naming Restrictions 모든 문자는 소문자만 가능. 인덱스 이름의 시작은 '_'나 '-'로 시작될 수 없음. 인덱스 이름은 다음의 문자열을 포함할 수 없음. ( :, ", *, +, /, \\, |, ?, #, >, or < ) Movie라는 이름을 가진 인덱스의 생성 예시 기본적으로 settings와 mappings라는 key를 가진 JSONObject로 인덱스에 대한 설정 정보를 입력한다. // movie라는 이름을 가진 인덱스의 생성 예 PUT /movie { "settings": { "number_of_shards": 1, "number_of_replicas": 1, "shard": { "check_on_startup": false } }, "mappings": { ".. 2022. 2. 17.
반응형