이 섹션의 다중 페이지 출력 화면임. 여기를 클릭하여 프린트.
Queue Service
1 - Message API reference
Overview
Samsung Cloud Platform 에서 제공하는 Queue Service는 메시지를 보내고 받고 그리고 삭제할 수 있습니다.
본 가이드에서는 Queue Service의 API에 대한 설명 및 호출하는 방법을 제공합니다.
Queue Service 호출 절차
Queue Service API URL주소는 운영환경과 Region에 따라 변경되어야 합니다. 아래의 표에서 해당 운영환경과 Region 정보를 확인하십시오.
| 운영 환경 | Region | Queue Service URL |
|---|---|---|
| For Samsung | kr-west1 | https://queueservice.service.kr-west1.s.samsungsdscloud.com |
| For Samsung | kr-east1 | https://queueservice.service.kr-east1.s.samsungsdscloud.com |
| For Enterprise | kr-west1 | https://queueservice.service.kr-west1.e.samsungsdscloud.com |
| For Enterprise | kr-east1 | https://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
| 필드명 | 필수 여부 | 타입 | 설명 |
|---|---|---|---|
| MessageAttributes | false | MessageAttribute | |
| MessageBody | true | string | |
| MessageDeduplicationId | false | string | FIFO Queue |
| MessageGroupId | false | string | FIFO Queue |
| QueueUrl | true | string |
MessageAttribute
| 필드명 | 필수 여부 | 타입 | 설명 |
|---|---|---|---|
| BinaryValue | false | string | |
| DataType | false | string | |
| StringValue | false | string |
Responses
| HTTP Code | Description | Schema |
|---|---|---|
| 200 | Created | |
| 400 | Bad Request | |
| 403 | Forbidden |
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
| 필드명 | 필수 여부 | 타입 | 설명 |
|---|---|---|---|
| Entries | true | array of SendMessageBatchRequestEntry | |
| QueueUrl | true | string |
SendMessageBatchRequestEntry
| 필드명 | 필수 여부 | 타입 | 설명 |
|---|---|---|---|
| Id | true | string | |
| MessageAttributes | false | MessageAttribute | |
| MessageBody | true | string | |
| MessageDeduplicationId | false | string | FIFO Queue |
| MessageGroupId | false | string | FIFO Queue |
Responses
| HTTP Code | Description | Schema |
|---|---|---|
| 200 | Created | |
| 400 | Bad Request | |
| 403 | Forbidden |
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
| 필드명 | 필수 여부 | 타입 | 설명 |
|---|---|---|---|
| MaxNumberOfMessages | false | string | |
| MessageAttributeNames | false | array of string | |
| MessageSystemAttributeNames | false | array of string | |
| QueueUrl | true | string | |
| WaitTimeSeconds | false | string |
Responses
| HTTP Code | Description | Schema |
|---|---|---|
| 200 | Created | |
| 400 | Bad Request | |
| 403 | Forbidden |
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
| 필드명 | 필수 여부 | 타입 | 설명 |
|---|---|---|---|
| QueueUrl | true | string | |
| ReceiptHandle | true | string |
Responses
| HTTP Code | Description | Schema |
|---|---|---|
| 200 | Created | |
| 400 | Bad Request | |
| 403 | Forbidden |
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
| 필드명 | 필수 여부 | 타입 | 설명 |
|---|---|---|---|
| Entries | true | array of DeleteMessageBatchRequestEntry | |
| QueueUrl | true | string |
DeleteMessageBatchRequestEntry
| 필드명 | 필수 여부 | 타입 | 설명 |
|---|---|---|---|
| Id | true | string | |
| ReceiptHandle | true | string |
Responses
| HTTP Code | Description | Schema |
|---|---|---|
| 200 | Created | |
| 400 | Bad Request | |
| 403 | Forbidden |
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를 생성하려면 다음 절차를 따르세요.
- 모든 서비스 > Application > Queue Service 메뉴를 클릭하세요. Queue Service의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 Queue 생성 버튼을 클릭하세요. Queue 생성 페이지로 이동합니다.
- Queue 생성 페이지에서 서비스 생성에 필요한 정보들을 입력한 후, 확인 버튼을 클릭하세요.
| 구분 | 필수 여부 | 상세 설명 |
|---|---|---|
| 유형 | 필수 | 서비스 유형을 선택
|
| Queue명 | 필수 | Queue 이름을 입력
|
| 설명 | 선택 | 서비스 설명을 100자 이내로 입력 |
| 메시지 크기 | 필수 | 메시지 크기값(KB)을 1 ~ 256 사이로 입력
|
| 메시지 보존 기간 | 필수 | 메시지 보존 기간을 입력
|
| 암호화 | 필수 | 암호화 사용 여부 선택
|
| 태그 | 선택 | 태그 추가
|
- 생성을 알리는 팝업창이 열리면 확인 버튼을 클릭하세요.
Queue는 사용량에 따라 요금이 부과됩니다.
Queue Service 상세 정보 확인하기
Queue Service에 대한 상세 정보와 메시지를 확인할 수 있습니다.
Queue Service의 상세 정보를 확인하려면 다음 절차를 따르세요.
- 모든 서비스 > Application > Queue Service 메뉴를 클릭하세요. Queue Service의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 Queue 메뉴를 클릭하세요. Queue 목록 페이지로 이동합니다.
- Queue 목록 페이지에서 상세 정보를 확인할 자원을 클릭하세요. Queue 상세 페이지로 이동합니다.
- Queue 상세 페이지에는 상태 정보 및 부가 기능 정보가 표시되며, 상세 정보, 메시지 관리, 태그, 작업 이력 탭으로 구성됩니다.
| 구분 | 상세 설명 |
|---|---|
| Queue Service 상태 | Queue Service의 상태를 표현
|
| 서비스 해지 | 서비스 해지 버튼 |
상세 정보
Queue 목록 페이지에서 선택한 자원의 상세 정보를 확인하고, 필요한 경우 정보를 수정할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 서비스 | 서비스명 |
| 자원 유형 | 자원 유형 |
| SRN | Samsung Cloud Platform에서의 고유 자원 ID
|
| 자원명 | 자원 이름
|
| 자원 ID | 서비스의 고유 자원 ID |
| 생성자 | 서비스를 생성한 사용자 |
| 생성 일시 | 서비스를 생성한 일시 |
| 수정자 | 서비스를 수정한 사용자 |
| 수정 일시 | 서비스를 수정한 일시 |
| 볼륨명 | 볼륨 이름 |
| 유형 | Queue 유형 |
| 구성 설정 | Queue 구성 정보
|
| 설명 | Queue 설명
|
| IP 접근 허용 목록 | Queue 서비스에 접근이 허용된 IP 목록
|
메시지 관리
Queue 목록 페이지에서 선택한 자원의 매시지 목록을 확인하고 관리할 수 있습니다.
- 메시지는 최대 10개까지 표시됩니다.
- 메시지를 관리하는 방법은 메시지 관리하기를 참고하세요.
| 구분 | 상세 설명 |
|---|---|
| 메세지 폴링 | Queue로부터 Console로 메시지 폴링 수행 및 메시지 목록 새로고침 |
| 더보기 | 메시지의 전송, 삭제, 제거 가능
|
| 메시지 목록 | 메시지 ID, 메시지 전송 일시, 메시지 수신 일시, 메시지 크기 확인 가능
|
| 메시지 전송 일시 | 스냅샷 용량 |
| 메시지 수신 일시 | 스냅샷 생성된 일시 |
| 메시지 크기 | 스냅샷의 상태
|
태그
Queue 목록 페이지에서 선택한 자원의 태그 정보를 확인하고, 추가하거나 변경 또는 삭제할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 태그 목록 | 태그 목록
|
작업 이력
Queuee 목록 페이지에서 선택한 자원의 작업 이력을 확인할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 작업 이력 목록 | 자원 변경 이력
|
Queue 구성 설정하기
Queue Service 생성 시 설정한 구성을 다시 설정할 수 있습니다.
Queue 구성을 다시 설정하려면 다음 절차를 따르세요.
- 모든 서비스 > Application > Queue Service 메뉴를 클릭하세요. Queue Service의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 Queue 메뉴를 클릭하세요. Queue 목록 페이지로 이동합니다.
- Queue 목록 페이지에서 Queue 구성을 다시 설정할 자원을 클릭하세요. Queue 상세 페이지로 이동합니다.
- 구성 설정 항목의 수정 버튼을 클릭하세요. 구성 설정 수정 팝업창이 열립니다.
- 구성 설정 수정 팝업창에서 구성 정보를 수정한 후, 확인 버튼을 클릭하세요.
| 구분 | 필수 여부 | 상세 설명 |
|---|---|---|
| 메시지 크기 | 필수 | 메시지 크기값(KB)을 1 ~ 256 사이로 입력
|
| 메시지 보존 기간 | 필수 | 메시지 보존 기간을 입력
|
| 암호화 | 필수 | 암호화 사용 여부 선택
|
IP 접근 허용 관리하기
Queue Service에 접근 가능한 IP를 관리할 수 있습니다.
접근 가능 IP 추가하기
접근 가능 IP를 추가하려면 다음 절차를 따르세요.
- 모든 서비스 > Application > Queue Service 메뉴를 클릭하세요. Queue Service의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 Queue 메뉴를 클릭하세요. Queue 목록 페이지로 이동합니다.
- Queue 목록 페이지에서 접근 가능 IP를 추가할 자원을 클릭하세요. Queue 상세 페이지로 이동합니다.
- IP 접근 허용 목록 항목의 IP Address 추가 버튼을 클릭하세요. IP Address 추가 팝업창이 열립니다.
- IP 접근 허용 목록에 추가할 IP를 입력한 후, 확인 버튼을 클릭하세요.
- + 버튼을 클릭하여 여러 개의 IP를 동시에 추가할 수 있습니다(최대 10개).
- IP 추가를 알리는 팝업창이 열리면 확인 버튼을 클릭하세요.
접근 가능 IP 제외하기
IP 접근 허용 목록에 등록된 IP를 제외하려면 다음 절차를 따르세요.
- 모든 서비스 > Application > Queue Service 메뉴를 클릭하세요. Queue Service의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 Queue 메뉴를 클릭하세요. Queue 목록 페이지로 이동합니다.
- Queue 목록 페이지에서 접근 가능 IP를 제외할 자원을 클릭하세요. Queue 상세 페이지로 이동합니다.
- IP 접근 허용 목록 항목에서 제외할 IP를 체크한 후, 목록 상단의 삭제 버튼을 클릭하세요.
- IP 접근 허용 목록에서 제외하려는 IP의 삭제 버튼을 클릭하여 개별적으로 제외할 수도 있습니다.
- IP 삭제를 알리는 팝업창이 열리면 확인 버튼을 클릭하세요.
메시지 관리하기
Queue 메시지를 전송하거나 관리할 수 있습니다.
메시지 전송하기
Queue 메시지를 전송하려면 다음 절차를 따르세요.
- 모든 서비스 > Application > Queue Service 메뉴를 클릭하세요. Queue Service의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 Queue 메뉴를 클릭하세요. Queue 목록 페이지로 이동합니다.
- Queue 목록 페이지에서 Queue 메시지를 전송할 자원을 클릭하세요. Queue 상세 페이지로 이동합니다.
- Queue 상세 페이지의 메시지 관리 탭을 클릭하세요.
- 메시지 목록 상단의 더보기 > 메시지 전송 버튼을 클릭하세요. 메시지 전송 팝업창이 열립니다.
- 메시지 전송 팝업창에서 전송할 메시지 정보를 입력한 후, 확인 버튼을 클릭하세요.
| 구분 | 필수 여부 | 상세 설명 |
|---|---|---|
| 메시지 본문 | 필수 | 보낼 메시지를 입력
|
| 메타 정보 | 선택 | 메시지에 추가할 메타 정보의 사용 여부 선택
|
| 암호화 | 필수 | 암호화 사용 여부 선택
|
메시지 개별 삭제하기
Queue 메시지를 개별적으로 삭제할 수 있습니다. 메시지를 삭제하려면하려면 다음 절차를 따르세요.
- 모든 서비스 > Application > Queue Service 메뉴를 클릭하세요. Queue Service의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 Queue 메뉴를 클릭하세요. Queue 목록 페이지로 이동합니다.
- Queue 목록 페이지에서 Queue 메시지를 삭제할 자원을 클릭하세요. Queue 상세 페이지로 이동합니다.
- Queue 상세 페이지의 메시지 관리 탭을 클릭하세요.
- 메시지 목록에서 삭제할 메시지를 모두 선택한 후, 목록 상단의 더보기 > 삭제 버튼을 클릭하세요.
- 메시지 목록에서 삭제할 메시지의 오른쪽 끝에 있는 삭제 버튼을 클릭하여 개별적으로 삭제할 수도 있습니다.
- 메시지 삭제를 알리는 팝업창이 열리면 확인 버튼을 클릭하세요.
메시지 모두 제거하기
Queue의 모든 메시지를 삭제할 수 있습니다.
- 메시지 제거를 통해 삭제한 메시지는 복구되지 않습니다.
- 동일한 제거 요청이 진행 중인 경우, 삭제되지 않습니다. 잠시 후, 다시 메시지 제거를 진행하세요.
모든 메시지를 삭제하려면하려면 다음 절차를 따르세요.
- 모든 서비스 > Application > Queue Service 메뉴를 클릭하세요. Queue Service의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 Queue 메뉴를 클릭하세요. Queue 목록 페이지로 이동합니다.
- Queue 목록 페이지에서 Queue 메시지를 제거할 자원을 클릭하세요. Queue 상세 페이지로 이동합니다.
- Queue 상세 페이지의 메시지 관리 탭을 클릭하세요.
- 메시지 목록 상단의 더보기 > 메시지 제거 버튼을 클릭하세요.
- 메시지 삭제를 알리는 팝업창이 열리면 확인 버튼을 클릭하세요.
Queue Service 해지하기
사용하지 않는 Queue Service를 해지하여 운영 비용을 절감할 수 있습니다.
단, 서비스를 해지하면 운영 중인 서비스가 즉시 중단될 수 있으므로 서비스 중단 시 발생하는 영향을 충분히 고려한 후 해지 작업을 진행해야 합니다.
Queue Service를 해지하려면 다음 절차를 따르세요.
- 모든 서비스 > Application > Queue Service 메뉴를 클릭하세요. Queue Service의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 Queue 메뉴를 클릭하세요. Queue 목록 페이지로 이동합니다.
- Queue 목록 페이지에서 해지할 자원을 선택한 후, 서비스 해지 버튼을 클릭하세요.
- 해지할 자원의 Queue 상세 페이지로 이동한 후, 서비스 해지 버튼을 클릭하여 개별적으로 해지할 수도 있습니다.
- 서비스 해지를 알리는 팝업창이 열리면 확인 버튼을 클릭하세요.
PrivateLink 서비스 연계하기
Queue Service는 PrivateLink Service와 연계하여 인터넷 통신이 아닌 사용자 VPC에서 Queue Service와 직접 통신하여 보안성을 강화하여 서비스를 사용하실 수 있습니다.
PrivateLink Endpoint 생성 및 연결하기
Queue Service와 PrivateLink Service를 연계하기 위하여 다음 절차를 따르세요.
- PrivateLink Endpoint 생성을 위한 Queue Service의 PrivateLink Service ID를 확인하세요.
- Queue Service의 PrivateLink Service ID는 문의하기를 통하여 지원 받으실 수 있습니다.
- PrivateLink Endpoint를 생성하세요.
- PrivateLink Endpoint 생성 방법은 PrivateLink Endpoint 생성하기를 참고하세요.
- PrivateLink Service 연결시 사용 승인이 자동으로 처리됩니다.
- PrivateLink Endpoint의 Security Group을 확인하여 접근 대상 VM IP의 등록 여부를 확인하십시오.
3 - Overview
서비스 개요
Queue Service는 메시지나 작업을 효율적으로 관리하고 전달하는 서비스로써 시스템 간 메시지 송수신을 지원합니다.
이 서비스는 메시지를 생성하는 Producer와 메시지를 수신하는 Consumer 간의 데이터 흐름을 원활하게 하고, 메시지의 순서를 보장하는 FIFO(First-In-First-Out) 기능을 제공합니다. 이를 통해 메시지로 인한 시스템 부하를 분산시켜 마이크로서비스 아키텍처나 이벤트 기반 시스템에서 효율적으로 메시지를 관리할 수 있습니다.
특장점
- 효율적인 메시지 처리 : 다량의 메시지를 동시에 송수신을 처리하고 관리하여 사용자 시스템의 메시지 처리 작업을 효율적으로 할 수 있습니다.
- 빠른 서비스 처리 : Producer와 Consumer가 서로 독립적으로 동작하여 응답성과 처리 속도를 향상시킬 수 있습니다.
- 메시지 순서 보장 : 수신된 메시지의 순서를 보장하여 데이터의 일관성을 유지합니다.
- 강력한 보안 및 신뢰성 : 메시지 전송 및 저장시 암호화를 통하여 민감한 정보를 보호하고 신뢰성 있는 메시지 관리를 제공합니다.
서비스 구성도
제공 기능
Queue Service는 다음과 같은 기능을 제공하고 있습니다.
- Queue 생성: 메시지 수신 처리 방식에 따라 기본 또는 메시지 순서를 보장되는 FIFO 유형의 Queue를 생성합니다.
- FIFO 유형을 사용하는 경우, Queue Service는 메시지를 수신 시간 순서대로 정렬합니다.
- 메시지 전송: Producer가 Consumer에게 전달할 메시지를 Queue로 전송합니다.
- 메시지 수신: Consumer가 Queue로부터 Producer의 메시지를 수신합니다.
- 메시지 관리: Queue에 저장된 메시지들을 확인하고 관리합니다.
- 메시지 암호화: KMS 서비스와 연동하여 Queue 내의 메시지를 암호화합니다.
- 메시지 암호화 설정을 통해 메시지 노출을 차단할 수 있도록 지원합니다.
구성 요소
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는 선행 서비스가 없습니다.
