동기화 담당자 액세스 사용 설정
동기화 담당자 액세스를 사용 설정하려면 다음 안내를 따르세요.
- Google Cloud 서비스 계정을 만들고 이 계정에 Apigee 조직 관리자 역할을 추가합니다. 이 서비스 계정은 이후 단계에서 수행할 API 호출을 인증하는 데 사용됩니다. GCP Console을 사용하면 서비스 계정을 쉽게 만들 수 있습니다.
자세한 내용은 GCP 문서의 서비스 계정 만들기 및 관리를 참조하세요.
예를 들어 다음
gcloud
명령어는 서비스 계정을 만들고 Apigee 조직 관리자 역할을 할당합니다.- 계정을 만듭니다.
gcloud iam service-accounts create apigee-org-admin \ --display-name="apigee-org-admin"
여기서 apigee-org-admin은 만들려는 서비스 계정의 이름입니다. 이 튜토리얼에서는 '
apigee-org-admin
'을 사용하는 것이 좋습니다. - 서비스 계정에 Apigee 조직 관리자 역할을 할당합니다.
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/apigee.admin"
각 항목의 의미는 다음과 같습니다.
- $PROJECT_ID는 2단계: Google Cloud 프로젝트 만들기에서 만든 Google Cloud 프로젝트의 이름입니다.
- apigee-org-admin은 방금 만든 서비스 계정의 이름입니다.
- roles/apigee.admin은 Apigee 조직 관리자 역할입니다.
- 계정을 만듭니다.
- 서비스 계정 키를 시스템에 다운로드합니다. 다음 명령어를 사용하여 키를
service-accounts/
디렉터리에 다운로드합니다. 자세한 내용은 GCP 문서의 서비스 계정 키 만들기의 안내를 참조하세요.- 현재 위치가
/hybrid-base-directory/hybrid-files/
디렉터리인지 확인합니다. - 키를 다운로드합니다.
gcloud iam service-accounts keys create ./service-accounts/$PROJECT_ID-apigee-org-admin.json \ --iam-account apigee-org-admin@$PROJECT_ID.iam.gserviceaccount.com
출력은 다음과 같이 표시됩니다.
created key [a0b1c2d3e4f5a0b1c2d3e4f5a0b1c2d3e4f5a0b1] of type [json] as [./service-accounts/hybrid- example-apigee-org-admin.json] for [apigee-org-admin@my-hybrid.iam.gserviceaccount.com] $
- 현재 위치가
- 다음 명령어를 사용하여 Apigee 조직 관리자 서비스 계정 키의 경로를 확인합니다.
ls service-accounts/*admin*
다음과 같은 결과가 표시됩니다.
service-accounts/hybrid-example-apigee-org-admin.json
- 키 파일 이름으로 ORG_ADMIN_ACCOUNT 환경 변수를 만듭니다.
예를 들면 다음과 같습니다.
export ORG_ADMIN_ACCOUNT="hybrid-example-2-apigee-org-admin.json"
- 다음 명령어를 실행하여 토큰을 가져옵니다.
export GOOGLE_APPLICATION_CREDENTIALS=./service-accounts/$ORG_ADMIN_ACCOUNT
export TOKEN=$(gcloud auth application-default print-access-token)
- 다음 명령어를 사용하여
apigee-synchronizer
서비스 계정의 이메일 주소를 가져옵니다.gcloud iam service-accounts list --filter "apigee-synchronizer"
apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com
패턴과 일치하면 다음 단계에서 이 패턴을 사용할 수 있습니다. - 다음 명령어로 setSyncAuthorization API를 호출하여 동기화 담당자에 필요한 권한을 사용 설정합니다.
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:setSyncAuthorization" \ -d '{"identities":["'"serviceAccount:apigee-synchronizer@$ORG_NAME.iam.gserviceaccount.com"'"]}'
각 항목의 의미는 다음과 같습니다.
$ORG_NAME
: 하이브리드 조직의 이름입니다.apigee-synchronizer$ORG_NAME.iam.gserviceaccount.com
: apigee-syncnronizer 서비스 계정의 이메일 주소입니다.
- 서비스 계정이 설정되었는지 확인하려면 다음 명령어로 API를 호출하여 서비스 계정 목록을 가져옵니다.
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME:getSyncAuthorization" \ -d ''
결과는 다음과 유사합니다.
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }
클러스터에 구성 적용
다음 단계를 따라 클러스터에 Apigee Hybrid를 설치합니다.
- 현재 위치가
hybrid-base-directory/hybrid-files
디렉터리인지 확인합니다. - 다음 명령어를 사용하여
kubectl
이 올바른 컨텍스트로 설정되었는지 확인합니다. 현재 컨텍스트를 Apigee Hybrid를 배포하는 클러스터로 설정해야 합니다.kubectl config get-contexts
- 테스트 실행를 초기화합니다.
--dry-run
플래그를 사용하여init
명령어를 실행합니다. 테스트 실행을 수행하면 클러스터를 변경하기 전에 오류를 확인할 수 있습니다.하이브리드 버전 1.3에서
--dry-run
플래그 문법은 실행 중인kubectl
버전에 따라 다릅니다. 다음 명령어를 사용하여kubectl
버전을 확인합니다.kubectl version
kubectl
버전 1.17 이하:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=true
kubectl
버전 1.18 이상:$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml --dry-run=client
- 오류가 없으면 다음과 같이
init
명령어를 실행합니다.$APIGEECTL_HOME/apigeectl init -f overrides/overrides.yaml
init
명령어는 Apigee 배포 서비스 Apigee 배포 컨트롤러와 Apigee 허용 웹훅을 설치합니다. - 배포 상태를 확인하려면 다음 명령어를 사용하면 됩니다.
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
kubectl get pods -n apigee-system
kubectl get pods -n istio-system
포드가 준비되면 다음 단계로 이동합니다.
- 테스트 실행을 설치합니다.
--dry-run
플래그를 사용하여apply
명령어를 실행합니다.kubectl
버전 1.17 이하:$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=true
kubectl
버전 1.18 이상:$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --dry-run=client
- 오류가 없으면 다음 명령어를 사용하여 클러스터에 Apigee별 런타임 구성요소를 적용할 수 있습니다.
$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml
- 배포 상태를 확인하기 위해 다음 명령어를 실행하세요.
$APIGEECTL_HOME/apigeectl check-ready -f overrides/overrides.yaml
포드가 모두 준비될 때까지 이 단계를 반복합니다. pod가 시작되는 데 몇 분 정도 걸릴 수 있습니다.
Apigee Connect 사용 설정
Apigee Connect는 런타임 영역의 Apigee 관리 영역과 MART 간의 통신을 관리합니다. 자세한 내용은 Apigee Connect 사용을 참조하세요.
Apigee Connect를 사용 설정하려면 다음 단계를 수행합니다.
-
다음 예시와 같이 명령줄에서
gcloud
인증 사용자 인증 정보를 가져옵니다.TOKEN=$(gcloud auth print-access-token)
토큰이 입력되었는지 확인하려면 다음 예시와 같이
echo
를 사용합니다.echo $TOKEN
그러면 토큰이 인코딩된 문자열로 표시됩니다.
자세한 내용은 gcloud 명령줄 도구 개요를 참조하세요.
- 다음 명령어를 사용하여 조직에 Apigee Connect가 사용 설정되어 있는지 확인합니다.
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"
여기서 $ORG_NAME은 조직의 ID입니다.
출력에 다음이 포함되면
"name" : "features.mart.connect.enabled", "value" : "true"
Apigee Connect가 사용 설정되었으며 이 섹션의 나머지 부분을 건너뛸 수 있습니다.
- 다음 명령어를 사용하여 Apigee Connect를 사용 설정합니다.
curl -H "Authorization: Bearer $TOKEN" -X PUT \ -H "Content-Type: application/json" \ -d '{ "name" : "'"$ORG_NAME"'", "properties" : { "property" : [ { "name" : "features.hybrid.enabled", "value" : "true" }, { "name" : "features.mart.connect.enabled", "value" : "true" } ] } }' \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"
출력에 다음 속성이 포함되어 있으면 Apigee Connect가 성공적으로 사용 설정된 것입니다.
{ "name": "features.mart.connect.enabled", "value": "true" }, { "name": "features.hybrid.enabled", "value": "true" }
출력이 다음과 같이 표시됩니다.
{ "name": "hybrid-example-2", "createdAt": "1594409699772", "lastModifiedAt": "1594776283697", "environments": [ "example-env" ], "properties": { "property": [ { "name": "features.mart.connect.enabled", "value": "true" }, { "name": "features.hybrid.enabled", "value": "true" } ] }, "analyticsRegion": "us-central1", "runtimeType": "HYBRID", "subscriptionType": "TRIAL" }