Amazon Kinesis Data Firehose는 수집한 이벤트를 S3, Redshift, ElasticSearch, Splunk 등의 목적지에 수집할 수 있습니다.
이 실습에서는 EC2가 발생시키는 실시간 원본 데이터를 수집하는 firehose와 analytics로 분석하여 가공된 데이터를 수집하는 firehose 2개를 생성합니다.
EC2에서 생성된 데이터 원형 그대로의 데이터를 S3 버킷의 source 폴더에 저장합니다.
AWS Management Console에서 Kinesis 서비스를 선택합니다.
이 실습은 ap-northeast-2 (Seoul) 리전에서 진행됩니다. 우측 상단의 리전이 Seoul 인지 확인해 주세요.
화면 중간에 있는 Get Started 버튼을 클릭합니다.

Deliver streaming data with Kinesis Firehose delivery streams 메뉴의 Create delivery stream 버튼을 클릭하여 새로운 Firehose 전송 스트림 생성을 시작합니다.

Step 1: Name and soruce 에서 Delivery stream name에 Source 를 입력하고, 우측 하단의 Next 버튼을 클릭합니다.
Source 이외의 name을 지정할 경우 EC2에서 Kinesis Firehose로 log가 전송되지 않습니다.
다음 실습 화면의 개발 코드에서 Kinesis Data Firehose 이름에 Source라고 적혀 있는 것을 확인 할 수 있습니다.
Step 2: Process records 에서 Data transformation 과 Record format conversion 은 default인 Disabled로 두고 Next 버튼을 클릭합니다.

Step 3: Choose a destination 에서 Destination은 Amazon S3를 선택하고 아래 S3 bucket은 앞서 생성한 버킷(bigdata-workshop-[본인이메일id]) 을 선택합니다. Prefix에는 source/ 를 입력합니다. Next 버튼을 클릭합니다

Step 4: Configure settings 에서 Buffer size는 1 MB, Buffer interval은 60 seconds 로 설정합니다. Tags에 Key는 Name을 Value에는 big-data-lab을 입력합니다. 그리고 아래 Permissions IAM role에서 Create new, or Choose 버튼을 클릭합니다.

새 탭에서 필요한 정책이 포함된 IAM 역할 firehose_delivery_role 을 자동으로 생성합니다. Allow 버튼을 클릭하여 진행합니다.

새 역할이 추가된 것을 확인한 뒤 Next 버튼을 클릭합니다.

Step 5: Review 에서 입력한 정보를 확인한 뒤 틀린 부분이 없다면, 우측 하단의 Create delivery stream 버튼을 클릭하여 Firehose 생성을 완료합니다.

Amazon Kinesis Data Firehose 리스트에 Source 이름을 가진 Firehose delivery streams 가 생성 되었습니다.

Kinesis Data Analytics에서 분석한 결과물을 두 번째 Destination 이름의 Firehose delivery stream에 전달 합니다.
지정한 S3 버킷의 destination 폴더에 분석 데이터를 저장하기 위해서 상단 이미지의 Create delivery stream 버튼을 클릭합니다.
Step 1: Name and soruce 에서 Delivery stream name에 Destination 를 입력하고, 우측 하단의 Next 버튼을 클릭합니다.

Step 2: Process records 에서 Data transformation 과 Record format conversion 은 default인 Disabled로 두고 Next 버튼을 클릭합니다.

Step 3: Choose a destination 에서 Destination은 Amazon S3를 선택하고 아래 S3 bucket은 앞서 생성한 버킷(bigdata-workshop-[본인이메일id]) 을 선택합니다. Prefix에는 destination/ 를 입력합니다. Next 버튼을 클릭합니다

Step 4: Configure settings 에서 Buffer size는 1 MB, Buffer interval은 60 seconds 로 설정합니다. Tags에 Key는 Name을 Value에는 big-data-lab을 입력합니다. 그리고 아래 Permissions IAM role에서 Create new, or Choose 버튼을 클릭합니다.

새 탭에서 필요한 정책이 포함된 IAM 역할(Role) firehose_delivery_role 을 자동으로 표시합니다. 해당 역할(Role)에 새로운 정책(Policy)를 만드는 것을 확인하고, 우측 하단의 Allow 버튼을 클릭하여 진행합니다.

새 역할이 추가된 것을 확인한 뒤 Next 버튼을 클릭합니다.

Step 5: Review 에서 입력한 정보를 확인한 뒤 틀린 부분이 없다면, 우측 하단의 Create delivery stream 버튼을 클릭하여 Firehose 생성을 완료합니다.

Amazon Kinesis Data Firehose Delivery streams 리스트에 Destination 이름을 가진 Firehose delivery streams 가 생성 되었습니다.
