본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

sqsmover

0

sqsmover는 AWS SQS 메시지를 한 큐에서 다른 큐로 이동시키는 Go 기반 커맨드라인 도구입니다.

데드레터 큐메시지 이동커맨드라인

소개

sqsmover는 AWS SQS 메시지를 한 큐에서 다른 큐로 이동시키는 Go 기반 커맨드라인 도구입니다. mercury2269가 개발했으며, 데드레터 큐의 메시지를 원래 큐로 되돌리는 용도로 유용합니다. 사전 컴파일된 바이너리로 Windows, macOS, Linux를 지원하며 추가 의존성이 없습니다. Chocolatey를 통해 Windows에서 간편히 설치할 수 있습니다.

상세정보

신뢰할 수 있는 메시지 전송

목적지 큐에 메시지가 성공적으로 엔큐된 후에만 소스 큐에서 메시지를 삭제하여 메시지 손실을 방지합니다.

배치 처리 및 진행 indicator

메시지를 배치 단위로 받아서 보내어 처리 속도를 높이며, 진행 상황을 사용자 친화적인 메시지로 표시합니다.

큐 이름 해결 및 FIFO 지원

전체 ARN 대신 큐 이름만 제공해도 작동하며, FIFO 큐의 MessageGroupId와 MessageDeduplicationId를 목적지 메시지에 복사합니다.

메시지 속성 복사 및 수동 제한

원본 메시지의 모든 속성을 목적지 메시지에 복사하며, -l 플래그를 통해 이동할 메시지 총 수를 제한할 수 있습니다.

다운로드·설치 방법

Windows에서는 Chocolatey 패키지 관리자를 통해 간단히 설치할 수 있습니다. 관리자 권한으로 PowerShell 또는 CMD를 열고 다음 명령을 실행합니다:

choco install sqsmover

또는 공식 �리스 페이지에서 사전 컴파일된 Windows 바이너리를 수동으로 다운로드받아 원하는 경로에 복사할 수도 있습니다.

기본 사용법/명령어

설치 후 터미널에서 sqsmover 명령을 사용할 수 있습니다. 기본적인 사용법은 다음과 같습니다:

sqsmover –source=SOURCE_QUEUE_NAME –destination=DESTINATION_QUEUE_NAME

이 명령은 SOURCE_QUEUE_NAME에서 DESTINATION_QUEUE_NAME으로 메시지를 이동시킵니다. 지역은 기본값으로 us-west-2를 사용하지만, –region 플래그를 통해 변경할 수 있습니다.

자주 사용되는 옵션

  • -s, –source: 소스 큐 이름 (필수)
  • -d, –destination: 목적지 큐 이름 (필수)
  • -r, –region: AWS 지역 (기본값: us-west-2)
  • -b, –batch: 한 번에 이동할 최대 메시지 수 (기본값: 10)
  • -l, –limit: 이동할 총 메시지 수 제한 (0 = 제한 없음)
  • -p, –profile: AWS 자격 증명 파일에서 사용할 프로파일 이름
  • -v, –version: 애플리케이션 버전 표시

예를 들어, eu-west-1 지역의 큐 간 메시지를 이동하려면 다음과 같이 실행합니다:

sqsmover -s my-source-queue -d my-destination-queue -r eu-west-1

배치 크기가 너무 커서 오류가 발생하는 경우 (256KB 초과 시), -b 값을 줄여서 해결할 수 있습니다:

sqsmover -s my-source-queue -d my-destination-queue -b 3

이런 경우에 유용합니다

AWS SQS를 사용하는 개발자나 운영자가 데드레터 큐에 쌓인 메시지를 조사하거나 재처리해야 할 때 유용합니다. 예를 들어, 애플리케이션 오류로 인해 처리 실패한 메시지가 DLQ에 들어갔을 때, 문제를 수정한 후 sqsmover를 사용해 해당 메시지를 원래 큐로 돌려보내 재시도할 수 있습니다.

지원 환경·시스템 요구사항

sqsmover는 Windows, macOS, Linux용 사전 컴파일된 바이너리를 제공합니다. Windows에서는 별도의 런타임 설치 없이 실행 파일을 바로 사용할 수 있습니다. 사용 전 AWS 자격 증명이 환경 변수 또는 ~/.aws/credentials 파일에 설정되어 있어야 합니다.

최신 버전·업데이트

현재 버전은 0.3.14이며, 공식 GitHub 저장소의 �리스 페이지에서 최신 버전과 업데이트 내역을 확인할 수 있습니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.