애플리케이션과 연동을 위한 API를 손쉽게 관리하고 모니터링 할 수 있으며, 데이터, 소프트웨어, 애플리케이션 등 기업의 자산을 효율적으로 통합 관리합니다.
이 섹션의 다중 페이지 출력 화면임. 여기를 클릭하여 프린트.
Application Service
- 1: API Gateway
- 1.1: Overview
- 1.2: How-to guides
- 1.3: API Reference
- 1.4: CLI Reference
- 1.5: Release Note
- 2: Queue Service
- 2.1: Message API reference
- 2.2: How to guides
- 2.3: Overview
- 2.4: CLI Reference
- 2.5: API Reference
- 2.6: Release Note
1 - API Gateway
1.1 - Overview
서비스 개요
API Gateway는 API를 손쉽게 생성, 관리 및 모니터링 하는 서비스입니다. API와 관련된 리소스와 메서드를 일관적인 형태로 정의하고, 내장된 보안 액세스를 적용할 수 있습니다. 또한, API 이용 현황 및 성능 지표를 쉽고 편리하게 모니터링 할 수 있습니다.
특장점
- 편리한 API 관리: 콘솔을 통해 API 등록 및 관리를 편리하게 수행할 수 있으며, JWT(Json Web Token)을 제공하여 접근 권한 관리가 가능합니다. 또한 SCP Cloud Functions와 연계되어 API Gateway을 통해 Cloud Functions 함수 호출이 가능합니다.
- 안정적인 트래픽 처리: API Gateway는 사용량 계획을 통해 백엔드 시스템 트래픽을 관리할 수 있습니다. 사용량 계획은 시간당(시/일/월) 최대 호출 건수를 설정할 수 있으며, 이를 통해 과도한 트래픽이 인입되는 것을 방지하여 안정적인 서비스 이용이 가능합니다.
- 쉽고 편리한 모니터링: 스테이지별로 다른 배포 버전을 연결한 API 버전 관리 등 다양한 관리 기능들과 API 이용 현황을 파악할 수 있는 대시보드를 제공합니다. 이를 통해 API 호출, 응답 시간 및 오류 발생 수에 대한 성능 지표를 쉽고 빠르게 파악할 수 있습니다.
서비스 구성도
- 개발자(3rd party Developer)는 단일 엔드포인트(API Gateway)를 통해 다양한 백엔드 서비스에 Rest API로 접근할 수 있습니다.
- API Gateway는 해당 요청을 적절한 백엔드 서비스 또는 Cloud Function으로 라우팅할 수 있습니다.
- 인증 및 권한 부여가 필요시, JWT로 사용자를 검증합니다.
- 요청 데이터는 필요에 따라 변환되거나, 여러 서비스의 응답이 API Gateway를 통해 하나로 집계됩니다.
- 트래픽이 많을 때는 로드밸런싱과 속도 제한(rate limiting)을 적용하여 서비스 안정성을 높일 수 있습니다.
- CORS 설정을 통해 웹 클라이언트가 다른 도메인에서 API를 호출할 수 있도록 지원합니다.
- 모든 요청과 응답은 API Gateway서비스에서 로깅 및 모니터링되어 장애 및 이상 징후를 빠르게 감지할 수 있습니다.
- 개발, 테스트, 운영 등 환경별로 스테이지를 분리해 API의 버전을 관리하고 필요한 버전을 활용할 수 있습니다. API 관리, 보안 정책 적용 등을 API Gateway서비스를 통해 중앙에서 일관되게 처리할 수 있습니다.
제공 기능
API Gateway는 다음과 같은 기능을 제공하고 있습니다.
API 관리 및 운영
- 사용자 지정 도메인 이름: API에 사용자 지정 도메인을 연결하여 사용자 고유의 URL 제공
- REST API 생성 및 관리: 리소스와 메서드(GET, POST 등)를 정의하고 인증 방식 설정
- API 버전 및 스테이지 관리: 동일한 API를 여러 버전으로 동시에 운영하며 변경 사항 관리
- 라우팅: URI 경로 또는 요청 헤더를 기반으로 다양한 백엔드 서비스로 요청을 라우팅
- 모니터링 및 로깅: API 성능 모니터링 및 로그 기록 가능(‘25년 12월 제공 예정)
API 보안
- IP ACL 설정: 특정 IP만 접근 가능하도록 제어하여 보안 강화
- Cloud Functions 연동: 서버리스 컴퓨팅과 연동하여 외부 요청에 따라 비즈니스 로직 실행
- CORS 지원: Cross-Origin Resource Sharing(CORS)을 설정하여 다른 도메인의 리소스 접근 허용
구성 요소
API
API는 백엔드 HTTP 엔드포인트, Cloud Functions, 또는 기타 SCP 서비스와 통합된 리소스와 메서드의 집합입니다. API는 실제 서비스의 논리적 인터페이스를 제공하며, 여러 스테이지에 배포되어 다양한 환경(개발, 운영 등)에서 사용할 수 있습니다.
리소스
리소스는 API 내에서 특정 엔드포인트(URI 경로)를 나타내는 논리적 단위입니다. 각 리소스는 트리 구조로 구성될 수 있으며, 여러 HTTP 메서드를 가질 수 있습니다. 예를 들어,
/users
,
/orders
와 같은 경로가 각각의 리소스가 됩니다.
메서드
메서드는 각 리소스에 대해 수행할 수 있는 HTTP 동작(예: GET, POST, PUT, DELETE 등)을 정의합니다. 각 메서드는 특정 백엔드와 통합되어 실제 데이터를 처리하거나 기능을 실행합니다.
스테이지
스테이지는 API 배포의 특정 시점(스냅샷)에 대한 명명된 참조로, 개발(dev), 테스트(test), 운영(prod) 등 API의 수명 주기별 환경을 구분합니다. 각 스테이지는 고유의 URL을 가지며, 캐싱, 로깅, 제한, 스테이지 변수 등 환경별로 별도의 설정이 가능합니다. 스테이지를 통해 환경별 설정, 트래픽 분리 등 다양한 운영 시나리오를 지원합니다.
엔드포인트
엔드포인트는 클라이언트가 API에 접근할 때 사용하는 고유 URL 주소입니다. 각 스테이지별로 별도의 엔드포인트가 생성됩니다.
통합
통합은 API 메서드와 실제 백엔드(HTTP 엔드포인트, Function) 간의 연결 방식을 정의합니다. 요청 및 응답 데이터의 변환, 인증, 매핑 템플릿 등을 통해 백엔드와의 연동을 세밀하게 제어할 수 있습니다.
JWT (Json Web Token)
인증 및 권한 부여를 위해 사용하는 토큰 기반의 웹 표준(RFC 7519)입니다. JWT는 세 부분(Header, Payload, Signature)으로 구성된 JSON 객체를 Base64 URL-safe 방식으로 인코딩하고, 비밀키 또는 공개키로 전자서명하여 위변조를 방지합니다 서버와 클라이언트, 또는 서비스 간에 인증 정보와 권한을 안전하게 주고받을 때 HTTP 헤더에 실어 사용하며, 세션 저장 없이 무상태(Stateless) 인증이 가능합니다.
CORS (Cross-Origin Resource Sharing)
웹 브라우저에서 보안상의 이유로 적용되는 동일 출처 정책(Same-Origin Policy)을 우회해, 서로 다른 출처(프로토콜, 도메인, 포트가 하나라도 다를 때)의 서버 간에 자원 공유를 허용하는 메커니즘입니다. 서버는 HTTP 응답 헤더(예: Access-Control-Allow-Origin 등)를 통해 어떤 출처에서 온 요청을 허용할지 명시하며, 이를 통해 클라이언트(브라우저)가 교차 출처 요청을 안전하게 수행할 수 있도록 합니다. CORS가 제대로 설정되지 않으면 브라우저는 다른 출처의 리소스 요청을 차단하며, 이는 외부 API 호출, 폰트·이미지·동영상 등 다양한 리소스 활용 시 반드시 고려해야 하는 웹 표준 보안 정책입니다.
리전별 제공 현황
API Gateway는 아래의 환경에서 제공 가능합니다.
| 리전 | 제공 여부 |
|---|---|
| 한국 서부1(kr-west1) | 제공 |
| 한국 동부1(kr-east1) | 제공 |
| 한국 남부1(kr-south1) | 미제공 |
| 한국 남부2(kr-south2) | 미제공 |
| 한국 남부3(kr-south3) | 미제공 |
선행 서비스
해당 서비스를 생성하기 전에 선택 사항으로 구성할 수 있는 서비스 목록입니다. 자세한 내용은 각 서비스 별로 제공되는 가이드를 참고하여 사전에 준비해 주세요.
| 서비스 카테고리 | 서비스 | 상세 설명 |
|---|---|---|
| Compute | Cloud Functions | 서버리스 컴퓨팅 환경에서 애플리케이션 코드를 실행하는 서비스
|
1.2 - How-to guides
사용자는 Samsung Cloud Platform Console을 통해 API Gateway 서비스의 필수 정보를 입력하고, 상세 옵션을 선택하여 해당 서비스를 생성할 수 있습니다.
API 생성하기
API는 백엔드 HTTP 엔드포인트, Cloud Functions, 또는 기타 SCP 서비스와 통합된 리소스와 메서드의 집합입니다. API는 실제 서비스의 논리적 인터페이스를 제공하며, 여러 스테이지에 배포되어 다양한 환경(개발, 운영 등)에서 사용할 수 있습니다.
Samsung Cloud Platform Console에서 API를 생성하여 사용할 수 있습니다.
API를 생성하려면 다음 절차를 따르세요.
- 모든 서비스 > Application Service > API Gateway 메뉴를 클릭하세요. API Gateway의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 API 생성 버튼을 클릭하세요. API 생성 페이지로 이동합니다.
- API 생성 페이지에서 서비스 생성에 필요한 정보들을 입력하고, 상세 옵션을 선택하세요.
- 서비스 정보 입력 영역에서 필요한 정보를 선택하세요.
구분 필수 여부상세 설명 API명 필수 API 이름 입력 - 영문 소문자로 시작하며 특수문자(
-)로 끝나지 않도록, 소문자, 숫자와 특수문자(-)를 사용하여 3 ~ 50자로 입력
API 생성 방법 필수 API 생성 방법 선택 - 새로 생성, 기존 API 복제 중에서 선택
복제할 API 필수 API 생성 방법을 기존 API 복제로 선택할 경우, 이미 생성되어 있는 API 중에서 선택 설명 선택 API에 대한 추가 정보나 설명을 50자 이내로 입력 API 엔드포인트 유형 필수 API에 접근할 수 있는 경로 - Region: API가 배포된 리전 내에서 요청 처리
- Private: 다른 VPC에서 프라이빗하게만 API를 요청받을 수 있도록 노출
- Private을 선택하면 JWT 활성화 적용
표. API 서비스 정보 입력 항목 - 영문 소문자로 시작하며 특수문자(
- 서비스 정보 입력 영역에서 필요한 정보를 선택하세요.
- 추가 정보 입력 영역에서 필요한 정보를 입력 또는 선택하세요.
구분 필수 여부상세 설명 태그 선택 태그 추가 - 태그 추가 버튼을 클릭하여 태그를 생성하여 추가하거나 기존 태그 추가 가능
- 최대 50개까지 태그 추가 가능
- 추가된 신규 태그는 서비스 생성 완료 후 적용
표. API 추가 정보 입력 항목
- 요약 패널에서 생성한 상세 정보와 예상 청구 금액을 확인하고, 완료 버튼을 클릭하세요.
- 생성이 완료되면, API 목록 페이지에서 생성한 자원을 확인하세요.
API 상세 정보 확인하기
API 서비스의 전체 자원 목록과 상세 정보를 확인하고 수정할 수 있습니다. API 상세 페이지는 상세 정보, 태그, 작업 이력 탭으로 구성되어 있습니다.
API 서비스의 상세 정보를 확인하려면 다음 절차를 따르세요.
- 모든 서비스 > Application Service > API Gateway 메뉴를 클릭하세요. API Gateway의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 API 메뉴를 클릭하세요. API 목록 페이지로 이동합니다.
- API 목록 페이지에서 상세 정보를 확인할 자원을 클릭하세요. API 상세 페이지로 이동합니다.
- API 상세 페이지에는 상태 정보 및 부가 기능에 대한 정보가 표시되며, 상세 정보, 태그, 작업 이력 탭으로 구성됩니다.
구분 상세 설명 상태 표시 사용자가 생성한 API의 상태 - Creating: API 생성 중
- Active: API 정상 동작
- Deleting: API 삭제 중
- Error: API 내부 에러 발생으로 작업 불가능 상태
서비스 해지 서비스를 해지하는 버튼 표. API 상태 정보 및 부가 기능
- API 상세 페이지에는 상태 정보 및 부가 기능에 대한 정보가 표시되며, 상세 정보, 태그, 작업 이력 탭으로 구성됩니다.
상세 정보
API 상세 페이지에서 선택한 자원의 상세 정보를 확인하고, 필요한 경우 정보를 수정할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 서비스 | 서비스 이름 |
| 자원 유형 | 자원 유형 |
| SRN | Samsung Cloud Platform에서의 고유 자원 ID |
| 자원명 | 자원 이름 |
| 자원 ID | 서비스에서의 고유 자원 ID |
| 생성자 | 서비스를 생성한 사용자 |
| 생성 일시 | 서비스를 생성한 일시 |
| 수정자 | 서비스 정보를 수정한 사용자 |
| 수정 일시 | 서비스 정보를 수정한 일시 |
| API명 | API 이름 |
| API 엔드포인트 유형 | API 엔드포인트 유형 |
| DNS 상태 | DNS 상태
|
| 설명 | API에 대한 추가 정보나 설명 |
연결 관리
연결 관리 페이지에서 API Gateway용 PrivateLink Service에 대한 연결 요청을 관리할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 요청 Endpoint ID | 요청된 엔드포인트 ID |
| 생성 일시 | 서비스를 생성한 일시 |
| 상태 | 자원의 상태 값 |
| 거부 | PrivateLink Service 연결 요청 거부 |
| 승인 | PrivateLink Service 연결 요청 승인 |
| 차단 | 연결된 PrivateLink Endpoint 차단 |
| 재연결 | 차단된 PrivateLink Endpoint 다시 연결 |
- 연결 상태가 Rejected, Error인 경우에는 승인/거부 등 요청이 불가능합니다.
태그
API 상세 페이지에서 선택한 자원의 태그 정보를 확인하고, 추가하거나 변경 또는 삭제할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 태그 목록 | 태그 목록
|
작업 이력
API 상세 페이지에서 선택한 자원의 작업 이력을 확인할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 작업 이력 목록 | 자원 변경 이력
|
PrivateLink 서비스 연계하기
API Gateway 서비스와 PrivateLink 서비스를 연계하여 ‘API Gateway와 VPC’ 또는 ‘API Gateway와 다른 SCP 서비스’를 외부 인터넷 없이 연결할 수 있습니다. 데이터가 내부 네트워크만 이용하게되어 보안성이 높고, 퍼블릭 IP, NAT, VPN, 인터넷 게이트웨이 등이 필요하지 않습니다.
API Gateway서비스용 PrivateLink 서비스 생성하기
API 생성 시 엔드포인트 유형을 Private으로 선택하세요. API를 다른 VPC나 서비스에서 프라이빗하게 접근할 수 있도록 노출시킬 수 있습니다.
- Private Endpoint의 대상으로 지정하여 내부 네트워크를 이용할 수 있습니다. 사용자 VPC의 PrivateLink Endpoint 생성 방법은 PrivateLink Endpoint 생성하기를 참고하세요.
- API Gateway용 PrivateLink Service에 대한 연결 관리는 API 상세 정보 확인하기 > 연결 관리를 참고하세요.
PrivateLink Endpoint 생성하기
다른 PrivateLink에 접근하기 위한 Entry Point를 API Gateway 서비스에서 활용하기 위해 생성할 수 있습니다.
PrivateLink Endpoint를 생성하려면 다음 절차를 따르세요.
모든 서비스 > Application Service > API Gateway 메뉴를 클릭하세요. API Gateway의 Service Home 페이지로 이동합니다.
Service Home 페이지에서 PrivateLink Endpoint 메뉴를 클릭하세요. PrivateLink Endpoint 목록 페이지로 이동합니다.
PrivateLink Endpoint 목록 페이지에서 PrivateLink Endpoint 생성 버튼을 클릭하세요. PrivateLink Endpoint 생성 페이지로 이동합니다.
- 필요한 정보를 입력 또는 선택하세요.
구분 필수 여부상세 설명 PrivateLink Endpoint명 필수 PrivateLink Endpoint 이름 입력 - 영문과 숫자를 사용하여 3 ~ 20자로 입력
설명 선택 추가 정보나 설명을 50자 이내로 입력 PrivateLink Service ID 필수 연결할 PrivateLink Service의 ID 입력 - PrivateLink Service 제공자에게 사전에 Service ID를 확인하고, Endpoint 생성 이후에는 Endpoint ID를 제공자에게 전달
- 영문과 숫자를 사용하여 3 ~ 60자로 입력
표. PrivateLink Endpoint 생성 정보 입력 항목
- 필요한 정보를 입력 또는 선택하세요.
정보 입력 또는 선택이 완료되면 확인 버튼을 클릭하세요.
알림 팝업창에서 메시지를 확인한 후, 확인 버튼을 클릭하세요.
- 생성이 완료되면, PrivateLink Endpoint 목록에서 생성한 자원을 확인하세요.
- PrivateLink Endpoint 목록을 삭제하려면, 목록에서 삭제할 자원을 선택한 후 삭제 버튼을 클릭하세요.
- PrivateLink를 통해 서비스 제공자에게 연결을 요청하려면, 승인 절차를 거쳐야 합니다.
- 서비스 연결을 신청할 때는 연결 대상인 PrivateLink Service ID를 사전에 확인해야 합니다.
- 서비스 신청 전에 서비스 제공자와의 사용 협의가 완료되어야 합니다.
- 사용자가 PrivateLink Endpoint를 생성한 후, 해당 Endpoint ID를 서비스 제공자에게 전달해야 합니다. 서비스 제공자는 사용자의 Endpoint ID를 확인하고 빠르게 사용 승인을 진행할 수 있습니다.
PrivateLink Endpoint 상세 정보 확인하기
PrivateLink Endpoint의 전체 자원 목록과 상세 정보를 확인하고 수정할 수 있습니다. PrivateLink Endpoint 상세 페이지는 상세 정보와 작업 이력 탭으로 구성되어 있습니다.
API 서비스의 상세 정보를 확인하려면 다음 절차를 따르세요.
- 모든 서비스 > Application Service > API Gateway 메뉴를 클릭하세요. API Gateway의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 PrivateLink Endpoint 메뉴를 클릭하세요. PrivateLink Endpoint 목록 페이지로 이동합니다.
- PrivateLink Endpoint 목록 페이지에서 상세 정보를 확인할 자원을 클릭하세요. PrivateLink Endpoint 상세 페이지로 이동합니다.
- PrivateLink Endpoint 상세 페이지에는 상태 정보 및 부가 기능에 대한 정보가 표시되며, 상세 정보와 작업 이력 탭으로 구성됩니다.
구분 상세 설명 상태 표시 PrivateLink Endpoint의 상태 - Requesting: 연결 요청/승인 대기 중, 요청 취소 버튼 표시됨
- Active: 생성 완료, 작동 중
- Creating: 생성 중
- Deleting: 삭제 중
- Disconnected: 연결 차단
- Rejected: 연결 거부, 승인 재요청 버튼 표시됨
- Error: 오류 발생
- Canceled: 연결 요청이 취소됨, 승인 재요청 버튼 표시됨
요청 취소 연결 취소 요청 승인 재요청 연결 요청이 취소된 상태에서 연결 재요청 표. PrivateLink Endpoint 상태 정보 및 부가 기능
- PrivateLink Endpoint 상세 페이지에는 상태 정보 및 부가 기능에 대한 정보가 표시되며, 상세 정보와 작업 이력 탭으로 구성됩니다.
상세 정보
PrivateLink Endpoint 상세 페이지에서 선택한 자원의 상세 정보를 확인할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 서비스 | 서비스 이름 |
| 자원 유형 | 자원 유형 |
| SRN | Samsung Cloud Platform에서의 고유 자원 ID |
| 자원명 | 자원 이름 |
| 자원 ID | 서비스에서의 고유 자원 ID |
| 생성자 | 서비스를 생성한 사용자 |
| 생성 일시 | 서비스를 생성한 일시 |
| 수정자 | 서비스 정보를 수정한 사용자 |
| 수정 일시 | 서비스 정보를 수정한 일시 |
| PrivateLink Endpoint명 | PrivateLink Endpoint 이름 |
| PrivateLink Endpoint ID | PrivateLink Endpoint ID |
| PrivateLink Service ID | 연결된 PrivateLink Service ID |
| API 엔드포인트 유형 | API 엔드포인트 유형 |
| 설명 | PrivateLink Endpoint에 대한 추가 정보나 설명 |
작업 이력
PrivateLink Endpoint 상세 페이지에서 선택한 자원의 작업 이력을 확인할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 작업 이력 목록 | 자원 변경 이력
|
리소스 생성하기
리소스는 API 내에서 특정 엔드포인트(URI 경로)를 나타내는 논리적 단위입니다. 각 리소스는 트리 구조로 구성될 수 있으며, 여러 HTTP 메서드를 가질 수 있습니다.
리소스를 생성하려면 다음 절차를 따르세요.
모든 서비스 > Application Service > API Gateway 메뉴를 클릭하세요. API Gateway의 Service Home 페이지로 이동합니다.
Service Home 페이지에서 API Gateway > 리소스 메뉴를 클릭하세요. 리소스 페이지로 이동합니다.
리소스 페이지에서 리소스 생성 버튼을 클릭하세요. 리소스 생성 팝업창으로 이동합니다.
- 필요한 정보를 입력 또는 선택하세요.
구분 필수 여부상세 설명 리소스명 필수 리소스 이름 입력 - 영문 소문자로 시작하며 소문자, 숫자와 특수문자(
-{})를 사용하여 3 ~ 50자로 입력
- 중괄호를 사용하는 경우,
{문자}형식만 허용되며 비워둘 수 없음
리소스 경로 필수 리소스 메뉴트리에서 선택한 경로 선택 표. 리소스 생성 정보 입력 항목 - 영문 소문자로 시작하며 소문자, 숫자와 특수문자(
- 필요한 정보를 입력 또는 선택하세요.
정보 입력과 선택이 완료되면 확인 버튼을 클릭하세요.
알림 팝업창에서 메시지를 확인한 후, 확인 버튼을 클릭하세요.
- 생성이 완료되면, 리소스 목록에서 생성한 자원을 확인하세요.
- 리소스를 삭제하려면, 목록에서 삭제할 자원을 선택한 후 삭제 버튼을 클릭하세요.
- 리소스는 최대 300개 생성 가능합니다.
- 리소스의 depth는 Root를 포함하여 30개까지입니다.
메서드 생성하기
메서드는 각 리소스에 대해 수행할 수 있는 HTTP 동작(예: GET, POST, PUT, DELETE 등)을 정의합니다. 각 메서드는 특정 백엔드와 통합되어 실제 데이터를 처리하거나 기능을 실행합니다.
메서드를 생성하려면 다음 절차를 따르세요.
모든 서비스 > Application Service > API Gateway 메뉴를 클릭하세요. API Gateway의 Service Home 페이지로 이동합니다.
Service Home 페이지에서 API Gateway > 리소스 메뉴를 클릭하세요. 리소스 페이지로 이동합니다.
리소스 페이지에서 메서드 생성 버튼을 클릭하세요. 메서드 생성 팝업창으로 이동합니다.
- 필요한 정보를 입력 또는 선택하세요.
구분 필수 여부상세 설명 메서드 유형 필수 메서드 유형 선택 - 기 생성된 값은 목록에 표시되지 않습니다.
- ANY를 선택하면 모든 유형의 메서드가 생성됨
통합 유형 필수 엔드포인트 유형 선택 - HTTP, Cloud Function, PrivateLink 중에서 선택
엔드포인트 URL 필수 HTTP 유형을 선택한 경우 엔드포인트 URL 입력 - 엔드포인트는 클라이언트가 API에 접근할 때 사용하는 고유 URL. 각 스테이지별로 별도의 엔드포인트 생성. Regional, Edge-Optimized, Private 등의 다양한 유형
- http:// 또는 https://로 시작하는 유효한 URL이어야 하며, 영문과 특수문자(
$-_.+!*’:(){}/)를 사용하여 500자 이내로 입력
엔드포인트 필수 Cloud Function 유형을 선택한 경우 엔드포인트 선택 - 리전은 현재의 리전으로 제공되며 변경 불가
URL 쿼리 문자열 파라미터 선택 사용에 체크한 후, 이름을 입력 - 영문, 숫자, 특수문자(
_)를 사용하여 입력
HTTP 요청 헤더 선택 사용에 체크한 후, 이름을 입력 - 영문, 숫자, 특수문자(
-)를 사용하여 입력
API Key 사용여부 선택 사용량 정책을 통해 사용량을 제한하려면 사용에 체크 표. 메서드 생성 정보 입력 항목
- 필요한 정보를 입력 또는 선택하세요.
정보 입력과 선택이 완료되면 저장 버튼을 클릭하세요.
알림 팝업창에서 메시지를 확인한 후, 확인 버튼을 클릭하세요.
- 생성이 완료되면, 메서드 목록에서 생성한 자원을 확인하세요.
- 메서드를 삭제하려면, 목록에서 삭제할 자원을 선택한 후 삭제 버튼을 클릭하세요.
메서드는 종류별 각각 1개씩, 최대 7개까지 생성 가능합니다. Any로 생성시, 모든 종류의 메서드를 생성합니다.
| 구분 | 상세 설명 |
|---|---|
| 서비스 | 서비스명 |
| GET | 리소스 조회(읽기) |
| POST | 리소스 생성(등록) |
| PUT | 리소스 전체 수정(갱신) |
| PATCH | 리소스의 일부만 부분적으로 수정 |
| DELETE | 리소스 삭제 |
| OPTIONS | 해당 엔드포인트에서 지원하는 HTTP 메서드 목록 조회 |
| HEAD | 본문 없이 헤더만 조회(응답 바디 없이 메타데이터만 반환) |
API 배포하기
개발 중인 API를 실제 서비스 환경에 반영하려면 반드시 API 배포가 필요합니다.
생성된 API를 배포하려면 다음 절차를 따르세요.
모든 서비스 > Application Service > API Gateway 메뉴를 클릭하세요. API Gateway의 Service Home 페이지로 이동합니다.
Service Home 페이지에서 API Gateway > 리소스 메뉴를 클릭하세요. 리소스 페이지로 이동합니다.
리소스 페이지에서 API 배포 버튼을 클릭하세요. API 배포 팝업창으로 이동합니다.
- 필요한 정보를 입력 또는 선택하세요.
구분 필수 여부상세 설명 스테이지 필수 API를 배포할 스테이지 선택 - New Stage: 신규 스테이지를 생성하여 배포
- None Stage: 스테이지를 선택하지 않고 배포
스테이지명 필수 New Stage를 선택한 경우 신규 스테이지 이름 입력 - 영문 소문자로 시작하며 특수문자(
-)로 끝나지 않도록, 소문자, 숫자와 특수문자(-)를 사용하여 3 ~ 30자로 입력
배포 설명 선택 API 배포에 대한 추가 정보나 설명을 50자 이내로 입력 표. API 배포 정보 입력 항목
- 필요한 정보를 입력 또는 선택하세요.
정보 입력과 선택이 완료되면 배포 버튼을 클릭하세요.
알림 팝업창에서 메시지를 확인한 후, 확인 버튼을 클릭하세요.
스테이지 생성하기
스테이지는 API 배포의 특정 시점(스냅샷)에 대한 명명된 참조로, 개발(dev), 테스트(test), 운영(prod) 등 API의 수명 주기별 환경을 구분합니다. 각 스테이지는 고유의 URL을 가지며, 캐싱, 로깅, 제한, 스테이지 변수 등 환경별로 별도의 설정이 가능합니다. 스테이지를 통해 Canary 릴리스, 환경별 설정, 트래픽 분리 등 다양한 운영 시나리오를 지원합니다.
API를 배포할 스테이지를 생성하려면 다음 절차를 따르세요.
모든 서비스 > Application Service > API Gateway 메뉴를 클릭하세요. API Gateway의 Service Home 페이지로 이동합니다.
Service Home 페이지에서 API Gateway > 스테이지 메뉴를 클릭하세요. 스테이지 페이지로 이동합니다.
스테이지 페이지에서 스테이지 생성 버튼을 클릭하세요. 스테이지 생성 팝업창으로 이동합니다.
- 필요한 정보를 입력 또는 선택하세요.
구분 필수 여부상세 설명 스테이지명 필수 New Stage를 선택한 경우 신규 스테이지 이름 입력 - 영문 소문자로 시작하며 특수문자(
-)로 끝나지 않도록, 소문자, 숫자와 특수문자(-)를 사용하여 3 ~ 50자로 입력
스테이지 설명 선택 스테이지에 대한 추가 정보나 설명을 100자 이내로 입력 API 배포 버전 필수 배포할 API 버전 선택 - 영문 소문자로 시작하며 특수문자(
-)로 끝나지 않도록, 소문자, 숫자와 특수문자(-)를 사용하여 3 ~ 50자로 입력
표. 스테이지 생성 정보 입력 항목 - 영문 소문자로 시작하며 특수문자(
- 필요한 정보를 입력 또는 선택하세요.
정보 입력과 선택이 완료되면 확인 버튼을 클릭하세요.
알림 팝업창에서 메시지를 확인한 후, 확인 버튼을 클릭하세요.
- 생성이 완료되면, 스테이지 목록에서 생성한 자원을 확인하세요.
스테이지 상세 정보 확인하기
스테이지 목록과 상세 정보를 확인하고 수정할 수 있습니다. 상세 페이지는 스테이지 상세 정보와 API 배포 버전 관리, CORS, 사용량 정책 탭으로 구성되어 있습니다.
스테이지의 상세 정보를 확인하려면 다음 절차를 따르세요.
- 모든 서비스 > Application Service > API Gateway 메뉴를 클릭하세요. API Gateway의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 API Gateway > 스테이지 메뉴를 클릭하세요. 스테이지 페이지로 이동합니다.
- 스테이지 목록에서 상세 정보를 확인할 자원을 클릭하세요.
- 스테이지 상세에는 상태 정보 및 부가 기능에 대한 정보가 표시되며, API 배포 버전 관리, CORS, 사용량 정책 탭으로 구성됩니다.
- 스테이지를 삭제하려면, 목록에서 삭제할 자원을 선택한 후 삭제 버튼을 클릭하세요.
- 스테이지를 수정하려면, 목록에서 수정할 자원을 선택한 후 수정 버튼을 클릭하세요.
스테이지 상세
스테이지 상세 페이지에서 선택한 자원의 상세 정보를 확인할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 스테이지명 | 스테이지 이름 |
| CORS | CORS 동작 상태 |
| 스테이지 설명 | 스테이지 정보 |
| JWT | JSON Web Token 사용 상태 |
| API Key | API Key 사용 여부 |
| Invoke URL | API 호출을 위한 URL |
| 활성화 일시 | 스테이지 활성화 일시 |
| 배포 ID | API 배포 ID |
API 배포 버전 관리
API 배포 버전 관리 탭에서 API 배포 이력을 확인할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| API 배포 버전 관리 목록 | API 배포 이력
|
| 배포 변경 | 목록에서 배포 변경할 자원을 선택한 후, 배포 변경 버튼을 클릭하세요. 알림 팝업창에서 확인 버튼을 클릭하면 활성화된 배포 ID가 즉시 업데이트됩니다. |
CORS (Cross-Origin Resource Sharing)
CORS 탭에서 CORS 목록을 확인할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 이름 | CORS 이름 |
| Mapping Value | CORS에 적용된 매핑값 |
사용량 정책
사용량 정책 탭에서 스테이지에 연결된 사용량 정책을 확인할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| 사용량 정책명 | 사용량 정책 이름 |
| 사용량 정책 ID | 사용량 정책 ID |
| 할당량 | 사용량 정책에 설정된 할당량 |
| 연결된 API Key명 | 사용량 정책에 연결된 API Key 이름 |
- API 호출시, ‘x-scp-apikey’ 헤더에 스테이지에 연결된 API Key의 Key값으로 호출해야 합니다.
- 사용량 정책은 스테이지 단위로 연결되지만, 할당량은 API Key 사용에 체크된 메서드별로 계산됩니다.
인증 생성하기
JWT(JSON Web Token)는 사용자 인증을 위해 사용되는 개방형 표준(RFC 7519)입니다. JWT는 JSON 형식을 이용하여 사용자에 대한 정보를 암호화된 토큰으로 저장하는 클레임 기반의 웹 토큰입니다.
JWT를 생성하려면 다음 절차를 따르세요.
모든 서비스 > Application Service > API Gateway 메뉴를 클릭하세요. API Gateway의 Service Home 페이지로 이동합니다.
Service Home 페이지에서 API Gateway > 인증 메뉴를 클릭하세요. 인증 목록 페이지로 이동합니다.
인증 목록 페이지에서 JSON Web Token 생성 버튼을 클릭하세요. JSON Web Token 생성 팝업창으로 이동합니다.
- 필요한 정보를 입력 또는 선택하세요.
구분 필수 여부상세 설명 JWT명 필수 토큰 이름 입력 - 영문 소문자로 시작하며 특수문자(
-)로 끝나지 않도록, 소문자, 숫자와 특수문자(-)를 사용하여 3 ~ 50자로 입력
연결할 스테이지 선택 사용에 체크한 후, 스테이지 선택 표. 인증 생성 정보 입력 항목 - 영문 소문자로 시작하며 특수문자(
- 필요한 정보를 입력 또는 선택하세요.
정보 입력과 선택이 완료되면 확인 버튼을 클릭하세요.
알림 팝업창에서 메시지를 확인한 후, 확인 버튼을 클릭하세요. Access Token 알림 팝업창으로 이동합니다.
- 토큰은 Access Token 알림 팝업창에서만 확인할 수 있습니다. 필요한 경우, Access Token 파일을 다운로드하세요.
Access Token 알림 팝업창에서 메시지를 확인한 후, 확인 버튼을 클릭하세요.
- 생성이 완료되면, 인증 목록에서 생성한 자원을 확인하세요.
- 토큰을 삭제하려면, 목록에서 삭제할 자원을 선택한 후 삭제 버튼을 클릭하세요.
- 토큰을 수정하려면, 수정하려는 자원의 컨텍스트 메뉴에서 수정을 선택하세요.
접근 제어 생성하기
API 호출 시 특정 IP에서만 호출되도록 접근 허용 IP를 추가할 수 있습니다.
- 스테이지는 하나의 접근 제어와 연결됩니다. 스테이지 최초 생성시 기본으로 Default 접근제어가 적용되어 모든 IP에 대한 접근을 차단합니다(All deny). 새로운 접근 제어를 생성하고, 스테이지에 연결하시면 특정 IP에서만 호출되도록 구성할 수 있습니다.
- 다음의 경우 접근 제어 생성을 할 수 없습니다.
- 사용 가능한 서비스 할당량 한도를 초과한 경우: Quota Service에서 현재 할당 값과 추가 가능한 값을 확인하세요.
- 사용 가능한 API가 없는 경우: API를 우선 생성하세요.
- API 엔드포인트 유형이 Private인 경우: 접근 제어가 지원되지 않지만, 해당 API의 스테이지에 JWT 활성이 필수로 적용됩니다.
접근 제어를 생성하려면 다음 절차를 따르세요.
모든 서비스 > Application Service > API Gateway 메뉴를 클릭하세요. API Gateway의 Service Home 페이지로 이동합니다.
Service Home 페이지에서 API Gateway > 접근 제어 메뉴를 클릭하세요. 접근 제어 목록 페이지로 이동합니다.
접근 제어 목록 페이지에서 접근 제어 생성 버튼을 클릭하세요. 접근 제어 생성 팝업창으로 이동합니다.
- 필요한 정보를 입력 또는 선택하세요.
구분 필수 여부상세 설명 접근 제어명 필수 접근 제어 이름 입력 - 영문 소문자로 시작하며 특수문자(
-)로 끝나지 않도록, 소문자, 숫자와 특수문자(-)를 사용하여 3 ~ 50자로 입력
Public 접근 허용 IP 필수 접근을 허용할 IP 입력 - ’,‘을 사용하여 최대 100개까지 입력 가능
연결할 스테이지 선택 사용에 체크한 후, 스테이지 선택 설명 선택 접근 제어에 대한 추가 정보나 설명을 50자 이내로 입력 표. 접근 제어 생성 정보 입력 항목 - 영문 소문자로 시작하며 특수문자(
- 필요한 정보를 입력 또는 선택하세요.
정보 입력과 선택이 완료되면 확인 버튼을 클릭하세요.
알림 팝업창에서 메시지를 확인한 후, 확인 버튼을 클릭하세요.
- 생성이 완료되면, 접근 제어 목록에서 생성한 자원을 확인하세요.
- 접근 제어 목록을 삭제하려면, 목록에서 삭제할 자원을 선택한 후 삭제 버튼을 클릭하세요. Default 접근 제어는 삭제할 수 없습니다.
- 접근 제어를 수정하려면, 수정하려는 자원의 컨텍스트 메뉴에서 수정을 선택하세요.
API 해지하기
사용하지 않는 해당 서비스를 해지하여 운영 비용을 절감할 수 있습니다. 단, 서비스를 해지하면 운영 중인 서비스가 즉시 중단될 수 있으므로 서비스 중단 시 발생하는 영향을 충분히 고려한 후 해지 작업을 진행해야 합니다.
API를 해지하려면 다음 절차를 따르세요.
- 모든 서비스 > Application Service > API Gateway 메뉴를 클릭하세요. API Gateway의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 API 메뉴를 클릭하세요. API 목록 페이지로 이동합니다.
- API 목록 페이지에서 해지할 자원을 선택하고, 서비스 해지 버튼을 클릭하세요.
- 해지가 완료되면, API 목록 페이지에서 자원이 해지되었는지 확인하세요.
Report 사용하기
API 트래픽, 성능, 오류 현황을 확인할 수 있습니다.
Report를 사용하려면 다음 절차를 따르세요.
- 모든 서비스 > Application Service > API Gateway 메뉴를 클릭하세요. API Gateway의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 API Gateway > Report 메뉴를 클릭하세요. Report 페이지로 이동합니다.
- 필요한 정보를 입력 또는 선택하세요.
| 구분 | 상세 설명 |
|---|---|
| 조회기간 | 조회할 날짜 선택 (현재 날짜로부터 기본 1주, 최대 한달 조회 가능) |
| 스테이지명 | API 하위의 스테이지 이름 |
- 정보 입력과 선택이 완료되면 Report 정보를 확인할 수 있습니다.
| 구분 | 상세 설명 |
|---|---|
| TOP 리소스 5 | 사용자가 호출한 리소스 중, API 상태코드가 2XX이며 가장 많이 호출한 상위 5개 (동일의 경우, 중복 순위로 나타내지 않음) |
| API 호출 횟수 | API 상태코드가 2XX인 호출 건수 |
| Latency | 사용자가 API Gateway에 요청을 보낸 시점부터 응답을 받을때까지 걸리는 시간 |
| Integration Latency | API Gateway가 백엔드 서버로 요청을 보낸 시점부터 백엔드에서 응답을 받을때까지 걸리는 시간 |
| 4XX Error | API 상태코드가 4XX인 호출 건수 |
| 5XX Error | API 상태코드가 5XX인 호출 건수 |
- 스테이지가 삭제되면 Report에서 조회할 수 없습니다.
- Report는 현재 시점으로부터 1시간 전 데이터가 조회됩니다.
사용량 정책 생성하기
사용량 정책은 서버 리소스의 효율적 분배, 서비스 안정성 확보, 불필요한 트래픽 방지 및 오용 방지를 위해 제정됩니다.
사용량 정책을 생성하려면 다음 절차를 따르세요.
- 모든 서비스 > Application Service > API Gateway 메뉴를 클릭하세요. API Gateway의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 API Gateway > 사용량 정책 메뉴를 클릭하세요. 사용량 정책 페이지로 이동합니다.
- 사용량 정책 페이지에서 사용량 정책 생성 버튼을 클릭하세요. 사용량 정책 생성 페이지로 이동합니다.
- 필요한 정보를 입력 또는 선택하세요.
| 구분 | 필수 여부 | 상세 설명 |
|---|---|---|
| 연결할 API명 | 필수 | 생성된 AIP 중에서 선택 |
| 사용량 정책명 | 필수 | 영문 소문자로 시작하며 특수문자(-)로 끝나지 않도록, 소문자, 숫자와 특수문자(-)를 사용하여 3 ~ 50자로 입력 |
| 할당량 | 필수 | 매월/매일/매시 기준 1 ~ 2,000,000,000 사이 입력 |
| 설명 | 선택 | 사용량 정책에 대한 설명을 50자 이내로 입력 |
- 정보 입력과 선택이 완료되면 완료 버튼을 클릭하세요.
- 알림 팝업창에서 메시지를 확인한 후, 확인 버튼을 클릭하세요.
- 생성이 완료되면, 사용량 정책 목록에서 생성한 자원을 확인하세요.
API Key 생성하기
API Key는 어떤 사용자나 앱이 API를 호출하고 있는지 식별하는 데 사용됩니다. 사용량 정책에 의해 사용량을 제한하기 위해 주로 활용됩니다.
API Key를 생성하려면 다음 절차를 따르세요.
- 모든 서비스 > Application Service > API Gateway 메뉴를 클릭하세요. API Gateway의 Service Home 페이지로 이동합니다.
- Service Home 페이지에서 API Gateway > 사용량 정책 메뉴를 클릭하세요. 사용량 정책 페이지로 이동합니다.
- 목록에서 사용량 정책을 클릭하세요. 사용량 정책 상세 페이지로 이동합니다.
- 사용량 정책 상세 페이지에서 API Key 생성 버튼을 클릭하세요. API Key 추가 팝업창으로 이동합니다.
- 필요한 정보를 입력 또는 선택하세요.
| 구분 | 필수 여부 | 상세 설명 |
|---|---|---|
| API Key명 | 필수 | 영문 소문자로 시작하며 특수문자(-)로 끝나지 않도록, 소문자, 숫자와 특수문자(-)를 사용하여 3 ~ 50자로 입력 |
| 설명 | 선택 | API Key에에 대한 설명을 50자 이내로 입력 |
- 정보 입력과 선택이 완료되면 확인 버튼을 클릭하세요.
- 알림 팝업창에서 메시지를 확인한 후, 확인 버튼을 클릭하세요.
- 생성이 완료되면, 사용량 정책 상세 페이지에서 생성한 자원을 확인하세요.
- 사용량 정책은 10개, API Key는 5개 생성 가능합니다.
- 할당량은 API Key별로 계산됩니다.
1.3 - API Reference
1.4 - CLI Reference
1.5 - Release Note
API Gateway
- API를 손쉽게 관리 및 모니터링할 수 있는 API Gateway 서비스가 출시되었습니다.
- API와 관련된 리소스와 메소드를 간편하게 정의하고, API 이용 현황 및 성능 지표를 쉽고 편리하게 모니터링할 수 있습니다.
2 - Queue Service
2.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.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의 등록 여부를 확인하십시오.
2.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는 선행 서비스가 없습니다.

