Amazon SQS 메시지 할당량 - Amazon Simple Queue Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon SQS 메시지 할당량

다음 표에 메시지와 관련된 할당량이 나열되어 있습니다.

할당량 설명
일괄 메시지 ID 일괄 메시지 ID는 최대 80자까지 가능합니다. 허용되는 문자는 영숫자, 하이픈(-), 밑줄(_) 입니다.
메시지 속성 메시지 하나에는 최대 10개의 메타데이터 속성이 있을 수 있습니다.
메시지 배치

단일 메시지 배치 요청에는 최대 10개 메시지가 포함될 수 있습니다. 자세한 내용은 Amazon SQS 배치 작업 섹션의 AmazonSQSBufferedAsyncClient 구성 섹션을 참조하세요.

메시지 콘텐츠

메시지에는 XML, JSON 및 포맷되지 않은 텍스트만이 포함될 수 있습니다. 다음 유니코드 문자가 허용됩니다. #x9 | #xA | #xD | #x20 ~ #xD7FF | #xE000 to #xFFFD | #x10000 ~ #x10FFFF

이 목록에 포함되지 않은 문자는 거부됩니다. 자세한 내용은 문자에 대한 W3C 사양을 참조하세요.

메시지 그룹 ID

백로그의 메시지를 사용하여 메시지 그룹 ID가 동일한 메시지의 대규모 백로그가 누적되는 것을 방지합니다.

MessageGroupId는 FIFO 대기열에 필요합니다. 표준 대기열에는 사용할 수 없습니다.

비어 있지 않은 MessageGroupId를 메시지와 연결해야 합니다. MessageGroupId를 제공하지 않으면 작업에 실패합니다.

MessageGroupId의 최대 길이는 128자입니다. 유효한 값은 영숫자 및 문장 부호(!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~)입니다.

메시지 보존 기본적으로 메시지는 4일간 보존됩니다. 최소 기간은 60초(1분)입니다. 최소 시간은 1,209,600초(14일)입니다.
메시지 처리량

표준 대기열

표준 대기열은 작업(SendMessage, ReceiveMessage 또는 DeleteMessage)별 초당 거의 무제한의 매우 높은 API 호출 수를 지원합니다. 이렇게 처리량이 높기 때문에 실시간 데이터 스트리밍 또는 대규모 애플리케이션과 같이 대량의 메시지를 빠르게 처리해야 하는 사용 사례에 적합합니다. 표준 대기열은 수요에 따라 자동으로 규모가 확장되지만, 특히 워크로드가 많은 리전에서는 최적의 성능을 보장하기 위해 사용 패턴을 모니터링하는 것이 중요합니다.

FIFO 대기열

  • FIFO 대기열의 각 파티션은 API 작업(SendMessage, ReceiveMessageDeleteMessage)별 초당 300개의 트랜잭션으로 제한됩니다. 이 제한은 특히 처리량이 높지 않은 모드에 적용됩니다. 높은 처리량 모드로 전환하면 이 기본 한도를 초과할 수 있습니다. 높은 처리량 모드를 활성화하려면 Amazon SQS에서 FIFO 대기열의 높은 처리량 활성화 섹션을 참조하세요.

  • 배치 처리를 사용하면 처리량이 높지 않은 FIFO 대기열은 API 작업(SendMessage, ReceiveMessage 또는 DeleteMessage)별 초당 최대 3,000개의 메시지를 지원합니다. 초당 3,000개의 메시지는 300개의 API 호출을 나타내며, 각각 10개의 메시지를 배치 처리합니다.

FIFO 대기열의 높은 처리량

Amazon SQS FIFO 제한은 메시지 제한이 아닌 API 요청 수를 기준으로 합니다. 높은 처리량 모드의 경우 이러한 API 요청 제한은 다음과 같습니다.

트랜잭션 처리량 제한(배치가 아닌 API 호출)

이러한 제한은 각 API 작업(예: SendMessage, ReceiveMessage 또는 DeleteMessage)을 독립적으로 수행할 수 있는 빈도를 정의하여 허용되는 초당 트랜잭션(TPS) 내에서 효율적인 시스템 성능을 보장합니다.

다음 제한은 배치가 아닌 API 호출을 기반으로 합니다.

  • 미국 동부(버지니아 북부), 미국 서부(오리건) 및 유럽(아일랜드): 최대 70,000TPS(초당 트랜잭션 수).

  • 미국 동부(오하이오) 및 유럽(프랑크푸르트): 최대 19,000TPS.

  • (아시아 태평양(뭄바이), 아시아 태평양(싱가포르), 아시아 태평양(시드니), 아시아 태평양(도쿄): 최대 9,000TPS.

  • 유럽(런던) 및 남아메리카(상파울루): 최대 4,500TPS.

  • 기타 AWS 리전: 기본 처리량 2,400TPS.

배치 처리를 통한 처리량 극대화

단일 API 호출로 여러 메시지를 처리하여 효율성을 크게 높입니다. 각 메시지를 개별적으로 처리하는 대신 배치 처리를 사용하면 단일 API 요청으로 최대 10개의 메시지를 전송, 수신 또는 삭제할 수 있습니다. 이렇게 하면 총 API 호출 수가 줄어들어 리전의 트랜잭션 한도(TPS) 내에 있는 동안 초당 더 많은 메시지를 처리할 수 있으므로 처리량과 시스템 성능이 극대화됩니다. 자세한 내용은 Amazon SQS로 수평적 조정과 작업 배치 처리를 사용하여 처리량 증대 단원을 참조하십시오.

다음 제한은 배치 API 호출을 기반으로 합니다.

  • 미국 동부(버지니아 북부), 미국 서부(오리건) 및 유럽(아일랜드): 초당 최대 700,000개의 메시지(배치가 아닌 제한 70,000TPS의 10배).

  • 미국 동부(오하이오) 및 유럽(프랑크푸르트): 초당 최대 190,000개의 메시지.

  • (아시아 태평양(뭄바이), 아시아 태평양(싱가포르), 아시아 태평양(시드니), 아시아 태평양(도쿄): 초당 최대 90,000개의 메시지.

  • 유럽(런던) 및 남아메리카(상파울루): 초당 최대 45,000개의 메시지.

  • 기타 모든 AWS 리전: 초당 최대 24,000개의 메시지.

배치 처리 이상으로 처리량 최적화

배치 처리는 처리량을 크게 증가시킬 수 있지만 FIFO 성능을 최적화하기 위해서는 다른 전략을 고려하는 것이 중요합니다.

  • 여러 메시지 그룹 ID에 메시지 배포 - 단일 그룹 내의 메시지는 순차적으로 처리되므로, 여러 메시지 그룹에 워크로드를 분산하면 병렬 처리가 향상되고 전체 처리량이 높아집니다. 자세한 내용은 SQS FIFO 대기열의 높은 처리량을 위한 파티션 및 데이터 배포 단원을 참조하십시오.

  • API 호출의 효율적인 사용 - 빈번한 표시 여부 변경 또는 반복되는 메시지 삭제와 같은 불필요한 API 호출을 최소화하여 사용 가능한 TPS 사용을 최적화하고 효율성을 개선합니다.

  • 긴 폴링 수신 사용 - 사용할 수 있는 메시지가 없을 때 빈 응답을 줄이고 불필요한 API 호출을 줄이며 TPS 할당량을 더 잘 사용할 수 있도록 수신 요청에 WaitTimeSeconds를 설정하여 긴 폴링을 활용합니다.

  • 처리량 증가 요청 - 애플리케이션에 기본 제한보다 높은 처리량이 필요한 경우 Service Quotas 콘솔을 사용하여 증가를 요청합니다. 이는 수요가 많은 워크로드 또는 기본 한도가 더 낮은 리전에 필요할 수 있습니다. 높은 처리량 모드를 활성화하려면 Amazon SQS에서 FIFO 대기열의 높은 처리량 활성화 섹션을 참조하세요.

메시지 타이머 메시지의 기본(최소) 지연 시간은 0초입니다. 최대값은 15분입니다.
메시지 크기

최소 메시지 크기는 1바이트(1자리)입니다. 최대 크기는 262,144바이트(256KiB)입니다.

256KiB보다 큰 메시지를 보내려면 Java용 Amazon SQS 확장 클라이언트 라이브러리Python용 Amazon SQS 확장 클라이언트 라이브러리를 사용할 수 있습니다. 이 라이브러리를 통해 Amazon S3에 메시지 페이로드에 대한 참조를 포함하는 Amazon SQS 메시지를 전송할 수 있습니다. 최대 페이로드 크기는 2GB입니다.

참고

이 확장 라이브러리는 동기식 클라이언트에서만 작동합니다.

메시지 제한 시간 초과 메시지의 제한 시간 초과는 30초입니다. 최소 시간은 0초입니다. 최대 시간은 12시간입니다.
정책 정보 최대 할당량은 8,192바이트, 20개 문, 주체 50개 또는 조건 10개입니다. 자세한 내용은 Amazon SQS 정책 할당량 단원을 참조하십시오.