이 단계에서는 Apigee 조직을 만듭니다.
새 조직을 만들고 프로비저닝하려면 다음 절차를 따르세요.
-
명령줄에서 다음 명령어를 사용하여
gcloud
인증 사용자 인증 정보를 가져옵니다.Linux/MacOS
export TOKEN=$(gcloud auth print-access-token)
토큰이 입력되었는지 확인하려면 다음 예시와 같이
echo
를 사용합니다.echo $TOKEN
그러면 토큰이 인코딩된 문자열로 표시됩니다.
Windows
for /f "tokens=*" %a in ('gcloud auth print-access-token') do set TOKEN=%a
토큰이 입력되었는지 확인하려면 다음 예시와 같이
echo
를 사용합니다.echo %TOKEN%
그러면 토큰이 인코딩된 문자열로 표시됩니다.
-
1단계에서
PROJECT_ID
환경 변수를 만든 바 있습니다. 다음 환경 변수를 추가합니다. 필요한 조직 유형에 해당하는 탭(데이터 상주 없음 또는 데이터 상주)을 선택합니다.데이터 상주 없음
Linux/macOS
export ORG_NAME=$PROJECT_ID
export ANALYTICS_REGION="ANALYTICS_REGION"
export RUNTIMETYPE=HYBRID
Windows
set ORG_NAME=$PROJECT_ID
set ANALYTICS_REGION="ANALYTICS_REGION"
set RUNTIMETYPE=HYBRID
각 항목의 의미는 다음과 같습니다.
ORG_NAME
(필수): 이 값은PROJECT_ID
와 일치해야 합니다.ANALYTICS_REGION
(필수): 분석 데이터 스토리지의 기본 리전입니다. 사용 가능한 Apigee API 애널리틱스 리전 목록은 Apigee 위치를 참조하세요.-
RUNTIMETYPE
(필수):HYBRID
로 설정해야 합니다.
데이터 상주
Linux/macOS
export ORG_NAME=$PROJECT_ID
export ANALYTICS_REGION="ANALYTICS_REGION"
export RUNTIMETYPE=HYBRID
export CONTROL_PLANE_LOCATION="YOUR_CONTROL_PLANE_LOCATION"
export CONSUMER_DATA_REGION="YOUR_CONSUMER_DATA_REGION"
export BILLING_TYPE="SUBSCRIPTION"
Windows
set ORG_NAME=$PROJECT_ID
set ANALYTICS_REGION="ANALYTICS_REGION"
set RUNTIMETYPE=HYBRID
set CONTROL_PLANE_LOCATION="YOUR_CONTROL_PLANE_LOCATION"
set CONSUMER_DATA_REGION="YOUR_CONSUMER_DATA_REGION"
set BILLING_TYPE="SUBSCRIPTION"
각 항목의 의미는 다음과 같습니다.
ORG_NAME
: 이 값은PROJECT_ID
와 일치해야 합니다.ANALYTICS_REGION
: 분석 데이터 스토리지의 기본 리전입니다. 사용 가능한 Apigee API 애널리틱스 리전 목록은 Apigee 위치를 참조하세요.-
RUNTIMETYPE
:HYBRID
으로 설정해야 합니다. CONTROL_PLANE_LOCATION
: 프록시 번들과 같은 고객 핵심 콘텐츠가 저장되는 위치입니다. 목록은 사용 가능한 Apigee API 컨트롤 플레인 리전을 참조하세요.CONSUMER_DATA_REGION
: 컨트롤 플레인 리전의 하위 리전입니다.CONTROL_PLANE_LOCATION
및CONSUMER_DATA_REGION
을 모두 지정해야 합니다. 사용 가능한 소비자 데이터 리전 목록은 Apigee 위치를 참조하세요.BILLING_TYPE
:"SUBSCRIPTION"
으로 설정해야 합니다. Apigee Hybrid 조직의 결제 유형입니다. 자세한 내용은 구독 사용 권한을 참조하세요.
예를 들면 다음과 같습니다.
export ORG_NAME=$PROJECT_ID
export ANALYTICS_REGION="us-west1"
export RUNTIMETYPE=HYBRID
export CONSUMER_DATA_REGION="us-west1"
export CONTROL_PLANE_LOCATION="us"
export BILLING_TYPE="SUBSCRIPTION"
- 다음 Apigee API를 호출하여 조직을 만듭니다.
데이터 상주 없음
curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \ -d '{ "name":"'"$ORG_NAME"'", "runtimeType":"'"$RUNTIMETYPE"'", "analyticsRegion":"'"$ANALYTICS_REGION"'" }' \ "https://apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID"
데이터 상주
curl -H "Authorization: Bearer $TOKEN" -X POST -H "content-type:application/json" \ -d '{ "name":"'"$ORG_NAME"'", "billingType":"'"$BILLING_TYPE"'", "runtimeType":"'"$RUNTIMETYPE"'", "apiConsumerDataLocation":"'"$CONSUMER_DATA_REGION"'", "analyticsRegion":"'"$ANALYTICS_REGION"'" }' \ "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations?parent=projects/$PROJECT_ID"
생성 요청에 성공하면 조직 API가 다음과 유사한 메시지로 응답합니다.
{ "name": "organizations/org_name/operations/LONG_RUNNING_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/org_name", "state": "IN_PROGRESS" } }
각 항목의 의미는 다음과 같습니다.
- LONG_RUNNING_OPERATION_ID는 장기 실행 비동기 작업의 UUID입니다. 이 ID를 사용하여 5단계에 설명된 조직 생성 요청 상태를 확인할 수 있습니다.
- org_name은 현재 생성 중인 새 조직의 ID입니다.
응답의
state
속성이 나타내는 것처럼 Apigee는 새 조직을 만들기 시작하였으므로 상태는IN_PROGRESS
입니다. 이 프로세스는 몇 분이 소요될 수 있습니다.오류가 발생하면 조직 만들기 문제 해결을 참조하세요.
- 장기 실행 작업 ID를 환경 변수에 저장합니다.
이는 향후 관리 작업에 유용합니다.
구문
export LONG_RUNNING_OPERATION_ID=LONG_RUNNING_OPERATION_ID
예
export LONG_RUNNING_OPERATION_ID=6abc8a72-46de-f9da-bcfe-70d9ab347e4f
- 생성 요청에 의해 ID가 반환된 장기 실행 작업의 상태를 확인할 수 있습니다. 이를 위해 작업 API를 사용합니다. 예를 들면 다음과 같습니다.
데이터 상주 없음
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME/operations/$LONG_RUNNING_OPERATION_ID"
다음 예시는 이 요청에 대한 가능한 응답을 보여줍니다.
IN_PROGRESS
Apigee에서 계속 조직을 만들고 있는 경우 Apigee가
IN_PROGRESS
상태로 응답합니다. 예를 들면 다음과 같습니다.{ "name": "organizations/ORG_NAME/operations/LONG_RUNNING_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/ORG_NAME", "state": "IN_PROGRESS" } }
만들기 프로세스가 완료되었는지 확인하기 전에 잠시 기다려야 합니다.
FINISHED
조직이 프로비저닝되면 장기 실행 작업 상태는
FINISHED
입니다. 예를 들면 다음과 같습니다.{ "name": "organizations/ORG_NAME/operations/LONG_RUNNING_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/ORG_NAME", "state": "FINISHED" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.apigee.v1.Organization", "name": "ORG_NAME", "description": "", "createdAt": "1626237148461", "lastModifiedAt": "1626237149384", "properties": { "property": [ { "name": "features.hybrid.enabled", "value": "true" }, { "name": "features.mart.connect.enabled", "value": "true" } ] }, "analyticsRegion": "ANALYTICS_REGION", "runtimeType": "HYBRID", "subscriptionType": "TRIAL", "state": "ACTIVE", "billingType": "EVALUATION", "expiresAt": "1631421073171", "addonsConfig": { "advancedApiOpsConfig": {}, "integrationConfig": {}, "monetizationConfig": {} } } }
데이터 상주
curl -H "Authorization: Bearer $TOKEN" \ "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME/operations/$LONG_RUNNING_OPERATION_ID"
다음 예시는 이 요청에 대한 가능한 응답을 보여줍니다.
IN_PROGRESS
Apigee에서 계속 조직을 만들고 있는 경우 Apigee가
IN_PROGRESS
상태로 응답합니다. 예를 들면 다음과 같습니다.{ "name": "organizations/ORG_NAME/operations/LONG_RUNNING_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/ORG_NAME", "state": "IN_PROGRESS" } }
만들기 프로세스가 완료되었는지 확인하기 전에 잠시 기다려야 합니다.
FINISHED
조직이 프로비저닝되면 장기 실행 작업 상태는
FINISHED
입니다. 예를 들면 다음과 같습니다.{ "name": "organizations/ORG_NAME/operations/LONG_RUNNING_OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/ORG_NAME", "state": "FINISHED" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.apigee.v1.Organization", "name": "ORG_NAME", "description": "", "createdAt": "1626237148461", "lastModifiedAt": "1626237149384", "properties": { "property": [ { "name": "features.hybrid.enabled", "value": "true" }, { "name": "features.mart.connect.enabled", "value": "true" } ] }, "analyticsRegion": "ANALYTICS_REGION", "runtimeType": "HYBRID", "subscriptionType": "TRIAL", "state": "ACTIVE", "billingType": "SUBSCRIPTION", "apiConsumerDataLocation": "CONSUMER_DATA_REGION", "expiresAt": "1631421073171", "addonsConfig": { "advancedApiOpsConfig": {}, "integrationConfig": {}, "monetizationConfig": {} } } }
- Apigee Organizations API를 사용하여 생성된 조직에 대한 정보를 검색할 수 있습니다.
예를 들면 다음과 같습니다.
데이터 상주 없음
curl -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/$ORG_NAME"
요청에 대한 응답에는 지정된 조직에 대한 세부정보가 JSON 형식으로 포함됩니다.
{ "name": "apigee-example", "createdAt": "1626237148461", "lastModifiedAt": "1626237149384", "properties": { "property": [ { "name": "features.hybrid.enabled", "value": "true" }, { "name": "features.mart.connect.enabled", "value": "true" } ] }, "analyticsRegion": "us-west1", "runtimeType": "HYBRID", "subscriptionType": "PAID", "projectId": "apigee-example", "state": "ACTIVE", "billingType": "SUBSCRIPTION", "expiresAt": "1631421073171", "addonsConfig": { "advancedApiOpsConfig": {}, "integrationConfig": {}, "monetizationConfig": {} } }
데이터 상주
curl -H "Authorization: Bearer $TOKEN" \ "https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$ORG_NAME"
요청에 대한 응답에는 지정된 조직에 대한 세부정보가 JSON 형식으로 포함됩니다.
{ "name": "apigee-example", "createdAt": "1626237148461", "lastModifiedAt": "1626237149384", "properties": { "property": [ { "name": "features.hybrid.enabled", "value": "true" }, { "name": "features.mart.connect.enabled", "value": "true" } ] }, "analyticsRegion": "us-west1", "runtimeType": "HYBRID", "subscriptionType": "PAID", "projectId": "apigee-example", "state": "ACTIVE", "billingType": "SUBSCRIPTION", "expiresAt": "1631421073171", "addonsConfig": { "advancedApiOpsConfig": {}, "integrationConfig": {}, "monetizationConfig": {} } }
조직 만들기 문제 해결
Create organizations API를 통해 조직을 만들면 오류 응답을 받을 수 있습니다. 응답은 다음과 같습니다.
{ "error": { "code": HTTP_error_code, "message": "short_error_message", "status": "high_level_error_type", "details": [ { "@type": "specific_error_type", "detail": "expanded_error_description" } ] } }
다음 표에는 새 조직을 만들려고 할 때 발생할 수 있는 오류 및 잠재적인 해결 방법이 나와 있습니다.
HTTP 오류 코드 | HTTP 오류 | 설명 |
---|---|---|
400 |
Invalid JSON payload received |
요청의 데이터 구조에 문법 오류가 포함되어 있거나 엔드포인트 경로가 잘못되었습니다. |
400 |
Invalid organization ID |
요청한 조직 ID에는 대문자나 하이픈 이외의 특수문자가 포함될 수 없습니다. 소문자, 숫자 또는 하이픈만을 포함해야 합니다. 최대 32자까지 가능합니다. |
400 |
Unsupported analytics region |
요청 본문에서 analyticsRegion 값을 지정하지 않았거나 지정한 값이 유효한 옵션 중 하나가 아닙니다. |
400 |
Does not have an Apigee entitlement |
2단계: Google Cloud 프로젝트 만들기에서 만든 Google Cloud 프로젝트에 하이브리드가 아직 사용 설정되지 않았습니다. 이는 Google Cloud 계정과 관련된 결제 문제 또는 다른 오류가 있을 수 있음을 나타낼 수 있습니다. 자세한 내용은 Apigee 영업팀에 문의하세요. |
400 |
'global' violates constraint in constraints/gcp.resourceLocations
on the resource projects/PROJECT_ID, Control Plane Region |
유료 구독 사용 권한이 없는 조직을 만들려고 했습니다. 평가 유형의 Apigee Hybrid 조직은 데이터 상주를 지원하지 않습니다. |
400 |
runtimeType HYBRID is not supported for PAYG_V2, use CLOUD instead: invalid argument |
'사용한 만큼만 지불' (PAYG) 사용 권한이 있는 프로젝트에서 조직을 만들려고 했습니다. 조직 사용 권한에 대해 질문이 있으면 Google Cloud 계정 담당자에게 문의하세요. |
401 |
Request had invalid authentication credentials |
gcloud 인증 토큰이 잘못되었거나, 오래되었거나 개발자가 요청에 인증 토큰을 포함하지 않았습니다. 새 토큰을 생성하고 주소를 다시 보내세요. |
403 |
Permission denied on resource project PROJECT_ID |
잘못된 프로젝트 ID 또는 경로가 포함된 요청을 보냈을 수 있습니다. |
403 |
Unable to retrieve project information |
아직 생성되거나 프로비저닝되지 않은 조직입니다. Operations API에 요청을 전송하여 5단계에 설명된 장기 실행 작업 상태를 확인할 수 있습니다. |
403 |
Permission denied on resource project organizations/PROJECT_ID/deployedIngressConfig |
조직을 만들려고 했지만 조직에 올바른 사용 권한이 없습니다. 조직 사용 권한에 대해 질문이 있으면 Google Cloud 계정 담당자에게 문의하세요. |
409 |
Organization already exists |
Google Cloud 프로젝트용으로 두 개 이상의 조직을 만들려고 했습니다. 프로젝트당 하나의 조직만 만들 수 있습니다. |
409 |
Org PROPOSED_ORG_NAME already exists |
이미 존재하는 조직과 동일한 ID를 가지는 조직을 만들려고 했습니다. 조직 ID는 모든 하이브리드 고객에서 고유해야 합니다. 새로 제안된 조직 ID로 다시 제출합니다(예: 시도한 이전 ID의 끝에 숫자 값을 추가). |
다음 단계
3단계: 환경 그룹 만들기로 이동하기