본문 바로가기

AWS

(12)
[클라우드] Serverless란 무엇인가요? 서버리스(Serverless)는 클라우드 컴퓨팅 서비스의 한 형태로, 사용자가 서버 인프라를 직접 관리하지 않고도 애플리케이션을 개발하고 실행할 수 있도록 하는 모델입니다. 여기서는 몇 가지 주요 개념과 특징을 설명하겠습니다.주요 개념 및 특징구분내용관리되지 않는 인프라사용자는 서버나 운영 체제를 관리할 필요 없이 애플리케이션 코드에만 집중할 수 있습니다. 서버 관리, 패치, 유지보수 등은 클라우드 제공자가 담당합니이벤트 기반 실행서버리스 애플리케이션은 이벤트(예: HTTP 요청, 데이터베이스 트리거, 파일 업로드 등)에 의해 트리거됩니다. 이는 애플리케이션이 특정 이벤트에 반응하여 실행된다는 의미입니다.자동 확장성서버리스 환경에서는 애플리케이션이 필요에 따라 자동으로 확장됩니다. 예를 들어, 특정 이벤..
[AWS] Lake Formation 알아보기 Lake Formation 데이터레이크(Data Lake)란? 데이터레이크는 정형 혹은 비정형 데이터에 상관 없이 어떤 규모에서도 저장 및 분석이 가능한 단일 저장소를 이야기 한다. 주요하게 기억해야 할 사항 데이터 형식에 제약이 없어야 한다. (정형, 비정형, 반정형 모두 지원되어야 한다) 규모에 제약이 없어야 한다. (다양한 규모의 데이터를 지원할 수 있어야 한다) 단일 저장소 형태여야 한다. 데이터레이크를 위한 필수 사항 : 모든 규모의 정형 및 비정형 데이터를 관리, 탐색, 공유, 분석 할 수 있는 유연하고 안전한 저장소 구분 내용 데이터 저장소 단일 지점에서 모든 데이터를 활용할 수 있어야 한다. 데이터 형식 다양한 데이터 형식을 모두 지원 가능해야 한다. 정형, 반정형, 비정형, 원시 데이터 ..
[AWS] 비구조화된 데이터 분석 (로그데이터 분석하기) AWS를 활용하면 분산 처리 기술인 하둡을 손쉽게 이용 가능하다. 1.구조화되지 않은 데이터 다루기 - 로그 데이터를 분석하기 위해서는 전처리를 해야만 합니다. 로그 파일은 단순한 텍스트 파일로, 컬럼 및 데이터형 / 자리수와 같은 스키마 정의가 엄격하게 구조화되어 있지 않기 때문입니다. - AWS의 레드시프트에 넣을 수 있는 것은 구조화된 데이터뿐이기 때문에 로그 파일에 정보들을 레드시프트에서 관리하기 위해서는 적합한 데이터 형식으로 변환해줘야 하는 작업이 필요합니다. - 필요한 데이터만 가져와 가져와야 합니다. 로그 데이터에는 우리가 분석하기 위해 필요한 데이터 뿐만 아니라 다양한 정보가 담겨져 있습니다. 그렇기 때문에 우리가 필요로 하는 데이터만 선별해서 가져와야 하는 작업이 필요합니다. - 데이터..
[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에서는 제공하고 있다. 스케일 아웃을 전제로 하면 처리 능력을 확장시키는 작업을 자..