1 - Message API reference

Overview

Samsung Cloud Platform 에서 제공하는 Queue Service는 메시지를 보내고 받고 그리고 삭제할 수 있습니다.
본 가이드에서는 Queue Service의 API에 대한 설명 및 호출하는 방법을 제공합니다.

Queue Service 호출 절차

Queue Service API URL주소는 운영환경과 Region에 따라 변경되어야 합니다. 아래의 표에서 해당 운영환경과 Region 정보를 확인하십시오.

운영 환경RegionQueue Service URL
For Samsungkr-west1https://queueservice.service.kr-west1.s.samsungsdscloud.com
For Samsungkr-east1https://queueservice.service.kr-east1.s.samsungsdscloud.com
For Enterprisekr-west1https://queueservice.service.kr-west1.e.samsungsdscloud.com
For Enterprisekr-east1https://queueservice.service.kr-east1.e.samsungsdscloud.com

API 호출하기

AUTH PARAMS

Header Description
Scp-Accesskey      : 삼성 클라우드 플랫폼 포털에서 발급받은 Access Key
Scp-Signature      : 호출 API 요청을 Access Key와 매핑되는 Access Secret Key로 암호화한 서명. HMAC 암호화 알고리즘은 HmacSHA256 사용
Scp-Target         : Queue Service에 요청하는 행위. ScpQS.SendMessage, ScpQS.SendMessageBatch, ScpQS.ReceiveMessage, ScpQS.DeleteMessage, ScpQS.DeleteMessageBatch 중 하나
Scp-Timestamp      : 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(Millisecond)로 정의합니다.
Scp-ClientType     : user-api 명시

Signature 생성하기

  • 요청으로부터 서명할 문자열을 생성하고 Access, Secret Key로 HmacSHA256 알고리즘으로 암호화 후 Base64로 인코딩합니다.
  • 이 값을 Scp-Signature로 사용합니다.
  • 생성된 Signature는 15분간 유효합니다.1. 모든 서비스 > Application > Queue Service 메뉴를 클릭하세요. Queue Service의 Service Home 페이지로 이동합니다.
Signature 생성 Sample Code (Java)
public static String makeHmacSignature(String method,
                                       String url,
                                       String timestamp,
                                       String accessKey,
                                       String accessSecretKey,
                                       String clientType) {
 
    String body = method + url + timestamp + accessKey + clientType;
 
    String encodeBase64Str;
 
    try {
        byte[] message = body.getBytes("UTF-8");
        byte[] secretKey = accessSecretKey.getBytes("UTF-8");
 
        Mac mac = Mac.getInstance("HmacSHA256");
        SecretKeySpec secretKeySpec = new SecretKeySpec(secretKey, "HmacSHA256");
        mac.init(secretKeySpec);
        byte[] hmacSha256 = mac.doFinal(message);
        encodeBase64Str = Base64.getEncoder().encodeToString(hmacSha256);
    } catch (Exception e) {
        throw new RuntimeException("Failed to calculate hmac-sha256", e);
    }
 
    return encodeBase64Str;
}
Signature 생성 Sample Code (JavaScript)
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/hmac-sha256.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/enc-base64-min.js"></script>
<script type="text/javascript">
function makeSignature() {
    var method = "POST"; // Method
    var url = "{url}"; // url
    var timestamp = Date.now(); // timestamp
    var accessKey = "{accessKey}"; // access key
    var secretKey = "{secretKey}"; // secret key
    var clientType= "user-api"; // client type
 
    url = encodeURI(url); // 한글, 특수 문자 처리
 
    var message = method + url + timestamp + accessKey + clientType;
 
    var hash = CryptoJS.HmacSHA256(message, secretKey);
    return CryptoJS.enc.Base64.stringify(hash);
}
</script>

Queue Service API 호출 예시

Curl

curl -i -X GET
-H "Scp-Accesskey:2sd2gg=2agbdSD26svcD"
-H "Scp-Signature:fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef="
-H "Scp-Timestamp:1605290625682"
-H "Scp-ClientType:user-api"
-H "Scp-Target:ScpQS.SendMessage"
--data '{"MessageBody": "sample message",  "QueueUrl": "https://queueservice.kr-west1.e.samsungsdscloud.com/33ff0000a8a345d78cdf163673f3da11/samplequeue"}'
'https://queueservice.service.kr-west1.e.samsungsdscloud.com'

Python

import requests

url = "https://queueservice.service.kr-west1.e.samsungsdscloud.com"
payload = {
   'MessageBody': 'sample message',
   'QueueUrl': 'https://queueservice.kr-west1.e.samsungsdscloud.com/33ff0000a8a345d78cdf163673f3da11/samplequeue'
}
headers = {
  'Scp-Accesskey': '2sd2gg=2agbdSD26svcD',
  'Scp-Signature': 'fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=',
  'Scp-Timestamp': '1605290625682',
  'Scp-ClientType': 'user-api',
  'Scp-Target': 'ScpQS.SendMessage'
}

response = requests.request("GET", url, headers=headers, data=payload)

if response.status_code == 200:
    contents = response.text
    return contents
else:
    raise Exception(f"Failed to GET API: {response.status_code}, {response.text}")

Java

String apiUrl = "https://queueservice.service.kr-west1.e.samsungsdscloud.com";
String accessKey = "2sd2gg=2agbdSD26svcD"
String signature = "fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef="
String timestamp = "1605290625682"
String clientType = "user-api"
String scpTarget = "ScpQS.SendMessage"

public static String getAPI(String token, String apiUrl) throws IOException {
        CloseableHttpClient httpClient = HttpClients.createDefault();
        HttpGet getRequest = new HttpGet(apiUrl);
        getRequest.addHeader("Scp-Accesskey", accessKey);
        getRequest.addHeader("Scp-Signature", signature);
        getRequest.addHeader("Scp-Timestamp", timestamp);
        getRequest.addHeader("Scp-ClientType", clientType);
        getRequest.addHeader("Scp-Target", scpTarget);

        HttpResponse response = httpClient.execute(getRequest);
        int statusCode = response.getStatusLine().getStatusCode();

        if (statusCode == 200) {
            String responseBody = EntityUtils.toString(response.getEntity());
            httpClient.close();
            return responseBody;
        } else {
            String responseBody = EntityUtils.toString(response.getEntity());
            httpClient.close();
            throw new RuntimeException("Failed to Request: " + statusCode + ", " + responseBody);
        }
    }

Queue Service API

SendMessage

POST https://queueservice.service.kr-west1.e.samsungsdscloud.com

Description

메세지 전송

Parameters

필드명필수 여부타입설명
MessageAttributesfalseMessageAttribute
MessageBodytruestring
MessageDeduplicationIdfalsestringFIFO Queue
MessageGroupIdfalsestringFIFO Queue
QueueUrltruestring
MessageAttribute
필드명필수 여부타입설명
BinaryValuefalsestring
DataTypefalsestring
StringValuefalsestring

Responses

HTTP CodeDescriptionSchema
200Created
400Bad Request
403Forbidden

Example HTTP request

Request Header
"Scp-Accesskey:2sd2gg=2agbdSD26svcD",
"Scp-Signature:fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp:1605290625682",
"Scp-ClientType:user-api",
"Scp-Target:ScpQS.SendMessage"
Request Body
{
  "QueueUrl": "https://queueservice.kr-west1.e.samsungsdscloud.com/123e54b7303749f38ca59a5c6d419a75/test",
  "MessageBody": "Hello SQS!",
  "MessageAttributes": {
    "Special": {
      "DataType": "string",
      "StingValue": "testBodyString12345678910!/wow$#@!"
    }
  }
}

Example HTTP response

200 Response
{
  "MD5OfMessageAttributes": "139818cac45117a07428826a8c533c01",
  "MD5OfMessageBody": "098f6bcd4621d373cade4e832627b4f6",
  "MessageId": "14b37b86-8117-484a-aea4-1eae3b98d5d0",
  "SequenceNumber": "11764568839"
}

SendMessageBatch

POST https://queueservice.service.kr-west1.e.samsungsdscloud.com

Description

메세지 대량 전송

Parameters

필드명필수 여부타입설명
Entriestruearray of SendMessageBatchRequestEntry
QueueUrltruestring
SendMessageBatchRequestEntry
필드명필수 여부타입설명
Idtruestring
MessageAttributesfalseMessageAttribute
MessageBodytruestring
MessageDeduplicationIdfalsestringFIFO Queue
MessageGroupIdfalsestringFIFO Queue

Responses

HTTP CodeDescriptionSchema
200Created
400Bad Request
403Forbidden

Example HTTP request

Request Header
"Scp-Accesskey:2sd2gg=2agbdSD26svcD",
"Scp-Signature:fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp:1605290625682",
"Scp-ClientType:user-api",
"Scp-Target:ScpQS.SendMessageBatch"
Request Body
{
   "QueueUrl": "https://queueservice.kr-west1.dev3.samsungsdscloud.com/123e54b7303749f38ca59a5c6d419a75/test",
   "Entries": [
      {
         "Id": "1",
         "MessageBody": "test-body-1"
      },
      {
         "Id": "2",
         "MessageBody": "test-body-2"
      }
   ]
}

Example HTTP response

200 Response
{
   "Failed": [],
   "Successful": [
      {
         "Id": "2",
         "MD5OfMessageAttributes": "d41d8cd98f00b204e9800998ecf8427e",
         "MD5OfMessageBody": "82ddf04637119b9a77e9b44095f5ba11",
         "MessageId": "68aa4629-bfbc-4bb0-898b-52db94438526",
         "SequenceNumber": "31764583416"
      },
      {
         "Id": "1",
         "MD5OfMessageAttributes": "d41d8cd98f00b204e9800998ecf8427e",
         "MD5OfMessageBody": "8344ca2f91203b151e4d0aafc9248a8b",
         "MessageId": "3523740f-9e7c-429e-8514-5ec21b1d3cd8",
         "SequenceNumber": "41764583416"
      }
   ]
}

ReceiveMessage

POST https://queueservice.service.kr-west1.e.samsungsdscloud.com

Description

메세지 수신

Parameters

필드명필수 여부타입설명
MaxNumberOfMessagesfalsestring
MessageAttributeNamesfalsearray of string
MessageSystemAttributeNamesfalsearray of string
QueueUrltruestring
WaitTimeSecondsfalsestring

Responses

HTTP CodeDescriptionSchema
200Created
400Bad Request
403Forbidden

Example HTTP request

Request Header
"Scp-Accesskey:2sd2gg=2agbdSD26svcD",
"Scp-Signature:fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp:1605290625682",
"Scp-ClientType:user-api",
"Scp-Target:ScpQS.ReceiveMessage"
Request Body
{
   "QueueUrl": "https://queueservice.kr-west1.dev3.samsungsdscloud.com/123e54b7303749f38ca59a5c6d419a75/test",
   "MaxNumberOfMessages": "2"
}

Example HTTP response

200 Response
{
   "messages": [
      {
         "MessageId": "14b37b86-8117-484a-aea4-1eae3b98d5d0",
         "Body": "sample-body-1",
         "Attributes": {},
         "MessageAttributes": {
            "Special": {
               "DataType": "string",
               "StingValue": "testBodyString12345678910!/wow$#@!"
            }
         },
         "MD5OfBody": "098f6bcd4621d373cade4e832627b4f6",
         "MD5OfMessageAttributes": "139818cac45117a07428826a8c533c01",
         "ReceiptHandle": "400tf1nY4HbXEP7UX4OtxPVIPlq9vw1eeKDFwNMeNiEuZvMSbvdPCBOF/P96FUF9XT7TALMzP91ViCxQjnOIyBWw+fr4EhihdJ0Z2QHau1LMHbxD+GngcM2Pv6d5HM4KCmBgB2GxFA5qpUFBPPI="
      },
      {
         "MessageId": "aee85517-1437-4877-8de8-00eee69e11dc",
         "Body": "sample-body-2",
         "Attributes": {},
         "MD5OfBody": "ad0234829205b9033196ba818f7a872b",
         "MD5OfMessageAttributes": "139818cac45117a07428826a8c533c01",
         "ReceiptHandle": "400tf1nY4HbXEP7UX4OtxPVIPlq9vw1eeKDFwNMeNiEuZvMSbvdPCBPVrfhxFxZ0XD7aBbEzP91Vi3pQ13KMxBWxrP74REyhKcgd2VLauFLMHbxD+GngcM2Pv6d5HCzyqhEoB9DHI5NmOhgaOJ4="
      }
   ]
}

DeleteMessage

POST https://queueservice.service.kr-west1.e.samsungsdscloud.com

Description

메세지 삭제

Parameters

필드명필수 여부타입설명
QueueUrltruestring
ReceiptHandletruestring

Responses

HTTP CodeDescriptionSchema
200Created
400Bad Request
403Forbidden

Example HTTP request

Request Header
"Scp-Accesskey:2sd2gg=2agbdSD26svcD",
"Scp-Signature:fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp:1605290625682",
"Scp-ClientType:user-api",
"Scp-Target:ScpQS.DeleteMessage"
Request Body
{
   "QueueUrl": "https://queueservice.kr-west1.dev3.samsungsdscloud.com/123e54b7303749f38ca59a5c6d419a75/test",
   "ReceiptHandle": "400tf1nY4HbXEP7UX4OtxPVIPlq9vw1eeKDFwNMeNiEuZvMSbvdPCBPVrfhxFxZ0XD7aBbEzP91Vi3pQ13KMxBWxrP74REyhKcgd2VLauFLMHbxD+GngcM2Pv6d5HCzyqhEoB9DHI5NmOhgaOJ4="
}

Example HTTP response

200 Response

DeleteMessageBatch

POST https://queueservice.service.kr-west1.e.samsungsdscloud.com

Description

메세지 대량 삭제

Parameters

필드명필수 여부타입설명
Entriestruearray of DeleteMessageBatchRequestEntry
QueueUrltruestring
DeleteMessageBatchRequestEntry
필드명필수 여부타입설명
Idtruestring
ReceiptHandletruestring

Responses

HTTP CodeDescriptionSchema
200Created
400Bad Request
403Forbidden

Example HTTP request

Request Header
"Scp-Accesskey:2sd2gg=2agbdSD26svcD",
"Scp-Signature:fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp:1605290625682",
"Scp-ClientType:user-api",
"Scp-Target:ScpQS.DeleteMessageBatch"
Request Body
{
   "QueueUrl": "https://queueservice.kr-west1.dev3.samsungsdscloud.com/123e54b7303749f38ca59a5c6d419a75/test",
   "Entries": [
      {
         "Id": "1",
         "ReceiptHandle": "400tf1nY4HbXEP7UX4OtxPVIPlq9vw1eeKDFwNMeNiEuZvMSbvdPCBOF/P96FUF9XT7TALMzP91ViCxQjnOIyBWw+fr4EhihdJ0Z2QHau1LMHbxD+GngcMyJvqN5F17gym/YF4JoroeBXMSvIG0="
      },
      {
         "Id": "2",
         "ReceiptHandle": "400tf1nY4HbXEP7UX4OtxPVIPlq9vw1eeKDFwNMeNiEuZvMSbvdPCBOC8PwoFhV3Uj6JV+BnP90P3n1Q1y/RnhW0rv//GE6sf8EZjwfauVLMHbxD+GngcMyJvqN5F1Hs5T3vAZxgIV20IPdscTQ="
      }
   ]
}

Example HTTP response

200 Response
{
   "Failed": [],
   "Successful": [
      {
         "Id": "1"
      },
      {
         "Id": "2"
      }
   ]
}

2 - How to guides

Queue Service 생성하기

Samsung Cloud Platform Console에서 Queue Service를 생성하여 사용할 수 있습니다.
Queue Service를 생성하려면 다음 절차를 따르세요.

  1. 모든 서비스 > Application > Queue Service 메뉴를 클릭하세요. Queue Service의 Service Home 페이지로 이동합니다.

  2. Service Home 페이지에서 Queue 생성 버튼을 클릭하세요. Queue 생성 페이지로 이동합니다.

  3. Queue 생성 페이지에서 서비스 생성에 필요한 정보들을 입력하고, 상세 옵션을 선택하세요.

    • 서비스 정보 입력 영역에서 필요한 정보를 입력 또는 선택하세요.
      구분
      필수 여부
      상세 설명
      유형필수서비스 유형을 선택
      • 기본, FIFO 중 선택
      Queue명필수Queue 이름을 입력
      • 영문 소문자로 시작하여 영문 소문자, 숫자, 특수문자(-) 포함 3 ~ 64자 이내로 입력
      • 기본 유형: 이름에 ‘.fifo’ 접미어 사용 불가
      • FIFO 유형: 이름에 .fifo’ 접미어를 포함하여 입력
        • 영문 소문자로 시작
        • 영문 소문자와 특수문자(-)를 사용하여 3 ~ 64자로 입력로 시작
      컨텐츠 기반 중복 제거선택컨텐츠 기반 중복 제거 기능 사용 여부 선택
      • FIFO 유형을 선택한 경우에만 설정 가능
      중복 제거 범위필수중복 제거 범위를 선택
      • 대기열 내 메시지: 대기열 내 메시지 중에서 중복 항목을 제거
      • 그룹 단위의 메시지: 그룹 단위의 메시지 내에서 중복 항목을 제거
      • FIFO 유형을 선택한 경우에만 설정 가능
      설명선택서비스 설명을 100자 이내로 입력
      표. Queue 생성 - 서비스 정보 입력
    • 구성 설정 영역에서 필요한 정보를 입력 또는 선택하세요.
      구분
      필수 여부
      상세 설명
      메시지 크기필수메시지 크기값(KB)을 1 ~ 256 사이로 입력
      • 자원당 최대 50개까지 추가가 가능
      메시지 보존 기간필수메시지 보존 기간을 입력
      • 단위 기간을 선택한 후, 원하는 값을 입력
        • : 60 ~ 1,209,600
        • : 1 ~ 20,160
        • : 1 ~ 336
        • : 1 ~ 14
      암호화필수암호화 사용 여부 선택
      • 신규 생성: KMS 페이지로 이동하여 새로운 KMS 암호화를 생성
      • 사용 안함: 암호화 사용 안함
      • KMS 암호화: KMS 사용 시 선택
        • Data Key 재사용 기간: 단위 기간을 선택한 후, 원하는 값을 입력
          • : 5 ~ 1,440
          • : 1 ~ 24
      표. Queue 생성 - 구성 설정 항목
    • 추가 정보 입력 영역에서 필요한 정보를 입력 또는 선택하세요.
      구분
      필수 여부
      상세 설명
      태그선택태그 추가
      • 자원당 최대 50개까지 추가가 가능
      • 태그 추가 버튼을 클릭한 후 Key, Value 값을 입력 또는 선택
      표. Queue 생성 - 추가 정보 입력 항목
  4. 요약 패널에서 생성한 상세 정보와 예상 청구 금액을 확인하고, 생성 버튼을 클릭하세요.

    • 생성이 완료되면, 페이지에서 생성한 자원을 확인하세요.
참고
Queue는 사용량에 따라 요금이 부과됩니다.

Queue Service 상세 정보 확인하기

Queue Service에 대한 상세 정보와 메시지를 확인할 수 있습니다.
Queue Service의 상세 정보를 확인하려면 다음 절차를 따르세요.

  1. 모든 서비스 > Application > Queue Service 메뉴를 클릭하세요. Queue Service의 Service Home 페이지로 이동합니다.
  2. Service Home 페이지에서 Queue 메뉴를 클릭하세요. Queue 목록 페이지로 이동합니다.
  3. Queue 목록 페이지에서 상세 정보를 확인할 자원을 클릭하세요. Queue 상세 페이지로 이동합니다.
    • Queue 상세 페이지에는 상태 정보 및 부가 기능 정보가 표시되며, 상세 정보, 메시지 관리, 태그, 작업 이력 탭으로 구성됩니다.
      구분상세 설명
      Queue Service 상태Queue Service의 상태를 표현
      • Creating: 생성 중
      • Available: 생성 완료, 서버 연결 가능
      • Deleting: 서비스 해지 중
      • Error Deleting: 삭세 중 비정상 상태
      • Inactive: 비정상 상태
      • Error: 생성 중 비정상 상태
      서비스 해지서비스 해지 버튼
      표. Queue Service 상태 정보 및 부가 기능

상세 정보

Queue 목록 페이지에서 선택한 자원의 상세 정보를 확인하고, 필요한 경우 정보를 수정할 수 있습니다.

구분상세 설명
서비스서비스명
자원 유형자원 유형
SRNSamsung Cloud Platform에서의 고유 자원 ID
  • Queue Service에서는 자원 SRN을 의미
자원명자원 이름
  • Queue Service에서는 Queue 이름을 의미
자원 ID서비스의 고유 자원 ID
생성자서비스를 생성한 사용자
생성 일시서비스를 생성한 일시
수정자서비스를 수정한 사용자
수정 일시서비스를 수정한 일시
유형Queue 유형
컨텐츠 기반 중복 제거컨텐츠 기반 중복 제거 기능 사용 여부
  • FIFO 유형을 사용하는 경우에만 표시
  • 수정 버튼을 클릭하여 사용 여부 변경 가능
중복 제거 범위중복 제거 범위
  • FIFO 을 사용하는 경우에만 표시
  • 대기열 내 메시지: 대기열 내 메시지 중에서 중복 항목을 제거
  • 그룹 단위의 메시지: 그룹 단위의 메시지 내에서 중복 항목을 제거
  • 수정 버튼을 클릭하여 범위 변경 가능
구성 설정Queue 구성 정보
  • 메시지의 크기, 보존 기간, 암호화 사용 여부 표시
    • KMS 암호화 사용 시 Data Key 재사용 기간 표시
    • 수정 버튼을 클릭하여 수정 가능
PrivateLink Service IDPrivateLink 서비스 ID
설명Queue 설명
  • 수정 버튼을 클릭하여 수정 가능
IP 접근 허용 목록Queue 서비스에 접근이 허용된 IP 목록
  • IP Address 추가 버튼을 클릭하여 새로운 IP 등록 가능
  • 목록에 등록된IP Address를 선택한 후, 삭제 버튼을 클릭하여 제외 가능
  • IP Address는 최대 150개까지 추가 가능
표. Queue 상세 - 상세 탭 항목

메시지 관리

Queue 목록 페이지에서 선택한 자원의 매시지 목록을 확인하고 관리할 수 있습니다.

참고
  • 메시지는 최대 10개까지 표시됩니다.
  • 목록에 메시지가 없는 경우, 메시지 폴링 버튼을 클릭하여 메시지를 불러올 수 있습니다.
  • 메시지를 관리하는 방법은 메시지 관리하기를 참고하세요.
구분상세 설명
메세지 폴링Queue로부터 Console로 메시지 폴링 수행 후, 메시지 목록 새로고침
더보기메시지의 전송, 삭제, 제거 가능
  • 메시지 전송: 새로운 메시지를 전송
  • 삭제: 메시지 목록에서 선택한 메시지를 삭제
  • 제거: Queue에 포함된 모든 메시지를 삭제
메시지 목록메시지 ID, 메시지 전송 일시, 메시지 수신 일시, 메시지 크기(byte) 확인 가능
  • 메시지 ID를 클릭하여 메시지 본문과 메타 정보 확인 가능
  • 삭제 버튼을 클릭하여 해당 메시지 삭제 가능
표. Queue 상세 - 메시지 관리 탭 항목

태그

Queue 목록 페이지에서 선택한 자원의 태그 정보를 확인하고, 추가하거나 변경 또는 삭제할 수 있습니다.

구분상세 설명
태그 목록태그 목록
  • 태그의 Key, Value 정보 확인 가능
  • 태그는 자원 당 최대 50개까지 추가 가능
  • 태그 입력 시 기존에 생성된 Key와 Value 목록을 검색하여 선택
표. Queue 상세 - 태그 탭 항목

작업 이력

Queuee 목록 페이지에서 선택한 자원의 작업 이력을 확인할 수 있습니다.

구분상세 설명
작업 이력 목록자원 변경 이력
  • 작업 일시, 자원 유형, 자원 ID, 자원명, 작업 내역, 이벤트 토픽, 작업 결과, 작업자 정보 확인
표. Queue 상세 - 작업 이력 탭 항목

Queue 구성 설정하기

Queue Service 생성 시 설정한 구성을 다시 설정할 수 있습니다.
Queue 구성을 다시 설정하려면 다음 절차를 따르세요.

  1. 모든 서비스 > Application > Queue Service 메뉴를 클릭하세요. Queue Service의 Service Home 페이지로 이동합니다.
  2. Service Home 페이지에서 Queue 메뉴를 클릭하세요. Queue 목록 페이지로 이동합니다.
  3. Queue 목록 페이지에서 Queue 구성을 다시 설정할 자원을 클릭하세요. Queue 상세 페이지로 이동합니다.
  4. 구성 설정 항목의 수정 버튼을 클릭하세요. 구성 설정 수정 팝업창이 열립니다.
  5. 구성 설정 수정 팝업창에서 구성 정보를 수정한 후, 확인 버튼을 클릭하세요.
    구분
    필수 여부
    상세 설명
    메시지 크기필수메시지 크기값(KB)을 1 ~ 256 사이로 입력
    • 자원당 최대 50개까지 추가가 가능
    메시지 보존 기간필수메시지 보존 기간을 입력
    • 단위 기간을 선택한 후, 원하는 값을 입력
      • : 60 ~ 1,209,600
      • : 1 ~ 20,160
      • : 1 ~ 336
      • : 1 ~ 14
    암호화필수암호화 사용 여부 선택
    • 신규 생성: KMS 페이지로 이동하여 새로운 KMS 암호화를 생성
    • 사용 안함: 암호화 사용 안함
    • KMS 암호화: KMS 사용 시 선택
      • Data Key 재사용 기간: 단위 기간을 선택한 후, 원하는 값을 입력
        • : 5 ~ 1,440
        • : 1 ~ 24
    표. Queue 구성 설정 수정 입력 항목

IP 접근 허용 관리하기

Queue Service에 접근 가능한 IP를 관리할 수 있습니다.

접근 가능 IP 추가하기

접근 가능 IP를 추가하려면 다음 절차를 따르세요.

  1. 모든 서비스 > Application > Queue Service 메뉴를 클릭하세요. Queue Service의 Service Home 페이지로 이동합니다.
  2. Service Home 페이지에서 Queue 메뉴를 클릭하세요. Queue 목록 페이지로 이동합니다.
  3. Queue 목록 페이지에서 접근 가능 IP를 추가할 자원을 클릭하세요. Queue 상세 페이지로 이동합니다.
  4. IP 접근 허용 목록 항목의 IP Address 추가 버튼을 클릭하세요. IP Address 추가 팝업창이 열립니다.
  5. IP 접근 허용 목록에 추가할 IP를 입력한 후, 확인 버튼을 클릭하세요.
    • + 버튼을 클릭하여 여러 개의 IP를 동시에 추가할 수 있습니다(최대 10개).
  6. IP 추가를 알리는 팝업창이 열리면 확인 버튼을 클릭하세요.
참고
IP Address는 최대 150개까지 추가할 수 있습니다.

접근 가능 IP 제외하기

IP 접근 허용 목록에 등록된 IP를 제외하려면 다음 절차를 따르세요.

  1. 모든 서비스 > Application > Queue Service 메뉴를 클릭하세요. Queue Service의 Service Home 페이지로 이동합니다.
  2. Service Home 페이지에서 Queue 메뉴를 클릭하세요. Queue 목록 페이지로 이동합니다.
  3. Queue 목록 페이지에서 접근 가능 IP를 제외할 자원을 클릭하세요. Queue 상세 페이지로 이동합니다.
  4. IP 접근 허용 목록 항목에서 제외할 IP를 체크한 후, 목록 상단의 삭제 버튼을 클릭하세요.
    • IP 접근 허용 목록에서 제외하려는 IP의 삭제 버튼을 클릭하여 개별적으로 제외할 수도 있습니다.
  5. IP 삭제를 알리는 팝업창이 열리면 확인 버튼을 클릭하세요.

메시지 관리하기

Queue 메시지를 전송하거나 관리할 수 있습니다.

메시지 전송하기

Queue 메시지를 전송하려면 다음 절차를 따르세요.

  1. 모든 서비스 > Application > Queue Service 메뉴를 클릭하세요. Queue Service의 Service Home 페이지로 이동합니다.
  2. Service Home 페이지에서 Queue 메뉴를 클릭하세요. Queue 목록 페이지로 이동합니다.
  3. Queue 목록 페이지에서 Queue 메시지를 전송할 자원을 클릭하세요. Queue 상세 페이지로 이동합니다.
  4. Queue 상세 페이지의 메시지 관리 탭을 클릭하세요.
  5. 메시지 목록 상단의 더보기 > 메시지 전송 버튼을 클릭하세요. 메시지 전송 팝업창이 열립니다.
  6. 메시지 전송 팝업창에서 전송할 메시지 정보를 입력한 후, 확인 버튼을 클릭하세요.
    구분
    필수 여부
    상세 설명
    메시지 본문필수보낼 메시지를 입력
    • 최대 262,244 byte까지 입력 가능
    메시지 그룹 ID필수영문, 숫자, 특수문자를 사용하여 128자 이내로 입력
    • FIFO 을 사용하는 경우에만 표시
    메시지 중복 제거 ID필수영문, 숫자, 특수문자를 사용하여 128자 이내로 입력
    • FIFO 을 사용하는 경우에만 표시
    메타 정보선택메시지에 추가할 메타 정보의 사용 여부 선택
    • 사용 시 Key, Value 정보를 최대 10개까지 입력 가능
    암호화필수암호화 사용 여부 선택
    • 신규 생성: KMS 페이지로 이동하여 새로운 KMS 암호화를 생성
    • 사용 안함: 암호화 사용 안함
    • KMS 암호화: KMS 사용 시 선택
      • Data Key 재사용 기간: 단위 기간을 선택한 후, 원하는 값을 입력
        • : 5 ~ 1,440
        • : 1 ~ 24
    표. 메시지 전송 입력 항목

메시지 개별 삭제하기

Queue 메시지를 개별적으로 삭제할 수 있습니다. 메시지를 삭제하려면하려면 다음 절차를 따르세요.

  1. 모든 서비스 > Application > Queue Service 메뉴를 클릭하세요. Queue Service의 Service Home 페이지로 이동합니다.
  2. Service Home 페이지에서 Queue 메뉴를 클릭하세요. Queue 목록 페이지로 이동합니다.
  3. Queue 목록 페이지에서 Queue 메시지를 삭제할 자원을 클릭하세요. Queue 상세 페이지로 이동합니다.
  4. Queue 상세 페이지의 메시지 관리 탭을 클릭하세요.
  5. 메시지 목록에서 삭제할 메시지를 모두 선택한 후, 목록 상단의 더보기 > 삭제 버튼을 클릭하세요.
    • 메시지 목록에서 삭제할 메시지의 오른쪽 끝에 있는 삭제 버튼을 클릭하여 개별적으로 삭제할 수도 있습니다.
  6. 메시지 삭제를 알리는 팝업창이 열리면 확인 버튼을 클릭하세요.

Queue 내의 모든 메시지 비우기

Queue 비우기로 Queue 내의 모든 메시지를 삭제할 수 있습니다.

주의
  • Queue 비우기를 통해 삭제한 메시지는 복구되지 않습니다.
  • 동일한 요청이 진행 중인 경우, 삭제되지 않습니다. 잠시 후, 다시 Queue 비우기를 진행하세요.

모든 메시지를 삭제하려면하려면 다음 절차를 따르세요.

  1. 모든 서비스 > Application > Queue Service 메뉴를 클릭하세요. Queue Service의 Service Home 페이지로 이동합니다.
  2. Service Home 페이지에서 Queue 메뉴를 클릭하세요. Queue 목록 페이지로 이동합니다.
  3. Queue 목록 페이지에서 Queue 메시지를 제거할 자원을 클릭하세요. Queue 상세 페이지로 이동합니다.
  4. Queue 상세 페이지의 메시지 관리 탭을 클릭하세요.
  5. 메시지 목록 상단의 더보기 > Queue 비우기 버튼을 클릭하세요.
  6. 메시지 삭제를 알리는 팝업창이 열리면 확인 버튼을 클릭하세요.

Queue Service 해지하기

사용하지 않는 Queue Service를 해지하여 운영 비용을 절감할 수 있습니다.
단, 서비스를 해지하면 운영 중인 서비스가 즉시 중단될 수 있으므로 서비스 중단 시 발생하는 영향을 충분히 고려한 후 해지 작업을 진행해야 합니다.

주의
해지 시 모든 메시지가 삭제되며 복구할 수 없습니다.

Queue Service를 해지하려면 다음 절차를 따르세요.

  1. 모든 서비스 > Application > Queue Service 메뉴를 클릭하세요. Queue Service의 Service Home 페이지로 이동합니다.
  2. Service Home 페이지에서 Queue 메뉴를 클릭하세요. Queue 목록 페이지로 이동합니다.
  3. Queue 목록 페이지에서 해지할 자원을 선택한 후, 서비스 해지 버튼을 클릭하세요.
    • 해지할 자원의 Queue 상세 페이지로 이동한 후, 서비스 해지 버튼을 클릭하여 개별적으로 해지할 수도 있습니다.
  4. 서비스 해지를 알리는 팝업창이 열리면 확인 버튼을 클릭하세요.

PrivateLink 서비스 연계하기

Queue Service는 PrivateLink Service와 연계하여 인터넷 통신을 사용하지 않고 직접 통신할 수 있습니다.
PrivateLink Service와 연계하면 사용자의 VPC에서 Queue Service와 직접 통신하므로 보안성이 강화됩니다.

Queue Service와 PrivateLink Service를 연계하기 위하여 다음 절차를 따르세요.

  1. PrivateLink Endpoint 생성을 위한 Queue Service의 PrivateLink Service ID를 확인하세요.
    • Queue Service의 PrivateLink Service ID는 Queue 상세 페이지의 PrivateLink Service ID에서 확인할 수 있습니다.
  2. PrivateLink Endpoint를 생성하세요.
참고
  • PrivateLink Service 연결시 사용 승인이 자동으로 처리됩니다.
  • PrivateLink Endpoint의 Security Group을 확인하여 접근 대상 VM IP의 등록 여부를 확인하세요.
주의
PrivateLink Endpoint를 통해 연결하는 경우, IAM 정책과 인증키의 IP 접근 제어를 사용할 수 없습니다.

3 - Overview

서비스 개요

Queue Service는 메시지나 작업을 효율적으로 관리하고 전달하는 서비스로써 시스템 간 메시지 송수신을 지원합니다.
이 서비스는 메시지를 생성하는 Producer와 메시지를 수신하는 Consumer 간의 데이터 흐름을 원활하게 하고, 메시지의 순서를 보장하는 FIFO(First-In-First-Out) 기능을 제공합니다. 이를 통해 메시지로 인한 시스템 부하를 분산시켜 마이크로서비스 아키텍처나 이벤트 기반 시스템에서 효율적으로 메시지를 관리할 수 있습니다.

특장점

  • 효율적인 메시지 처리 : 다량의 메시지를 동시에 송수신을 처리하고 관리하여 사용자 시스템의 메시지 처리 작업을 효율적으로 할 수 있습니다.
  • 빠른 서비스 처리 : Producer와 Consumer가 서로 독립적으로 동작하여 응답성과 처리 속도를 향상시킬 수 있습니다.
  • 메시지 순서 보장 : 수신된 메시지의 순서를 보장하여 데이터의 일관성을 유지합니다.
  • 강력한 보안 및 신뢰성 : 메시지 전송 및 저장시 암호화를 통하여 민감한 정보를 보호하고 신뢰성 있는 메시지 관리를 제공합니다.

서비스 구성도

구성도
그림. Queue Service 구성도

제공 기능

Queue Service는 다음과 같은 기능을 제공하고 있습니다.

  • Queue 생성: 메시지 수신 처리 방식에 따라 기본 또는 메시지 순서를 보장되는 FIFO 유형의 Queue를 생성합니다.
    • FIFO 유형을 사용하는 경우, Queue Service는 메시지를 수신 시간 순서대로 정렬합니다.
  • 메시지 전송: Producer가 Consumer에게 전달할 메시지를 Queue로 전송합니다.
  • 메시지 수신: Consumer가 Queue로부터 Producer의 메시지를 수신합니다.
  • 메시지 관리: Queue에 저장된 메시지들을 확인하고 관리합니다.
  • 메시지 암호화: KMS 서비스와 연동하여 Queue 내의 메시지를 암호화합니다.
    • 메시지 암호화 설정을 통해 메시지 노출을 차단할 수 있도록 지원합니다.
  • ServiceWatch 서비스 연계 제공: ServiceWatch 서비스를 통해 데이터를 모니터링할 수 있습니다.

구성 요소

Producer

Queue Service로 메시지를 생성하고 전송합니다.

Consumer

Queue Service로부터 메시지를 수신하여 처리합니다.

메시지 관리자

Queue Service 내의 적재된 메시지를 확인하여 삭제 등의 관리를 할 수 있습니다.

리전별 제공 현황

Queue Service는 아래의 환경에서 제공 가능합니다.

리전제공 여부
한국 서부1(kr-west1)제공
한국 동부1(kr-east1)제공
한국 남부1(kr-south1)미제공
한국 남부2(kr-south2)미제공
한국 남부3(kr-south3)미제공
표. Queue Service 리전별 제공 현황

선행 서비스

Queue Service는 선행 서비스가 없습니다.

3.1 - ServiceWatch 지표

Queue Service는 ServiceWatch로 지표를 전송합니다. 기본 모니터링으로 제공되는 지표는 1분 주기로 수집된 데이터입니다.

참고
ServiceWatch에서 지표를 확인하는 방법은 ServiceWatch 가이드를 참고하세요.

기본 지표

다음은 네임스페이스 Queue Service에 대한 기본 지표입니다.

아래에서 지표명이 굵은 글씨로 표기된 지표는 Queue Service 에서 제공하는 기본 지표 중 주요 지표로 선정한 지표입니다. 주요 지표는 ServiceWatch에서 서비스별로 자동으로 구축되는 서비스 대시보드를 구성하는데 활용됩니다.

각 지표는 해당 지표를 조회할 때 어떤 통계값으로 조회하는 것이 의미있는지 의미 있는 통계값을 사용자 가이드를 통해 안내하고 있으며, 의미있는 통계 중에서 굵은 글씨로 표기된 통계값이 주요 통계값입니다. 서비스 대시보드에서는 주요 지표를 주요 통계값을 통해 조회할 수 있습니다.

성능 항목상세 설명단위의미있는 통계
NumberOfMessagesSent대기열에 추가된 메시지의 수Count
  • 평균
  • 합계
SentMessageSize대기열에 추가된 메시지의 크기Bytes
  • 합계
NumberOfMessagesReceivedReceiveMessage 작업에 대한 호출로 반환된 메시지의 수 (Polling 된 메시지 수)Count
  • 평균
  • 합계
NumberOfEmptyReceives메시지를 반환하지 않은 ReceiveMessage API 호출의 수Count
  • 평균
  • 합계
NumberOfMessagesDeleted대기열에서 삭제된 메시지의 개수Count
  • 평균
  • 합계
표. Queue Service 기본 지표

4 - CLI Reference

CLI Reference

5 - API Reference

API Reference

6 - Release Note

Queue Service

2026.03.19
FEATURE FIFO 유형 기능 개선 및 ServiceWatch 서비스 연계 제공
  • FIFO 유형 선택 시 추가 기능을 설정할 수 있습니다.
    • 컨텐츠 기반 중복 제거, 중복 제거 범위
  • ServiceWatch 서비스 연계 제공: ServiceWatch 서비스를 통해 데이터를 모니터링할 수 있습니다.
2025.12.16
NEW 서비스 정식 버전 출시
  • Queue Service가 정식 출시되었습니다.
    • Queue Service를 통해 메시지로 인한 시스템 부하를 분산시켜 마이크로서비스 아키텍처나 이벤트 기반 시스템에서 효율적으로 메시지를 관리할 수 있습니다.
    • 메시지 전송과 수신이 서로 독립적으로 동작하여 응답성과 처리 속도가 향상됩니다.