Google Distributed Cloud (GDC) 에어갭 환경에서는 프로젝트 및 조직의 비용을 추적하기 위해 결제 계정이 필요합니다. 결제 계정을 조직 또는 프로젝트에 연결하지 않으면 리소스와 연결된 비용 데이터가 손실됩니다.
고객에게 서비스 사용량을 청구하려면 조직 내 모든 결제 계정에서 단일 가격표를 사용합니다.
시작하기 전에
조직 IAM 관리자에게 다음 필수 역할을 부여해 달라고 요청하세요. 이러한 역할은 프로젝트 수준 결제의 경우 프로젝트 네임스페이스에, 조직 수준 결제의 경우 플랫폼 네임스페이스에 바인딩됩니다.
조직 결제 계정 관리자:
BillingAccount
리소스를 생성, 관리, 바인딩합니다. 조직 IAM 관리자에게organization-billing-account-admin
역할을 부여해 달라고 요청하세요.조직 결제 계정 사용자:
BillingAccount
리소스를 읽고, 나열하고, 바인딩합니다. 조직 IAM 관리자에게organization-billing-account-user
역할을 부여해 달라고 요청하세요.조직 결제 계정 관리자:
BillingAccountBinding
리소스를 읽고, 나열하고, 만들고, 업데이트합니다. 조직 IAM 관리자에게organization-billing-manager
역할을 부여해 달라고 요청하세요.
kubeconfig 파일 가져오기
관리 API 서버에 대해 명령어를 실행하려면 다음 리소스가 있어야 합니다.
관리 API 서버의 kubeconfig 파일이 없는 경우 로그인 및 생성합니다.
관리 API 서버의 kubeconfig 파일 경로를 사용하여 이 안내의
MANAGEMENT_API_SERVER_KUBECONFIG
를 바꿉니다.
새 결제 계정 만들기
결제 계정은 name
및 namespace
로 고유하게 식별됩니다. 결제 계정을 만들려면 커스텀 리소스를 사용하여 name
및 namespace
를 설정하세요.
YAML 파일을 만들고
BillingAccount
커스텀 리소스와 다음 콘텐츠를 추가합니다.apiVersion: billing.gdc.goog/v1 kind: BillingAccount metadata: namespace: platform name: BIL_ACCOUNT_NAME spec: displayName: BIL_DISPLAY_NAME paymentSystemConfig: cloudBillingConfig: accountID: "012345-6789AB-CDEF01"
다음 변수를 바꿉니다.
- BIL_ACCOUNT_NAME: 결제 계정의 이름입니다.
예를 들면
test-billing-account
입니다. - BIL_DISPLAY_NAME: 결제 계정 표시 이름입니다.
예를 들면
"Test Billing Account"
입니다.
- BIL_ACCOUNT_NAME: 결제 계정의 이름입니다.
예를 들면
결제 구성 유형을 확인합니다. Distributed Cloud 결제 계정에는 다음 결제 구성 중 하나가 있어야 합니다.
cloudBillingConfig
: 기본 결제 구성입니다. 이 구성은 Cloud Billing 계정 ID를 저장합니다.customConfig
: 파트너가 조직에 청구할 결제 구성을 저장하는 맞춤 구성입니다.customConfig
는 필수 키payment-config-type
이 있는 키-값 문자열의 사전을 지원합니다.
다음 예는 다양한 결제 구성을 위한
BillingAccount
YAML 파일 스니펫을 보여줍니다.cloudBillingConfig
spec: paymentSystemConfig: cloudBillingConfig: accountID: CLOUD_BILLING_ACCOUNT_ID
CLOUD_BILLING_ACCOUNT_ID
를Google Cloud 청구 계정 ID로 바꿉니다.customConfig
spec: paymentSystemConfig: customConfig: "payment-config-type": PAYMENT_CONFIG_TYPE
PAYMENT_CONFIG_TYPE
을 맞춤 결제 구성에 선택한 결제 구성 유형으로 바꿉니다.조직의
customConfig
구성 정보가 없는 경우 다음 세부정보를 입력합니다.spec: paymentSystemConfig: customConfig: "payment-config-type": "N/A"
다음 YAML 파일은
cloudBillingConfig
구성이 포함된 완전한BillingAccount
리소스를 보여줍니다.apiVersion: billing.gdc.goog/v1 kind: BillingAccount metadata: namespace: platform name: test-billing-account spec: displayName: "Test Billing Account" paymentSystemConfig: cloudBillingConfig: accountID: "012345-6789AB-CDEF01"
YAML 파일을 저장합니다.
kubectl
CLI를 실행하여 청구할 특정 조직 또는 프로젝트의 Management API 서버에 리소스를 적용합니다.kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG apply -f billingaccount.yaml
MANAGEMENT_API_SERVER_KUBECONFIG
를 관리 API 서버 kubeconfig 파일로 바꿉니다.
조직 또는 프로젝트를 결제 계정에 연결
이 섹션에서는 조직 또는 프로젝트를 BillingAccount
에 연결하는 단계를 설명합니다.
프로젝트 연결
프로젝트를 BillingAccount
에 연결하려면 다음 단계를 따르세요.
파일에 다음 내용을 추가합니다(
billingaccountbinding.yaml
).billingAccountRef
섹션에서name
필드를 연결하려는BillingAccount
의name
필드의 콘텐츠로 채웁니다.metadata
섹션에서BillingAccount
리소스의 동일한 필드에 있는 콘텐츠로namespace
필드를 채웁니다.
이 예시에서 프로젝트 네임스페이스는 PROJECT_NAME입니다.
apiVersion: billing.gdc.goog/v1 kind: BillingAccountBinding metadata: name: billing namespace: PROJECT_NAME spec: billingAccountRef: name: BIL_ACCOUNT_NAME namespace: platform
PROJECT_NAME
을 결제 계정에 바인딩된 프로젝트의 이름으로 바꿉니다.다음
kubectl
명령어를 실행하여billingaccountbinding.yaml
파일을 적용합니다.kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG apply -f billingaccountbinding.yaml
조직 연결
조직을 BillingAccount
에 연결하려면 다음 단계를 따르세요.
다음 콘텐츠를 YAML 파일
billingaccountbinding.yaml
에 추가합니다.billingAccountRef
섹션에서 연결하려는BillingAccount
의name
필드에 있는 콘텐츠로name
필드를 채웁니다.metadata
섹션에서BillingAccount
리소스의 동일한 필드의 콘텐츠로namespace
필드를 채웁니다. 이 예에서 조직 네임스페이스는platform
입니다.
apiVersion: billing.gdc.goog/v1 kind: BillingAccountBinding metadata: name: billing namespace: platform spec: billingAccountRef: name: BIL_ACCOUNT_NAME namespace: platform
다음
kubectl
명령어를 실행하여billingaccountbinding.yaml
파일을 적용합니다.kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG apply -f billingaccountbinding.yaml
조직 또는 프로젝트에서 결제 계정 연결 해제
Distributed Cloud에서는 결제 계정을 삭제할 수 없습니다. 결제 구성을 변경해야 하는 경우 BillingAccountBinding
를 수정하여 기존 결제 계정에서 조직 또는 프로젝트를 연결 해제해야 합니다. 이 사용 사례의 시나리오에는 다음 예가 포함됩니다.
- 회사 내 회계 규칙에 따라 개발자 및 프로덕션 수준 워크로드와 관련된 요금을 별도의 계정으로 분할해야 합니다.
- 1년 기간의 고객 계약에 요금을 청구하기 위해 결제 계정을 만듭니다. 계약이 만료되면 1년을 초과하는 남은 기간에 대해 요금을 청구해야 합니다.
조직 또는 프로젝트에서 결제 계정을 연결 해제하려면 다음을 수행하세요.
프로젝트에 연결할 새
BillingAccount
를 만듭니다. 이 계정은 이전 계정을 대체합니다.프로젝트 또는
platform
네임스페이스에서BillingAccountBinding
리소스 YAML 파일을 찾아 다음 필드를 수정합니다.billingAccountRef
섹션에서name
필드에 새BillingAccount
이름을 입력합니다.
다음 예시는 계정 expired-billing-account
이 프로젝트 project-one
에 연결된 BillingAccountBinding
YAML 파일을 보여줍니다.
apiVersion: billing.gdc.goog/v1
kind: BillingAccountBinding
metadata:
# The name of a BillingAccountBinding will typically always be `billing`.
name: billing
# This is the project.
namespace: project-one
spec:
billingAccountRef:
# This is an example of a BillingAccount that has expired.
name: expired-billing-account
namespace: platform
다음 예에서는 new billing account
이라는 새 계정을 연결하도록 수정된 이전 예의 BillingAccountBinding
YAML 파일을 보여줍니다.
apiVersion: billing.gdc.goog/v1
kind: BillingAccountBinding
metadata:
name: billing
# This is the project.
namespace: project-one
spec:
billingAccountRef:
# This is the example of the new BillingAccount.
name: new-billing-account
namespace: platform