BTP

BTP Service Catalog으로 인스턴스 만드는 법? #shorts #SAP #BTP

▶ YouTube에서 보기

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

아직 댓글이 없습니다.