BTP Service Catalog이란
SAP BTP의 Service Catalog는 사용 가능한 모든 BTP 서비스 목록입니다. XSUAA, HANA, Destination, Connectivity 등 수백 가지 서비스를 여기서 찾아 인스턴스를 생성합니다. BTP Cockpit UI, CF CLI, mta.yaml, Kubernetes Helm 차트 등 다양한 방법으로 서비스 인스턴스를 생성할 수 있습니다.
CF CLI로 서비스 인스턴스 생성
# 사용 가능한 서비스 목록 확인
cf marketplace
# 특정 서비스 플랜 확인
cf marketplace -e xsuaa
# 결과: application, apiaccess, broker, space 플랜
# XSUAA 서비스 인스턴스 생성
cf create-service xsuaa application my-app-xsuaa -c '{"xsappname":"my-salesapp","tenant-mode":"dedicated"}'
# HANA HDI Container 생성
cf create-service hana hdi-shared my-app-hana
# Destination 서비스 생성
cf create-service destination lite my-app-destination
# 생성된 서비스 인스턴스 확인
cf services
# 서비스 인스턴스 상태 확인
cf service my-app-xsuaa
xs-security.json으로 XSUAA 인스턴스 구성
{
"xsappname": "my-salesapp",
"tenant-mode": "dedicated",
"description": "Sales Application Security",
"scopes": [
{
"name": "$XSAPPNAME.SalesOrder.Read",
"description": "주문 조회 권한"
},
{
"name": "$XSAPPNAME.SalesOrder.Write",
"description": "주문 생성/수정 권한"
},
{
"name": "$XSAPPNAME.Admin",
"description": "관리자 권한"
}
],
"role-templates": [
{
"name": "SalesViewer",
"description": "주문 조회 전용",
"scope-references": ["$XSAPPNAME.SalesOrder.Read"]
},
{
"name": "SalesManager",
"description": "주문 전체 관리",
"scope-references": [
"$XSAPPNAME.SalesOrder.Read",
"$XSAPPNAME.SalesOrder.Write"
]
}
],
"oauth2-configuration": {
"token-validity": 43200,
"refresh-token-validity": 604800
}
}
# xs-security.json을 참조하여 XSUAA 생성
cf create-service xsuaa application my-app-xsuaa -c xs-security.json
앱에 서비스 바인딩
# 앱에 서비스 바인딩
cf bind-service my-salesapp-srv my-app-xsuaa
cf bind-service my-salesapp-srv my-app-hana
cf bind-service my-salesapp-srv my-app-destination
# 바인딩 후 앱 재시작 (환경 변수 적용)
cf restart my-salesapp-srv
# VCAP_SERVICES 환경 변수 확인
cf env my-salesapp-srv | grep VCAP_SERVICES
Service Key로 로컬 개발에서 BTP 서비스 접근
# Service Key 생성 (로컬 개발용 credentials)
cf create-service-key my-app-xsuaa local-dev-key
# Service Key 내용 확인 (clientid, clientsecret, url 포함)
cf service-key my-app-xsuaa local-dev-key
# 로컬 .env 파일에 추가
# VCAP_SERVICES={"xsuaa":[{"credentials":{...from service-key...}}]}
BTP Cockpit에서 인스턴스 생성 (UI 방식)
# BTP Cockpit 순서:
# 1. 서브어카운트 선택
# 2. Cloud Foundry → Spaces → 스페이스 선택
# 3. Services → Service Marketplace
# 4. 서비스 검색 (예: "xsuaa")
# 5. Create → 플랜 선택 → 인스턴스 이름 입력 → JSON 파라미터 입력
# 6. Create 버튼 클릭
# 인스턴스 생성 확인:
# Services → Service Instances 에서 상태 확인
Kubernetes/Kyma에서 서비스 인스턴스 생성
apiVersion: services.cloud.sap.com/v1
kind: ServiceInstance
metadata:
name: my-xsuaa-instance
namespace: my-namespace
spec:
serviceOfferingName: xsuaa
servicePlanName: application
parameters:
xsappname: my-kyma-app
tenant-mode: dedicated
---
apiVersion: services.cloud.sap.com/v1
kind: ServiceBinding
metadata:
name: my-xsuaa-binding
namespace: my-namespace
spec:
serviceInstanceName: my-xsuaa-instance
secretName: xsuaa-credentials
# Kyma에 배포
kubectl apply -f xsuaa-instance.yaml
kubectl get servicebinding my-xsuaa-binding
kubectl get secret xsuaa-credentials -o json
서비스 인스턴스 업데이트와 삭제
# 서비스 인스턴스 파라미터 업데이트
cf update-service my-app-xsuaa -c '{"token-validity": 86400}'
# 바인딩 해제 후 삭제
cf unbind-service my-salesapp-srv my-app-xsuaa
cf delete-service my-app-xsuaa
# 삭제 전 의존 관계 확인
cf service my-app-xsuaa
공식 문서
BTP 서비스 카탈로그와 인스턴스 관리는 SAP BTP Cloud Foundry 서비스 인스턴스 가이드에서 확인하세요.
댓글 0
아직 댓글이 없습니다.