기존 스트림에서 크로스 어카운트로 데이터를 넘겨야 하는 작업이 필요한데, 람다에 키네시스 트리거를 붙이기만 하면 getrecords iterator age
와 Read Throughput Exceeded
수치가 오른다.
getrecords iterator age
는 람다가 제대로 돌지 못하는거니 배치 사이즈와 윈도우 타임 조절로 해결이 가능했다. 하지만 Read Throughput Exceeded
는 떨어지지 않는다.
https://aws.amazon.com/ko/premiumsupport/knowledge-center/kinesis-readprovisionedthroughputexceeded/
기존 스트림 한 대에 파이어호스가 다섯 대 붙어있는데 배치나 윈도우 사이즈 조절로는 해결을 하지 못해 이 것이 원인일 것이라 추정
향상된 팬아웃(enhanced fan-out)을 이용해 해결했다.
https://docs.aws.amazon.com/ko_kr/streams/latest/dev/enhanced-consumers.html
다른 컨슈머와 경합하지 않고 독립적으로 끌어온다.
https://docs.aws.amazon.com/kinesis/latest/APIReference/API_RegisterStreamConsumer.html
를 이용하여 향상된 팬아웃 컨슈머를 생성한 뒤 트리거의 컨슈머로 선택해주면 된다.
사용법은 간단하지만 정확한 정보 찾는게 너무 힘들었다. AWS 제품들을 쓰다보면 잘 만들긴 했지만 사용법이 불친절한 경우가 많다. 숨겨져 있는걸 직접 찾아서 써야 한다...