Amazon Kinesis 스트리밍 연결
Kinesis 커넥터는 Kinesis 스트림의 데이터를 Foundry 스트림으로 수집하고 외부 Kinesis 스트림으로 내보냅니다. 원천 탐색, 스트리밍 동기화와 스트리밍 내보내기를 일반 제공(GA)합니다.
입력 레코드
커넥터는 메시지 내용을 유니코드 문자열로 읽습니다. JSON 같은 구조는 하위 스트리밍 변환에서 parse_json 등으로 해석합니다.
| 열 | 자료형 | 의미 |
|---|---|---|
partition_key | string | 메시지를 Kinesis에 기록할 때 사용한 파티션 키입니다. |
data | string | 문자열로 읽은 메시지 내용입니다. |
kinesis_ingestion_timestamp | timestamp | Kinesis에 기록한 시각입니다. |
foundry_ingestion_timestamp | timestamp | Foundry가 수집한 시각입니다. |
다음은 가상 메시지의 예시입니다.
| partition_key | data | kinesis_ingestion_timestamp | foundry_ingestion_timestamp |
|---|---|---|---|
| London | {"firstName": "John", "lastName": "Doe"} | 2023-07-12T15:12:42.371Z | 2023-07-12T15:12:42.512Z |
| Paris | {"firstName": "Jean", "lastName": "DuPont"} | 2023-07-12T15:12:42.418Z | 2023-07-12T15:12:42.512Z |
처리량, 순서와 재시작
원천 Kinesis 스트림의 활성 shard마다 소비자 스레드 하나를 사용합니다. 커넥터는 같은 partition_key의 메시지 전달 순서를 보장하지만 서로 다른 키의 메시지는 순서가 달라도 됩니다. 전체 스트림의 전역 순서나 하위 변환 이후의 순서까지 같은 보장으로 해석하지 않습니다.
Foundry 워커 작업은 48시간마다 최소 한 번 재시작합니다. 즉시 재시작할 자원이 있으면 예상 중단은 한 자릿수 분입니다. 기존 에이전트 워커는 보통 주 1회의 유지보수 시간에 재시작하며 예상 중단은 5분 미만입니다. 기존 에이전트 구성에서 고가용성이 필요하면 유지보수 시간대가 겹치지 않는 에이전트 두 개를 사용합니다.
연결과 인증
Data Connection의 +New Source에서 Kinesis 소스를 선택합니다. 필수 AWS Region은 스트림이 있는 리전이며 기본값은 us-east-1입니다.
Foundry 워커에서는 IAM access key ID와 secret access key를 사용합니다. 둘 다 필수이며 기본값은 없습니다.
AWS Instance 인증은 에이전트 워커(Legacy)에서만 사용할 수 있습니다. 에이전트가 IAM 역할이 지정된 EC2 같은 AWS 리소스에서 실행되면 그 역할로 연결하며 추가 인증 정보는 필요하지 않습니다. Foundry 워커에는 이 방식이 적용되지 않습니다.
IAM 권한 예시
다음 계정 ID와 스트림 이름은 예시입니다. 읽을 스트림과 쓸 스트림의 실제 ARN으로 범위를 제한합니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ReadKinesisStream",
"Effect": "Allow",
"Action": [
"kinesis:ListShards",
"kinesis:GetShardIterator",
"kinesis:GetRecords",
"kinesis:DescribeStream"
],
"Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/read-stream-name"
},
{
"Sid": "WriteKinesisStream",
"Effect": "Allow",
"Action": ["kinesis:PutRecords"],
"Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/write-stream-name"
}
]
}
선택적인 STS 역할
Kinesis에 연결하기 전에 STS 역할을 맡도록 구성할 수 있습니다. STS 역할 기능 자체는 선택 사항이며 사용하면 다음 필수 항목을 채웁니다.
| 항목 | STS 구성 내 필수 여부 | 기본값 |
|---|---|---|
| Role ARN | 필수 | 미지정 |
| Role session name | 필수 | 미지정 |
| Role session duration | 필수 | 900초 |
| External ID | 선택 | 미지정 |
Kinesis API인 https://kinesis.<region>.amazonaws.com에 접근해야 합니다. STS 역할을 사용하면 https://sts.<region>.amazonaws.com도 필요합니다.
수집과 내보내기
소스에서 스트리밍 동기화를 구성하여 Kinesis 입력과 Foundry 출력 스트림을 연결합니다. 내보내기를 사용하려면 먼저 소스에서 내보내기를 활성화한 뒤 새 내보내기를 만듭니다.
| 내보내기 항목 | 필수 여부 | 의미와 기본값 |
|---|---|---|
Output stream ARN | 필수 | 대상 Kinesis 스트림 ARN입니다. 기본값은 없습니다. |
Partition column | 필수 | 레코드가 들어갈 shard를 결정하는 문자열 열입니다. 기본 선택은 첫 문자열 열이며 보통 기본 키를 사용합니다. |