다음 안내는 Google Cloud용 공개 서비스 브로커(Google Cloud 서비스 브로커)를 사용하여 SAP 비즈니스 기술 플랫폼(SAP BTP)의 Cloud Foundry 환경에 Google Cloud 서비스를 통합하는 방법을 보여줍니다.
Google Cloud 서비스 브로커는 SAP BTP의 Cloud Foundry 환경에서 실행되는 애플리케이션에 대해 Google Cloud 서비스 제공을 간소화합니다. Google Cloud 서비스 브로커는 Google Cloud 리소스를 만들고 해당 권한을 관리하여 SAP BTP 애플리케이션 환경에서 Google Cloud 서비스를 쉽게 사용할 수 있게 해줍니다.
다음 다이어그램은 몇 가지 예시 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 구성용 명령줄 인터페이스 |
비용
Google Cloud 서비스 브로커와 함께 사용하도록 권장되는 Cloud SQL은 청구 가능한 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 Console에서 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
을 입력합니다. - 완료를 클릭합니다.
저장을 클릭하여 승인 변경사항을 저장합니다.
Google Cloud 인프라에서 Cloud Foundry용 SAP BTP 무료 체험판 계정을 받아보세요.
- 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 서비스 브로커 설치 및 구성
Cloud Foundry용 Google Cloud 서비스 브로커 배포
개발 워크스테이션의 터미널에서 다음을 수행합니다.
GitHub에서 최신 버전의 Cloud Foundry용 Google Cloud 서비스 브로커를 설치합니다.
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 서비스 브로커 앱의 이름을 클릭합니다.
- 왼쪽 메뉴에서 사용자 제공 변수를 클릭합니다.
변수 추가 버튼을 사용하여 다음 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 Console에서 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
Cloud Foundry용 Google Cloud 서비스 브로커 등록
개발 워크스테이션에서 다음을 수행합니다.
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
는 Cloud Foundry용 Google Cloud 서비스 브로커 앱 구성에서 브로커 요청을 인증하기 위해 정의된 사용자 이름입니다.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용 Open 서비스 브로커를 참조하세요.
다음 단계
Google Cloud 서비스 인스턴스를 만들고 SAP BTP 애플리케이션에 바인딩하기
Google Cloud 서비스 생성 및 결합에 대한 자세한 내용은 다음을 참조하세요.
SAP 도움말 포털의 Cloud Foundry 환경에서 서비스 사용
GitHub의 Google Cloud 서비스 브로커 문서