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

이 자습서에서 사용하는 AWS 서비스는 AWS 프리 티어에 포함되어 있습니다.

AWS에서 메시징을 사용하려면 계정 필요

무료 계정 생성

AWS 프리 티어는 Amazon Simple Queue Service 요청 1,000,000건을 포함합니다.

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

 


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

tmt_send-receive-async-messages_1a

(확대하려면 클릭)

tmt_send-receive-async-messages_1a

b.  스크린샷에서 보듯이 SQS 콘솔 시작 페이지가 나타나면 Get Started Now(지금 시작)를 클릭합니다. 이 페이지가 표시되지 않으면 다음 단계로 건너뜁니다.

tmt_send-receive-async-messages_1b

(확대하려면 클릭)

tmt_send-receive-async-messages_1b

이 단계에서는 Amazon SQS 대기열을 생성 및 구성합니다. 대기열은 분산된 애플리케이션 또는 마이크로 서비스 간에 전송되는 메시지를 저장하는 신뢰성과 확장성이 높은 버퍼입니다. 대기열은 애플리케이션을 서로 분리하거나, 마이크로 서비스를 연결하거나, 배치 작업을 수행하거나, 알림을 저장하는 데 유용합니다.

이 자습서의 사용 사례는 전자 상거래 애플리케이션에서 수신되는 주문의 스토리지를 시뮬레이션합니다.


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

tmt_send-receive-async-messages_2a

(확대하려면 클릭)

tmt_send-receive-async-messages_2a

b. 이 자습서에서는 엄격한 순서가 요구되지 않으므로 대기열 유형을 변경하지 않습니다. Standard Queue(표준 대기열)가 선택된 상태로 둡니다.

tmt_send-receive-async-messages_2b

(확대하려면 클릭)

tmt_send-receive-async-messages_2b

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

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.  목록에서 대기열이 이미 선택되어 있습니다. Queue Actions(대기열 작업)에서 Send a Message(메시지 보내기)를 선택합니다. Send a Message to Orders(주문 메시지 보내기) 대화 상자가 표시됩니다.

tmt_send-receive-async-messages_3a

(확대하려면 클릭)

tmt_send-receive-async-messages_3a

b. Send a Message to Orders(주문 메시지 보내기) 대화 상자가 표시됩니다. Message Body(메시지 본문) 탭에서 다음 텍스트를 입력하여 샘플 주문임을 나타냅니다.

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. Message Attributes(메시지 속성) 탭을 선택하여 쉽게 처리할 수 있도록 이 메시지에 대한 선택적 메타데이터를 몇 가지 추가합니다. 여기서는 주문에 주문 유형을 추가해 보겠습니다. Name(이름) 필드에 Order-Type을 입력하고, Type(유형) 필드에 String을 입력하고, Value(값) 필드에 Online을 입력합니다. Add Attribute(속성 추가)를 클릭합니다.

tmt_send-receive-async-messages_3c

(확대하려면 클릭)

tmt_send-receive-async-messages_3c

d. 메시지를 즉시 보내려면 Send Message(메시지 보내기)를 클릭합니다. 메시지를 보냈다는 확인 메시지가 Send a Message to Orders(주문 메시지 보내기) 대화 상자에 표시됩니다. Close(닫기)를 클릭합니다.

tmt_send-receive-async-messages_3d

(확대하려면 클릭)

tmt_send-receive-async-messages_3d

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


a. 대기열 목록에서 Orders(주문) 대기열이 선택되어 있는지 확인합니다. 다음으로, Queue Actions(대기열 작업)에서 View/Delete Messages(메시지 보기/삭제)를 선택합니다.

tmt_send-receive-async-messages_4a

(확대하려면 클릭)

tmt_send-receive-async-messages_4a

b. View/Delete Messages in Orders(주문의 메시지 보기/삭제) 대화 상자가 표시됩니다. 대기열에서 메시지를 요청할 때에는 특정 메시지를 요청하도록 지정하지 않습니다. 검색할 메시지의 최대 개수(최대 10개)는 지정할 수 있습니다.

Start Polling for Messages(메시지 폴링 시작)를 클릭하여 대기열에서 메시지를 검색합니다.

tmt_send-receive-async-messages_4b

(확대하려면 클릭)

tmt_send-receive-async-messages_4b

c. 소비자가 메시지를 검색 및 처리하고 나면 대기열에서 메시지를 삭제할 수 있습니다. 삭제할 메시지를 선택한 후 Delete 1 Message(1개 메시지 삭제)를 선택합니다.

tmt_send-receive-async-messages_4c

(확대하려면 클릭)

tmt_send-receive-async-messages_4c

d. Delete Messages(메시지 삭제) 대화 상자가 표시됩니다. 메시지 옆에 있는 확인란을 선택하고 Yes, Delete Checked Messages(예, 선택한 메시지를 삭제합니다)를 클릭합니다. 선택한 메시지가 삭제됩니다. Close(닫기)를 선택합니다.

tmt_send-receive-async-messages_4d

(확대하려면 클릭)

tmt_send-receive-async-messages_4d

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


a. 대기열 목록에서 Orders(주문) 대기열을 선택합니다. 그런 다음 Queue Actions(대기열 작업)에서 Delete Queue(대기열 삭제)를 선택합니다.

tmt_send-receive-async-messages_5a

(확대하려면 클릭)

tmt_send-receive-async-messages_5a

b. Delete Queues(대기열 삭제) 대화 상자가 표시됩니다. 대기열에 메시지가 포함되어 있더라도 대기열을 삭제할 수 있습니다. Yes, Delete Queue(예, 대기열을 삭제합니다)를 선택합니다. 대기열이 삭제됩니다.

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 등의 고객 사용 사례를 소개합니다. 웹 세미나 보기 »

아니요