[AWS] Lambda의 IteratorAge metric(지표)란? 쉽게 정리 (Iterator란)
Iterator (IT 분야에서 사용되는 용어)
Iterator는 데이터 컬렉션(예: 배열, 리스트, 스트림 등)의 각 요소에 접근하기 위해 사용되는 객체 또는 개념이다.
주로 반복문과 함께 사용되며, 컬렉션의 요소들을 순차적으로 처리하는 데 유용하다.
AWS Kinesis에서 Iterator의 역할
Kinesis 스트림에서 데이터를 읽기 위해 사용하는 Iterator는 데이터를 스트림에서 순차적으로 읽을 수 있는 지점을 나타낸다. 기본적으로 Kinesis 스트림은 순차적 데이터 흐름을 제공하는데, Iterator는 스트림에서 데이터를 읽을 때 그 지점을 추적하는 역할을 한다.
Lambda IteratorAge metric(지표)
IteratorAge metric
Lambda의 Iterator Age는 Lambda 함수가 Amazon Kinesis 또는 DynamoDB Streams와 같은 스트림 소스에서 데이터를 처리할 때 사용되는 지표 중 하나이다.
이 지표는 스트림에서 처리해야 할 레코드가 생성된 후 경과된 시간을 나타내며, 밀리초 단위로 측정된다.
https://repost.aws/knowledge-center/lambda-iterator-age
🤔 문제
한 회사에서 Amazon Kinesis 데이터 스트림에서 레코드를 처리하기 위해 AWS Lambda 함수를 사용하고 있습니다. 최근 레코드 처리 속도가 느려진 것을 확인했으며, 개발자는 Lambda 함수의 iterator age 지표가 증가하고 Lambda 실행 시간이 계속 정상보다 길어지고 있는 것을 발견했습니다.
처리 속도를 높이기 위해 개발자가 취해야 할 조치는 무엇입니까? (2개를 선택하십시오.)
- Kinesis 데이터 스트림의 샤드 수를 늘립니다.
- Lambda 함수의 타임아웃을 줄입니다.
- Lambda 함수에 할당된 메모리를 늘립니다.
- Kinesis 데이터 스트림의 샤드 수를 줄입니다.
- Lambda 함수의 타임아웃을 늘립니다.
정답
정답: 1번, 3번
1번.
Kinesis 데이터 스트림의 샤드가 더 많아지면, 각 샤드마다 읽어들이는 처리 속도가 높아질 수 있어 Lambda가 한 번에 처리할 수 있는 레코드 수가 증가할 수 있다.
3번.
Lambda 함수에 메모리를 더 할당하면 Lambda가 더 많은 CPU 리소스를 사용할 수 있어, 레코드 처리 속도를 높이는 데 도움이 된다.