IT/AWS(18)
-
Amazon Kinesis Data Streams, Kinesis Data Firehose 이용하여 로그 데이터 수집/저장
1. 설명 1.1 Kinesis Data Streams Amazon Kinesis Data Streams는 데이터를 실시간으로 수집하고, 저장하여 데이터를 사용(소비) 할 수 있는 상태로 만든다. Kinesis Data Streams 아키텍처는 다음과 같다. Producer는 지속적으로 Kinesis Data Streams에 데이터를 푸시하고, Consumer는 실시간으로 데이터를 처리한다. Shard는 Stream에서 고유하게 식별되는 데이터 레코드 시퀀스이다. Stream은 1개 이상의 Shard로 구성된다. 각 Shard는 고정된 용량을 제공하고, Stream의 총 용량은 해당 Shard의 용량의 합계가 된다. 데이터 속도가 증가하면 Stream에 할당된 Shard 수를 늘리거나 줄일 수 있다(리샤..
2020.05.04 -
AWS Storage gateway를 이용한 EFS와 S3 간 데이터 전송
1. 설명 1.1 Storage gateway 기능 및 종류 AWS Storage Gateway는 온프레미스 환경과 AWS 스토리지 인프라 사이의 연결을 서비스한다. Storage Gateway는 3가지 종류로 선택할 수 있다. 파일 게이트웨이 : NFS 또는 SMB에서 S3에 대한 파일 인터페이스를 지원한다. 볼륨 게이트웨이 : 온프레미스 볼륨 데이터 전체를 저장하고, AWS에 특정 시점의 스냅샷을 주기적으로 저장한다. 테이프 게이트웨이 : 가상 테이프 라이브러리(VTL) 인터페이스를 통하여 테이프 기반 백업을 지원한다. 1.2 Storage gateway 작동 방식 아래는 파일 게이트웨이의 배포를 나타낸 것이다. 게이트웨이용 VM 이미지를 다운로드하여 게이트웨이의 사용을 준비한다. (EC2에 구성 가..
2020.04.23 -
Amazon Redshift 구성 및 사용
1. 설명 Redshift는 클라우드 데이터 웨어하우스이다. 데이터 작업을 빠르고 간단하게 수행하고, AWS 에코시스템에 손쉽게 연결할 수 있도록 한다. Redshift를 사용하는 일반적인 프로세스는 다음과 같다. 사용할 데이터를 S3에 적재하고, Redshift에 로드하여 데이터를 분석한다. 본문에서는 샘플 데이터(미국 항공사 데이터)를 S3에 적재하고, 이를 로드하여 데이터를 분석한다. 2. Redshift 구성 및 연결 Redshift 클러스터를 구성한다. 클러스터 식별자와 노드 유형, 노드 수를 입력한다. 데이터베이스를 구성한다. 데이터베이스 이름, 마스터 계정 이름 및 비밀번호를 입력한다. 구성할 VPC 및 보안그룹을 지정하고, 클러스터를 생성한다. 클러스터의 속성을 확인하고, 생성을 기다린다...
2020.04.09 -
AWS Lambda 기반의 공공데이터 호출 및 변환
1. 설명 공공데이터포털(https://www.data.go.kr/)에서 API를 이용해 날씨 데이터를 호출하고자 한다. 해당 사이트에서 발급받은 인증키를 넣어 브라우저로 호출하면 다음과 같은 json 형식의 결과가 나온다. 본문에서는 Lambda 함수를 이용하여 위와 같이 호출한 json 형식의 데이터를 csv 형식으로 변환하고, 이를 S3에 업로드하고자 한다. 2. 구현 Lambda Layers를 통하여 여러 함수가 공유하는 코드 또는 라이브러리 데이터를 관리할 수 있다. 본문에서는 라이브러리를 Layer에 등록하여 사용하였지만, 한정된 Layer 용량으로 필요한 라이브러리를 모두 등록할 수 없었다. Layer에 등록하지 못한 라이브러리는 따로 zip로 형태로 Lambda_function.py와 함께..
2020.04.09 -
AWS EC2 재부팅 시, 사용자 데이터(User Data) 적용
1. 설명 AWS EC2를 시작할 때, 아래와 같이 사용자 데이터 스크립트 및 cloud-init 명령을 넣어 실행하게 만들 수 있다. 이는 첫 부팅에만 실행된다. 본문에서는 EC2를 재부팅할 때, 사용자 데이터를 적용하고자 한다. 첫 부팅에서 잘 실행되는 사용자 데이터는 재부팅 시에는 실행되지 않는다. 재부팅 시에 사용자 데이터를 적용하려면, MIME 멀티파트 파일을 사용해야 한다. cloud-init 패키지에서 사용자 데이터를 실행하는 빈도를 재정의한 후, 파일에서 사용자 스크립트를 실행해야 적용된다. 현재 실행되고 있는 EC2를 중지하고, 다음과 같이 사용자 데이터를 편집한다. EC2를 중지하고 다시 시작하면, EC2 스토어 볼륨은 지워진다. 이점을 유의해서 작업해야 한다. 2. 구현 본 스크립트는..
2020.04.09 -
AWS API Gateway를 이용한 DynamoDB 데이터 적재
본문에서는 API Gateway를 이용하여 RESTful API를 만들고, DynamoDB에 데이터를 넣을 수 있도록 구현한다. 이는 Lambda를 이용하지 않고, 구현하는 방법이다. 1. API Gateway 1.1 API 생성 API Gateway를 생성한다. REST API로 구축한다. 프로토콜은 기본으로 선택한다. API 이름을 지정하고 생성한다. API Gateway의 리소스를 생성한다. 본문에서는 리소스 이름을 load로 하였고, 리소스 경로는 /load 이다. 1.2 POST 메소드 등록 POST 메소드를 등록한다. 요청의 타입을 입력하고, 해당 템플릿을 생성한다. 본문에서는 joohyun-test 라는 테이블에 데이터를 삽입한다. test_id는 키값으로 요청 시간을, details에는 요..
2020.04.09