본문 바로가기

AWS

(13)
[Kubernetes] Karpenter 개념 알아보기! Karpenter는 AWS에서 제공하는 오픈 소스 클러스터 오토스케일러로, Kubernetes 클러스터의 노드 자원을 자동으로 관리하고 최적화하는 도구입니다. Karpenter는 기존의 클러스터 오토스케일링 방식보다 더 유연하고 효율적인 방식으로 동작하며, 애플리케이션의 리소스 요구사항에 따라 자동으로 노드를 추가하거나 제거합니다.Karpenter의 주요 개념구분내용즉시성 (Immediacy)Karpenter는 빠르게 새로운 노드를 추가하여 클러스터의 리소스 부족 문제를 해결합니다. 이는 워크로드가 갑작스럽게 증가할 때 특히 유용합니다.비용 효율성 (Cost Efficiency)Karpenter는 클라우드 자원을 효율적으로 사용하여 비용을 절감할 수 있도록 설계되었습니다. 필요하지 않은 노드는 자동으로 ..
[빅데이터] 데이터 품질 검증 알아보기(AWS Deequ & Glue Data Quality) 데이터 품질이란? 일반적인 문제 Raw Data를 항상 신뢰할 수는 없다. 데이터 소스마다 품질 수준이 상이 하다. 대부분 데이터 레이크 설계시에 수집 데이터의 통제 수준을 결정하지 않기 때문에 위 문제가 발생 가능 하다. 문제로 인해 발생 가능한 이슈 누락된 값으로 인해 프로덕션 시스템에서 널이 아닌 값을 필요로 하는 오류(NullPointerException)가 발생할 수 있습니다. 데이터 분포의 변화로 인해 머신 러닝 모델에서 예기치 않은 출력이 발생할 수 있습니다. 잘못된 데이터의 집계는 잘못된 비즈니스 의사 결정으로 이어질 수 있습니다. 위 문제를 해결하기 위해 데이터 처리 파이프라인의 단계 중 하나로, 필요한 품질 검사를 구현해야 한다. 구분 내용 공통 품질 검사 항목 특정 컬럼에 대한 값의 ..
[AWS] Lake Formation 알아보기 Lake Formation 데이터레이크(Data Lake)란? 데이터레이크는 정형 혹은 비정형 데이터에 상관 없이 어떤 규모에서도 저장 및 분석이 가능한 단일 저장소를 이야기 한다. 주요하게 기억해야 할 사항 데이터 형식에 제약이 없어야 한다. (정형, 비정형, 반정형 모두 지원되어야 한다) 규모에 제약이 없어야 한다. (다양한 규모의 데이터를 지원할 수 있어야 한다) 단일 저장소 형태여야 한다. 데이터레이크를 위한 필수 사항 : 모든 규모의 정형 및 비정형 데이터를 관리, 탐색, 공유, 분석 할 수 있는 유연하고 안전한 저장소 구분 내용 데이터 저장소 단일 지점에서 모든 데이터를 활용할 수 있어야 한다. 데이터 형식 다양한 데이터 형식을 모두 지원 가능해야 한다. 정형, 반정형, 비정형, 원시 데이터 ..
[AWS] 구조화된 데이터 분석하기 1. 레드 시프트(RedShift) : 분석 대상 데이터를 저장하는 DB로서 대용량 데이터의 검색과 분석에 최적화된 DB 서비스이다.레드 시프트는 대용량 데이터를 열 방향으로 부석 및 집계하는 작업을 효율적으로 수행하도록 만들어진 DB이다. [특징] -앞서 이야기 했듯이 열 방향 분석 및 집계를 빠르게 처리할 수 있는 DB이다. -여러 서버에서 분산 처리하는 구조이기 때문에 분석할 데이터양이 늘어도 확장이 자유롭다. - 레드 시프트는 DWH(Data WareHouse) 및 BI(Business Intelligence)의 기본 DB로 적합하다. - 레드 시프트는 RDS와 마찬가지로 관리형 DB 서비스로 제공되기 때문에 사용자는 서버 구성 및 데이터 중복성과 같은 것들에 대해서 고민할 필요가 없음. - 레드..
[AWS] API Gateway API Key 알아보기 AWS API Gateway에서 API Key를 활성화하여 서비스를 제공할 경우에는 사용자는 API키 정보를 필수로 탑재하여 사용을 해야 한다. 키 값이 일치할 경우에는 사전에 설정한 할당량과 속도에 맞게 서비스되고 그렇지 않은 경우 InvalidKeyParameter 예외가 발생한다. 아래와 같은 방식으로 구현하여 사용할 수 있다. 1. 사용자가 HEADER값에 API KEY값을 입력하여 요청. (사용자에게 API KEY값을 공유하여 사용한다.) : 사용자는 REST API 요청시 X-API-Key 헤더로서 API KEY를 함께 전달한다. (단, 이와 같이 사용하면 API KEY값이 도난당할 수 있으므로 보안에 위험이 있다.) 2. 권한 부여자가 제공한 API KEY를 사용하기. 사용자가 Token값과..
[AWS] API Gateway Lambda 권한 부여자 사용하기 API에 대한 액세스 권한을 제어하는데 Lambda 함수를 사용한다. 권한 부여자는 OAuth나 SAML 같은 보유자 토큰 인증 전략을 사용할 수 있고 헤더, 경로, 쿼리문자열, 단계 변수 또는 컨텍스트 변수 요청 파라미터 정보를 활용하여 인증을 할 수 있다. *SAML : https://ko.wikipedia.org/wiki/SAML 간단히 요약하자면 Lambda로 권한 부여하기 위한 방법은 아래와 같이 두가지로 나눌 수 있다. 1. TOKEN을 사용하여 권한 부여 2. 헤더, 쿼리 문자열, 단계 변수, 컨텍스트 변수 같은 요청 파라미터를 사용하여 권한 부여 [API와 Lambda 연결하는 방법] 1. API Gateway 콘솔로 이동후 API를 선택하고 "권한 부여자"를 선택한다. 2. "+새로운 권..
[AWS] API Gateway 엑세스 제어 (안증/ 인가 / 권한 / API KEY) API Gateway에서 리소스 및 메소드별 엑세스 제어하는 방법에는 여러가지 방법이 있다. (AWS의 서비스들은 항상 최종의 솔루션을 제공하지 않는다. 다양한 수단과 방법만 제공하고 최종 결정은 사용자의 몫으로 남겨둔다.) 1. 리소스 정책 사용 - 특정 IAM 권한이나 역할을 부여 받은 사용자가 리소스별 API 호출 여부를 제어하기 위해 사용된다. - 리소스 정책은 JSON 정책 문서를 작성하여 API에 연결하여 사용한다. - 리소스 정책은 아래와 같이 크게 3가지 형태로 제공된다. 1> 지정된 AWS 계정의 사용자 2> 지정된 원본 IP 주소 범위 또는 CIDR(사이더) 블록 3> 지정된 가상 사설 클라우드 (VPC) 또는 VPC 엔드포인트(계정 무관) *[참고 CIDR : https://ko.wi..
[AWS] 스케일링 알아보기 시스템으로의 접속수가 늘어나면 처리 능력을 키울 방법이 필요하다. 이와 같이 시스템의 처리 능력을 키우는 것을 스케일링이라고 한다. AWS는 스케일링하는 구체적인 방법으로 두가지 방법이 있다. 스케일 업(scale-up)과 스케일 아웃(scale-out)이 여기에 속한다. 스케일 업은 두가지의 커다란 제약이 있다. 하나는 단일 노드의 스펙 상한이 시스템의 처리 성능 한계가 되어버리는 것이다. 두번째는 인스턴스 용량을 변경할 때 일시적으로 중단을 해야 한다는 단점이 있다. 이에 비해 스케일 아웃은 노드 수를 늘리는 것으로 스케일링을 하기 때문에 상한선 제약 없이 동적으로 적용할 수 있다. 이와 같은 스케일 아웃 기능을 AWS에서는 제공하고 있다. 스케일 아웃을 전제로 하면 처리 능력을 확장시키는 작업을 자..