다음 안내는 Google Cloud 용 공개 서비스 브로커 (Google Cloud 서비스 브로커)를 사용하여 Google Cloud서비스를 SAP 비즈니스 기술 플랫폼(SAP BTP)의 Cloud Foundry 환경에 통합하는 방법을 보여줍니다.
Google Cloud 서비스 브로커는 SAP BTP의 Cloud Foundry 환경에서 실행되는 애플리케이션에 대한Google Cloud 서비스 제공을 간소화합니다. Google CloudGoogle Cloud 서비스 브로커는 리소스를 만들고 해당 권한을 관리하여 Google CloudGoogle Cloud SAP BTP 애플리케이션 환경에서 서비스를 쉽게 사용할 수 있게 해줍니다.
다음 다이어그램은 몇 가지 예시Google Cloud 서비스의 설정 단계를 대략적으로 보여줍니다.
핵심 솔루션 구성요소
다음 구성요소는 Cloud Foundry용 SAP BTP에서Google Cloud 서비스 브로커를 설정하는 데 필요합니다.
서비스 | 사용 사례 |
---|---|
Google Cloud용 공개 서비스 브로커 | SAP BTP Cloud Foundry 환경에 Google Cloud 서비스 통합 |
MySQL용 Cloud SQL | 서비스 브로커의 백엔드 스토리지용 데이터베이스 Google Cloud |
SAP BTP 계정 | 선택한 Google Cloud 리전에 SAP BTP Cloud Foundry 환경 제공 |
Google Cloud 프로젝트 | Google Cloud 서비스 제공 |
Cloud Foundry CLI | Cloud Foundry 구성용 명령줄 인터페이스 |
비용
서비스 브로커와 함께 사용하도록 권장되는 Cloud SQL은 청구 가능한 구성요소입니다. Google Cloud Google Cloud
해당 API를 통해 사용한 Google Cloud 서비스도 청구 가능합니다.
가격 계산기를 사용하여 예상 사용량을 토대로 예상 비용을 산출합니다.
기본 요건
SAP BTP에서 Cloud Foundry 환경을 설정하려면 먼저 로컬 개발 환경을 설정하고 Google Cloud에서 프로젝트를 만들어야 합니다.
개발 환경 설정
- SAP 포털 문서에 따라 개발 워크스테이션에 Cloud Foundry 명령줄 인터페이스(CLI)를 설치합니다.
프로젝트 설정 Google Cloud
결제가 사용 설정된 Google Cloud 프로젝트가 없는 경우 프로젝트를 만들어야 합니다.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
Google Cloud 환경 설정
특정 Google Cloud API의 사용 설정, Google Cloud 서비스 계정,Google Cloud 서비스 브로커용 데이터베이스가 필요합니다.
필요한 Google Cloud API 사용 설정
API 관리자 > 라이브러리에 다음 API를 사용 설정합니다.
- Cloud Resource Manager API를 사용 설정합니다.
- Identity and Access Management API를 사용 설정합니다.
- Cloud SQL Admin API를 사용 설정합니다.
- 필요한 다른 모든 지원되는 Google Cloud 서비스의 API를 사용 설정합니다.
루트 서비스 계정 만들기
Google Cloud Console에서 서비스 계정 페이지로 이동합니다.
Google Cloud 프로젝트를 선택합니다.
서비스 계정 만들기를 클릭합니다.
서비스 계정 이름 필드에 이름을 입력합니다.
만들고 계속하기를 클릭합니다.
역할 선택 목록에서 프로젝트 > 소유자를 클릭합니다. 이렇게 하면 Google Cloud 서비스 브로커가 Google Cloud 서비스와 작업하는 데 필요한 권한이 제공됩니다.
계속을 클릭합니다.
필요에 따라 다른 사용자에게 서비스 계정에 대한 액세스 권한을 부여합니다.
완료를 클릭합니다.
Google Cloud console의 서비스 계정 페이지에서 방금 만든 서비스 계정의 이메일 주소를 클릭합니다.
서비스 계정 이름에서 키 탭을 클릭합니다.
키 추가 드롭다운 메뉴를 클릭한 후 새 키 만들기를 선택합니다.
JSON 키 유형이 지정되었는지 확인합니다.
만들기를 클릭합니다. JSON 키 파일이 워크스테이션에 자동으로 다운로드됩니다.
JSON 키 파일을 안전한 위치로 옮깁니다.
백업 데이터베이스 설정
Google Cloud 서비스 브로커에는 프로비저닝된 리소스의 상태를 저장할 MySQL 데이터베이스가 필요합니다. 자동 백업, 고가용성, 자동 유지보수가 가능한 완전 관리형 MySQL Community Edition 데이터베이스를 제공하는 MySQL용 Cloud SQL의 2세대 인스턴스를 사용하는 것이 좋습니다. 그러나 MySQL 프로토콜과 호환되는 모든 데이터베이스를 사용할 수 있습니다.
다음 단계에서는 Google Cloud에서 2세대 Cloud SQL 인스턴스를 사용하여 데이터베이스를 만들지만 MySQL 프로토콜과 호환되는 모든 데이터베이스에 적용할 수 있습니다.
MySQL용 Cloud SQL 인스턴스 만들기
데이터베이스를 만들려면 먼저 Google Cloud에서 MySQL용 Cloud SQL 인스턴스를 만들어야 합니다.
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
인스턴스 만들기를 클릭합니다.
- MySQL을 선택하고 다음을 클릭합니다.
- 2세대 선택을 클릭합니다.
- 인스턴스 ID를 정의합니다.
- 루트 비밀번호를 정의합니다.
- 리전 필드에서 Cloud Foundry 환경이 위치할 리전을 선택합니다.
- 만들기를 클릭합니다.
데이터베이스 만들기
Cloud SQL 인스턴스가 부팅된 후 Cloud Shell을 엽니다.
Cloud SQL 인스턴스에 연결합니다.
gcloud sql connect your-cloud-sql-instance --user=root
여기서
your-cloud-sql-instance
는 Google Cloud에서 만든 Cloud SQL 인스턴스의 이름입니다.servicebroker
라는 데이터베이스를 만듭니다.CREATE DATABASE servicebroker;
서비스 브로커의 사용자 이름과 비밀번호를 정의합니다. Google Cloud
CREATE USER 'SB_DB_UserName'@'%' IDENTIFIED BY 'SB_DB_Password';
각 항목의 의미는 다음과 같습니다.
SB_DB_UserName
은Google Cloud 서비스 브로커를 데이터베이스의 사용자로 나타내는 사용자 이름입니다.SB_DB_Password
는 데이터베이스에 대해 Google Cloud 서비스 브로커를 식별하는 비밀번호입니다.
서비스 브로커의 액세스 권한을 설정합니다. Google Cloud
GRANT ALL PRIVILEGES ON servicebroker.* TO 'SB_DB_UserName'@'%' WITH GRANT OPTION;
SSL을 설정하고 SSL 인증서를 가져옵니다.
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지를 엽니다.
Cloud SQL 인스턴스의 이름을 클릭합니다.
인스턴스 세부정보 페이지에서 연결 탭을 클릭합니다.
SSL 연결의 SSL 섹션에서 SSL 연결만 허용을 클릭합니다. 업데이트하는 데 몇 초 정도 걸릴 수 있습니다.
SSL 클라이언트 인증서 구성의 SSL 섹션에서 클라이언트 인증서 만들기를 클릭합니다.
이름을 입력하고 만들기를 클릭합니다.
3개의 인증서 파일을 다운로드하고 안전한 위치에 저장합니다.
인스턴스 세부정보 페이지에서 연결 탭의 연결 섹션에서 다음을 수행합니다.
- 공개 IP 상자가 선택되었는지 확인합니다.
- 승인된 네트워크에서 네트워크 추가를 클릭합니다.
- 네트워크 필드에
0.0.0.0/0
을 입력합니다. - 완료를 클릭합니다.
저장을 클릭하여 승인 변경사항을 저장합니다.
인프라의 Cloud Foundry용 SAP BTP 평가판 계정 가져오기 Google Cloud
- SAP BTP 무료 체험판 계정에 등록합니다. SAP BTP 체험판 계정을 얻으려면 활성 SAP 계정이 필요합니다.
- SAP BTP Cockpit에 로그인합니다.
- SAP BTP Cockpit에서 화면 상단의 Home(홈)을 선택합니다.
- 화면 왼쪽의 탐색창에서 Regions(리전)를 클릭합니다.
- Cloud Foundry Environment(Cloud Foundry 환경)에서Google Cloud 인프라를 사용하는 리전(예: US-Central(IA))을 선택합니다. 이렇게 하면 SAP BTP Cloud Foundry 환경 내에 조직과 공간이 만들어집니다.
Cloud Foundry용 Google Cloud 서비스 브로커 설치 및 구성
배포 Google Cloud Cloud Foundry용 서비스 브로커
개발 워크스테이션의 터미널에서 다음을 수행합니다.
GitHub에서 최신 버전의 Google Cloud Cloud Foundry용 서비스 브로커를 설치합니다.
curl -s https://api.github.com/repos/GoogleCloudPlatform/gcp-service-broker/releases/latest \ |grep 'tag_name' \ |cut -d\" -f4 \ |xargs -I {} curl -sOL "https://github.com/GoogleCloudPlatform/gcp-service-broker/archive/"{}'.tar.gz'
Google Cloud 서비스 브로커 파일을 추출합니다.
tar zxvf *.tar.gz
디렉터리를 전환합니다.
cd gcp-service-broker*
SAP BTP Cloud Foundry 환경에 로그인합니다.
cf login
API 엔드포인트를 입력합니다.
https://api.techkey.hana.ondemand.com
여기서
techkey
는 API 엔드포인트의 리전을 식별하는 SAP 정의 기술 키입니다. 예를 들어 Google Cloud인프라가 포함된 미국 중부 리전의 기술 키는cf.us30
입니다. SAP BTP Cloud Foundry 환경의 모든 리전 목록은 SAP 도움말 포털을 참고하세요.SAP BTP 계정의 사용자 이름과 비밀번호를 입력합니다.
서비스 브로커 앱을 Google Cloud Cloud Foundry 환경에 배포합니다.
cf push APP_NAME --no-start
여기서
APP_NAME
은 Google Cloud 서비스 브로커 애플리케이션용으로 선택하는 고유한 이름입니다. 예를 들면gcp-service-broker-001
또는mycompany-gcp-svc-broker-app
입니다.Cloud Foundry가 서비스 브로커 앱을 배포한 후에 다음 예와 유사한 정보가 표시됩니다. Google Cloud
name: gcp-service-broker-example-app requested state: stopped routes: gcp-service-broker-example-app.cfapps.us30.hana.ondemand.com last uploaded: stack: buildpacks: type: web instances: 0/1 memory usage: 1024M state since cpu memory disk details #0 down 2018-12-19T23:49:13Z 0.0% 0 of 0 0 of 0
Cloud Foundry용 Google Cloud 서비스 브로커 앱 구성
- SAP BTP Cockpit에 로그인합니다.
- SAP BTP Cockpit에서 Trial Home(무료 체험판 홈) > Regions(리전) > Your Google Cloud region > Your global account > Your subaccount > Spaces(공간) > Your space로 이동합니다.
- Google Cloud 이전 섹션에서 배포한 서비스 브로커 앱의 이름을 클릭합니다.
- 왼쪽 메뉴에서 User-provided variables(사용자 제공 변수)를 클릭합니다.
Add variable(변수 추가) 버튼을 사용하여 다음 Google Cloud 서비스 브로커 변수를 키-값 쌍으로 정의합니다.
키 값 CA_CERT
백업 데이터베이스 설정에서 SSL을 설정할 때 다운로드한 서버 인증서 파일 server-ca.pem
의 콘텐츠입니다.CLIENT_CERT
백업 데이터베이스 설정에서 SSL을 설정할 때 다운로드한 클라이언트 인증서 파일 client-cert.pem
의 콘텐츠입니다.CLIENT_KEY
백업 데이터베이스 설정에서 SSL을 설정할 때 다운로드한 클라이언트 키 파일 client-key.pem
의 콘텐츠입니다.DB_HOST
Google Cloud 콘솔의 Cloud SQL 인스턴스에 대해 인스턴스 세부정보 페이지의 이 인스턴스에 연결 섹션에 표시되는 Cloud SQL 인스턴스의 공개 IP 주소입니다. DB_PASSWORD
백업 데이터베이스 설정에서 구성한 데이터베이스에 액세스하기 위해 Google Cloud 서비스 브로커에 정의한 비밀번호입니다. DB_USERNAME
데이터베이스를 만들 때 Google Cloud 서비스 브로커에 정의한 사용자 이름입니다. Cloud SQL 데이터베이스의 경우 Google Cloud 콘솔에서 Cloud SQL 인스턴스에 대한 인스턴스 세부정보 페이지의 사용자 탭에 있는 MySQL 사용자 계정에서 사용자 이름을 볼 수 있습니다. ROOT_SERVICE_ACCOUNT_JSON
루트 서비스 계정을 생성할 때 다운로드한 JSON 키 파일의 콘텐츠입니다. SECURITY_USER_NAME
브로커 요청을 인증할 때 사용하기 위해 서비스 브로커에 정의한 사용자 이름입니다. 나중에 브로커 서비스를 만들 때 cf create-service-broker
명령어에서 이 사용자 이름과 동일한 사용자 이름을 지정합니다.SECURITY_USER_PASSWORD
브로커 요청을 인증할 때 사용하기 위해 서비스 브로커에 정의한 비밀번호입니다. 나중에 브로커 서비스를 만들 때 cf create-service-broker
명령어에서 이 비밀번호와 동일한 비밀번호를 지정합니다.선택적 환경 변수 Google Cloud 서비스 브로커를 맞춤설정하는 데 사용할 수 있는 선택적 변수 목록은 설치 맞춤설정을 참고하세요.
Cloud Foundry용 Google Cloud 서비스 브로커 앱 시작
- 왼쪽 메뉴에서 Overview(개요)를 클릭합니다.
브로커 애플리케이션을 시작하려면 Start(시작)를 클릭합니다. 애플리케이션이 실행 중이면 다음 이미지와 같이 녹색 Started(시작됨) 및 Running(실행 중) 표시기가 Overview(개요) 페이지에 나타납니다.
서비스 브로커 앱이 시작되지 않거나 오류 또는 비정상 종료됨이 표시되는 경우 Google Cloud 개발 워크스테이션에서 애플리케이션 로그를 확인하고 이에 따라 변수 또는 구성을 조정합니다.
cf logs APP_NAME --recent
등록 Google Cloud Cloud Foundry용 서비스 브로커
개발 워크스테이션에서 다음을 수행합니다.
SAP BTP Cloud Foundry 환경에 연결합니다.
cf login
배포된 애플리케이션을 나열합니다.
cf apps
다음 예와 비슷한 출력이 표시됩니다.
name requested state instances memory disk urls broker-test-app started 1/1 1G 1G broker-test-app.cfapps.us30.hana.ondemand.com
브로커 서비스를 등록합니다.
cf create-service-broker BROKER_SERVICE_NAME SECURITY_USER_NAME SECURITY_USER_PASSWORD https://BROKER_APPLICATION_ROUTE --space-scoped
각 항목의 의미는 다음과 같습니다.
BROKER_SERVICE_NAME
은 브로커 서비스에 대해 선택한 이름입니다.SECURITY_USER_NAME
는 Google Cloud Cloud Foundry용 서비스 브로커 앱 구성에서 브로커 요청을 인증하기 위해 정의된 사용자 이름입니다.SECURITY_USER_PASSWORD
는 Cloud Foundry용Google Cloud 서비스 브로커 앱 구성에서 브로커 요청을 인증하기 위해 정의된 비밀번호입니다.BROKER_APPLICATION_ROUTE
는 이전 단계에 표시된 서비스 브로커 애플리케이션의 URL입니다. 예를 들면 다음과 같습니다.broker-test-app.cfapps.us30.hana.ondemand.com
브로커 서비스의 등록을 확인합니다.
cf service-brokers
다음과 비슷한 출력이 표시됩니다.
name url broker-service-name https://broker-service-name.cfapps.us30.hana.ondemand.com
이제 SAP BTP 서비스 마켓플레이스에서 Google Cloud 서비스를 사용할 수 있는지 확인합니다.
cf marketplace
가독성을 높이고 페이지에 맞게 수정한 다음 예시는 마켓플레이스의 Google Cloud 서비스 목록에 있는 두 가지 서비스를 보여줍니다.
service plans description ... google-bigquery default A fast, economical and fully managed data warehouse for large-scale data analytics. google-bigtable three-node-production-hdd A high performance NoSQL database service for large analytical and operational workloads.
사용 가능한 Google Cloud 서비스 목록은 Google Cloud용 공개 서비스 브로커를 참고하세요.
다음 단계
서비스 인스턴스를 만들고 Google Cloud SAP BTP 애플리케이션에 바인딩합니다.
Google Cloud서비스 만들기 및 결합에 관한 자세한 내용은 다음을 참고하세요.
SAP 도움말 포털의 Cloud Foundry 환경에서 서비스 사용
GitHub의 서비스 브로커 문서 Google Cloud