이론, 개념잡기
<1> Kinesis Data Analytics 사용하기 위한 구성 이해하기(이론)
<2> 실시간 분석을 위해 Kinesis Data Analytics 설정하기
<3> 파이어 호스로 s3에 로그 파일 저장
<4> S3 가서 결과 확인
<10> 같이 보면 좋은 자료
<1> Kinesis Data Analytics 사용하기 위한 구성 이해하기(이론)
1
구성?
데이터 -- apigw --kinesis data stream ---kinesis data analycis --- kinesis data firehorse----s3
Kinesis Data Analytics에서 바로 S3로 못 넣는다.
firehorse를 통해 S3에 데이터를 넣는다.
2
생성?
kinesis data analycis 생성
Kinesis > SQL applications (legacy)
3
필요 role
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"kinesis:DescribeStream",
"kinesis:GetShardIterator",
"kinesis:GetRecords",
"kinesis:PutRecord",
"kinesis:PutRecords"
],
"Resource": [
"arn:aws:kinesis:us-west-2:111111111111:stream/InputLogStream"
],
"Effect": "Allow",
"Sid": "ReadInputStream"
},
{
"Action": [
"s3:*",
"kinesis:*",
"firehose:*",
"sts:AssumeRole"
],
"Resource": [
"*"
],
"Effect": "Allow",
"Sid": "Permissions"
}
]
}
4
스키마 추론
SAVE
<2> 실시간 분석을 위해 Kinesis Data Analytics 설정하기
1
소스를 미리 만들어놓은 Kinesis firehorse 나 stream으로 지정한다.
2
Steps to configure your application 확장
3
Configure SQL
코드 입력
저장
4
Configure SQL
추출 하고자 하는 코드 다시 입력
저장
<3> 파이어 호스로 s3에 로그 파일 저장
1
데이터 분석은 s3에 직접 저장 못한다.
그래서, 파이어 호스로 S3에 저장한다.
2
Create Delivery Stream
Source : Direct Put
Destination : Amazon S3
stream name : firehorse-log1
3
목적지인 s3 만든다
목적지를 s3로 지정한다.
4
Buffer interval 60초로 변경
최대한 빠르게
5
advanced Settin 에서
파이어 호스 롤을 선택한다.
s3 접근 권한이 필요하다.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:AbortMultipartUpload",
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket",
"s3:ListBucketMultipartUploads",
"s3:PutObject"
],
"Resource": [
"*"
],
"Effect": "Allow",
"Sid": "firehoses3access"
}
]
}
5
파이어 호스를 데이터 스트림 분석과 연결
데이터 스트림 분석 > 목적지를 추가 > Kinesis Data Firehose delivery stream 선택 >
iam role 선택
Connect in-application stream
In-application stream name 에서 이름 선택 >
Output format
CSV로 출력
> 저장
<4> S3 가서 결과 확인
<10> 같이 보면 좋은 자료
https://brunch.co.kr/@topasvga/1766
감사합니다.