이 자습서에서는 Amazon Simple Queue Service(Amazon SQS)를 사용하여 비동기 메시징을 설정하는 방법을 알아봅니다. Amazon SQS는 애플리케이션 구성 요소가 클라우드와 통신하는 데 사용할 수 있는 AWS 서비스입니다. 이 자습서에서는 Amazon SQS 콘솔을 사용하여 메시지 대기열을 생성 및 구성하고, 메시지를 전송/수신/삭제한 다음 대기열을 삭제합니다.

이 자습서에서 사용하는 AWS 서비스에는 AWS 프리 티어가 적용됩니다.

AWS에서 메시지를 전송하려면 계정 필요

무료 계정 생성

AWS 프리 티어에서는 Amazon Simple Queue Service 요청 1백만 건을 처리할 수 있습니다.

AWS 프리 티어 세부 정보 보기 »

 


a. 여기를 클릭하면 AWS Management Console이 새 브라우저 창에서 열리므로 이 단계별 안내서를 계속 열어 놓을 수 있습니다.  이 화면이 로드되면 먼저 사용자 이름 및 암호를 입력하여 시작합니다. 그런 다음 검색 창에 queue를 입력하고 Simple Queue Service를 선택하여 콘솔을 엽니다.

tmt_send-receive-async-messages_1a

(확대하려면 클릭)

tmt_send-receive-async-messages_1a

b.  SQS 콘솔 랜딩 페이지가 표시되면 스크린샷에 나와 있는 것처럼 지금 시작하기를 클릭합니다. 이 페이지가 표시되지 않으면 다음 단계로 이동합니다.

tmt_send-receive-async-messages_1b

(확대하려면 클릭)

tmt_send-receive-async-messages_1b

이 단계에서는 Amazon SQS 대기열을 생성 및 구성합니다. 대기열은 분산 애플리케이션이나 마이크로서비스 간을 이동하는 메시지가 저장되는 안정적이고 확장성이 뛰어난 버퍼입니다. 대기열을 생성하면 애플리케이션 분리, 마이크로서비스 연결, 작업 일괄 처리, 알림 저장 등이 가능해집니다.

이 자습서의 사용 사례에서는 전자 상거래 애플리케이션의 수신 주문 저장을 시뮬레이션합니다.


a. 먼저 스토어에서 접수되는 주문을 저장하는 간단한 대기열을 생성합니다. 대기열 이름 필드에 Orders를 입력합니다.  

tmt_send-receive-async-messages_2a

(확대하려면 클릭)

tmt_send-receive-async-messages_2a

b. 이 자습서에서는 순서를 정확하게 지정하지 않아도 되므로 대기열 유형은 변경하지 않습니다. 표준 대기열을 선택된 상태로 둡니다.  

tmt_send-receive-async-messages_2b

(확대하려면 클릭)

tmt_send-receive-async-messages_2b

c. 대기열을 구성하여 보존 기간, 최대 메시지 크기, 배달 지연 등의 설정을 수정할 수 있습니다. 이 자습서에서는 기본 파라미터를 그대로 유지합니다. 대기열 빠른 생성을 선택합니다.

tmt_send-receive-async-messages_2c

(확대하려면 클릭)

tmt_send-receive-async-messages_2c

d. 새 대기열이 생성되어 대기열 목록에서 선택됩니다.

tmt_send-receive-async-messages_2d

(확대하려면 클릭)

tmt_send-receive-async-messages_2d

대기열을 생성하고 나면 각 새 주문의 세부 정보가 캡처된 메시지를 온라인 스토어에서 수신할 수 있습니다.


a.  대기열이 목록에서 이미 선택되어 있습니다. 대기열 작업에서 메시지 전송을 선택합니다. Orders에 메시지 전송 대화 상자가 표시됩니다.

tmt_send-receive-async-messages_3a

(확대하려면 클릭)

tmt_send-receive-async-messages_3a

b. Orders에 메시지 전송 대화 상자가 표시됩니다. [메시지 본문] 탭에서 샘플 주문임을 나타내는 다음 텍스트를 입력합니다.

1 x Widget @ $29.99 USD
2 x Widget Cables @ $4.99

tmt_send-receive-async-messages_3b

(확대하려면 클릭)

tmt_send-receive-async-messages_3b

c. 메시지 속성 탭을 선택한 다음 쉽게 처리할 수 있도록 이 메시지에 대한 몇 가지 선택적 메타데이터를 추가합니다. 여기서는 주문에 주문 유형을 추가해 보겠습니다. 이름 필드에는 Order-Type을, 유형 필드에는 문자열을, 그리고 필드에는 온라인을 입력합니다. 속성 추가를 클릭합니다.

tmt_send-receive-async-messages_3c

(확대하려면 클릭)

tmt_send-receive-async-messages_3c

d. 메시지를 즉시 전송하려면 메시지 전송을 클릭합니다. 메시지가 전송되었다는 확인이 Orders에 메시지 전송 대화 상자에 표시됩니다. 닫기를 클릭합니다.

tmt_send-receive-async-messages_3d

(확대하려면 클릭)

tmt_send-receive-async-messages_3d

대기열에 메시지를 전송하고 나면 다른 애플리케이션이 대기열에서 해당 메시지를 사용하고 메시지로 특정 작업을 수행할 수 있습니다. 이 예제에서는 메시지를 검색하여 주문을 확인한 다음 메시지를 삭제합니다.


a. 대기열 목록에서 Orders 대기열이 선택되어 있는지 확인합니다. 그런 다음 대기열 작업에서 메시지 보기/삭제를 선택합니다.

tmt_send-receive-async-messages_4a

(확대하려면 클릭)

tmt_send-receive-async-messages_4a

b. Orders의 메시지 보기/삭제 대화 상자가 표시됩니다. 대기열의 메시지를 요청할 때는 특정 메시지를 구체적으로 요청하지 않습니다. 대신 검색할 최대 메시지 수를 10개까지 지정합니다.

메시지 폴링 시작을 클릭하여 대기열에서 메시지를 검색합니다.  

tmt_send-receive-async-messages_4b

(확대하려면 클릭)

tmt_send-receive-async-messages_4b

c. 소비자가 수신하여 처리한 메시지는 대기열에서 삭제할 수 있습니다. 삭제할 메시지를 선택하고 1개 메시지 삭제를 선택합니다.

tmt_send-receive-async-messages_4c

(확대하려면 클릭)

tmt_send-receive-async-messages_4c

d. 메시지 삭제 대화 상자가 표시됩니다. 메시지 옆의 확인란을 선택하고 예, 선택한 메시지를 삭제합니다.를 클릭합니다. 선택한 메시지가 삭제됩니다. 닫기를 선택합니다.

tmt_send-receive-async-messages_4d

(확대하려면 클릭)

tmt_send-receive-async-messages_4d

더 이상 사용할 필요가 없는 Amazon SQS 대기열은 모범 사례에 따라 삭제하는 것이 좋습니다.


a. 대기열 목록에서 Orders 대기열을 선택합니다. 그런 다음 대기열 작업에서 대기열 삭제를 선택합니다.

tmt_send-receive-async-messages_5a

(확대하려면 클릭)

tmt_send-receive-async-messages_5a

b. 대기열 삭제 대화 상자가 표시됩니다. 메시지가 포함되어 있는 대기열도 삭제할 수 있습니다. 예, 대기열을 삭제합니다.를 선택합니다. 대기열이 삭제됩니다.

tmt_send-receive-async-messages_5b

(확대하려면 클릭)

tmt_send-receive-async-messages_5b

첫 번째 Amazon Simple Queue Service(Amazon SQS) 메시지 대기열을 생성하여 해당 대기열로 메시지를 전송한 다음 전송된 메시지를 검색/삭제했으며, 마지막으로 대기열을 삭제했습니다. 이제 Amazon SQS 대기열을 사용하여 데이터를 저장하고 분산 애플리케이션 구성 요소와 마이크로서비스 간에 데이터를 이동할 수 있습니다.

지금까지 Amazon Simple Queue Service를 사용하여 메시지를 전송/수신하는 방법을 알아보았습니다. 이제 다음 옵션 중 하나를 선택하여 고급 메시징 기술을 익혀 보시기 바랍니다.

자세히 알아보기

Amazon Web Services(AWS)의 메시지 대기열용 기능, 구성 요소 및 사용 사례 개요를 살펴볼 수 있습니다.

Amazon SQS 웹 페이지로 이동 »

심화 학습

Amazon Simple Queue Service의 여러 대기열 유형, 주요 기능 및 아키텍처를 살펴볼 수 있습니다.

설명서 읽기 »

실습

Amazon SQS 및 Amazon SNS를 활용하여 애플리케이션을 분리하고 확장한 Capital One 등의 고객 사례를 소개합니다.

웹 세미나 보기 »

아니요