リソースの管理と削除


Config Connector が既存のリソースを管理してリソースを削除する方法について説明します。

リソースの作成

リソースを作成すると、Config Connector はリソースが存在しない場合はリソースを作成します。同じ名前の Google Cloud リソースがすでに存在する場合、Config Connector はそのリソースを取得して管理します。

リソースの作成の詳細については、スタートガイドをご覧ください。

resourceID フィールドを使用してリソースを管理することもできます。詳細については、resourceID フィールドを使用したリソースの管理をご覧ください。

既存のリソースの取得

このセクションでは、Config Connector を使用して既存の BigQuery リソースを取得する方法について説明します。

始める前に

  1. BigQuery API を有効にします。.
  2. bq コマンドライン ツールにアクセスできることを確認します。bq がない場合は、Cloud Shell を使用するか、gcloud CLI を使用してインストールします。

BigQuery データセットの取得

マニフェストとリソース名で値が一致すると、Config Connector はリソースを取得または制御します。リソースに名前(プロジェクト ID など)がない場合は、そのリソースの ID が使用されます。

空の BigQuery データセットを作成し、Config Connector を使用してデータセットを取得することで、Config Connector が既存のリソースを処理する方法を確認します。

  1. bq を使用して、bigquerydatasetsample という名前の BigQuery データセットを作成します。

    bq --location=US mk \
    --dataset \
    --default_table_expiration 3600 \
    --description description \
    PROJECT_ID:bigquerydatasetsample
  2. 次の内容を bq-sample.yaml という名前のファイルにコピーします。

      apiVersion: bigquery.cnrm.cloud.google.com/v1beta1
      kind: BigQueryDataset
      metadata:
        name: bigquerydatasetsample
      spec:
        defaultTableExpirationMs: 3600000
        description: "BigQuery Dataset Sample"
        friendlyName: bigquerydataset-sample
        location: US
    
  3. YAML をクラスタに適用します。

    kubectl apply --namespace CC_NAMESPACE -f bq-sample.yaml

    CC_NAMESPACE は、リソースを管理するNamespace Config Connector に置き換えます。

  4. kubectl describe を使用して、データセットの詳細を確認します。

    kubectl describe --namespace CC_NAMESPACE bigquerydataset bigquerydatasetsample

    CC_NAMESPACE は、リソースを管理するNamespace Config Connector に置き換えます。

    kubectl describe からの出力には、リソースのステータスとオーナー権限に関するメタデータが含まれています。

データセットの削除

デフォルトでは、Config Connector がリソースを取得して管理した後、クラスターからオブジェクトを削除すると、リソースが削除されます。データセットを保持したい場合は、リソースの deletion-policy を設定します。

たとえば、bigquerydataset-sample を取得したマニフェストを削除すると、BigQuery からデータセットが削除されます。

  1. kubectl delete を使用して bigquerydataset-sample データセットを削除できます。

    kubectl delete --namespace CC_NAMESPACE -f bq-sample.yaml

    CC_NAMESPACE は、リソースを管理するNamespace Config Connector に置き換えます。

    kubectl の次の出力により、削除が確認されます。bigquerydataset.bigquery.cnrm.cloud.google.com "bigquerydatasetsample" deleted

  2. bq を使用して、データセットがすでに存在しないことを確認します。

    bq show PROJECT_ID:bigquerydatasetsample

    コマンドの出力には Not Found が含まれます。

取得に制限があるリソース

サービス生成のリソース ID があるリソース

サービス生成のリソース ID を持つ Google Cloud リソースは、resourceID フィールドを使用する場合にのみ取得可能です。

次の Config Connector リソースは、サービス生成のリソース ID を持つ Google Cloud リソースに対応します。

  • AccessContextManagerAccessPolicy
  • ApigeeOrganization
  • BillingBudgetsBudget
  • CloudIdentityGroup
  • CloudIdentityMembership
  • ComputeFirewallPolicy
  • DLPDeidentifyTemplate
  • DLPInspectTemplate
  • DLPJobTrigger
  • DLPStoredInfoType
  • Folder
  • IAPBrand
  • IAPIdentityAwareProxyClient
  • IdentityPlatformTenant
  • MonitoringAlertPolicy
  • MonitoringGroup
  • MonitoringNotificationChannel
  • MonitoringUptimeCheckConfig
  • RecaptchaEnterpriseKey
  • ResourceManagerLien
  • SQLSSLCert
  • SecretManagerSecretVersion
  • StorageNotification
  • StorageTransferJob

resourceID フィールドの使用方法については、resourceID フィールドを使用したリソースの管理をご覧ください。

取得できないリソース

次の Config Connector リソースは、既存の Google Cloud リソースの取得をサポートしていません。

  • DataflowFlexTemplateJob
  • FirestoreIndex
  • IAMServiceAccountKey

削除後にリソースを保持する

...
metadata:
  annotations:
    cnrm.cloud.google.com/deletion-policy: abandon
...

たとえば、abandon 削除ポリシーを含む、前に説明した BigQuery データセットの YAML は次のとおりです。

apiVersion: bigquery.cnrm.cloud.google.com/v1beta1
  kind: BigQueryDataset
  metadata:
    name: bigquerydatasetsample
    annotations:
      cnrm.cloud.google.com/deletion-policy: abandon
  spec:
    defaultTableExpirationMs: 3600000
    description: "BigQuery Dataset Sample"
    friendlyName: bigquerydataset-sample
    location: US

次のステップ

  • Config Connector が Kubernetes コンストラクトを使用して Google Cloud リソースをモデル化する方法について学習します。
  • Config Connector が管理できる Google Cloud リソースを確認します。
  • GitHub リポジトリで Config Connector を使用する方法のその他の例を確認します。
  • Kubernetes がオブジェクトの宣言型の構成を処理する方法を学習します。