프라이빗 클라우드 삭제

프라이빗 클라우드는 하나 이상의 vSphere 클러스터로 구성됩니다. 프라이빗 클라우드를 삭제하면 모든 클러스터와 해당 노드가 삭제됩니다.

시작하기 전에

하나의 프라이빗 클라우드를 삭제하면 전체 프라이빗 클라우드가 삭제됩니다. 모든 프라이빗 클라우드 노드를 포함한 프라이빗 클라우드의 모든 구성요소가 삭제됩니다. 데이터를 보관하려면 데이터를 온프레미스 스토리지 또는 다른 스토리지에 백업하세요.

프라이빗 클라우드의 구성요소는 다음과 같습니다.

  • 노드
  • 가상 머신
  • VLAN 및 서브넷 관리
  • 워크로드 서브넷
  • 프라이빗 클라우드에 저장된 모든 사용자 데이터
  • 서브넷에 대한 모든 방화벽 규칙 연결

gcloud 및 API 요구사항

gcloud 명령줄 도구나 API를 사용하여 VMware Engine 리소스를 관리하려면 다음 설명대로 도구를 구성하는 것이 좋습니다.

gcloud

  1. 기본 프로젝트 ID를 설정합니다.

    gcloud config set project PROJECT_ID
    
  2. 기본 리전 및 영역을 설정합니다.

    gcloud config set compute/region REGION
    gcloud config set compute/zone ZONE

gcloud vmware 도구에 대한 자세한 내용은 Cloud SDK 참조 문서를 검토하세요.

API

이 문서 집합의 API 예시는 cURL 명령줄 도구를 사용하여 API를 쿼리합니다. cURL 요청의 일부로 유효한 액세스 토큰이 필요합니다. 유효한 액세스 토큰을 가져오는 방법에는 여러 가지가 있습니다. 다음 단계에서는 gcloud 도구를 사용하여 액세스 토큰을 생성합니다.

  1. Google Cloud에 로그인합니다.

    gcloud auth login
    
  2. 액세스 토큰을 생성하여 TOKEN으로 내보냅니다.

    export TOKEN=`gcloud auth print-access-token`
    
  3. TOKEN이 제대로 설정되었는지 확인합니다.

    echo $TOKEN
    
    Output:
    TOKEN
    

이제 API에 대한 요청에 승인 토큰을 사용합니다. 예를 들면 다음과 같습니다.

curl -X GET -H "Authorization: Bearer \"$TOKEN\""  -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations

Python

이 문서의 Python 코드 샘플은 VMware Engine 라이브러리를 사용하여 API와 통신합니다. 이 접근 방식을 사용하려면 라이브러리를 설치해야 하며 애플리케이션 기본 사용자 인증 정보를 구성해야 합니다.

  1. Python 라이브러리 다운로드 및 설치

     pip install google-cloud-vmwareengine
    
  2. 셸에서 명령어를 실행하여 ADC 정보를 구성하거나

      gcloud auth application-default login
    

    서비스 계정 키 파일을 사용합니다.

      export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
    

라이브러리에 대한 자세한 내용은 참조 페이지를 확인하거나 GitHub의 코드 샘플을 확인하세요.

프라이빗 클라우드 삭제

콘솔

  1. VMware Engine 포털에 액세스합니다.
  2. 리소스 페이지를 엽니다.
  3. 삭제하려는 프라이빗 클라우드를 선택합니다.
  4. 요약 페이지에서 이 프라이빗 클라우드 삭제를 클릭합니다.
  5. 확인 페이지에서 삭제 작업의 모든 결과를 확인하라는 메시지가 표시됩니다. 메시지를 자세히 확인하고 결과를 수락할 수 있을 때만 삭제를 계속 진행하세요. 결과를 수락할 준비가 되면 체크박스를 모두 선택합니다.
  6. 삭제를 실행하기 전에 대기할 시간(1~8시간)을 입력합니다. 이 기간 내에 취소를 클릭하여 삭제를 취소할 수 있습니다.
  7. 삭제할 프라이빗 클라우드를 다시 확인하기 위해 삭제할 프라이빗 클라우드의 이름을 입력합니다.
  8. 삭제를 클릭하여 삭제할 프라이빗 클라우드를 표시합니다.

지정된 지연 시간(시간)이 지나면 삭제 프로세스가 시작되고 완료될 때까지 계속 실행됩니다.

gcloud

 gcloud vmware private-clouds delete PC_NAME \
     --location=ZONE [--delay-hours=HOURS]

다음을 바꿉니다.

  • PC_NAME: 프라이빗 클라우드의 이름
  • ZONE: 이 프라이빗 클라우드의 영역
  • HOURS: 이 요청을 지연하는 시간. 기본적으로 3시간으로 설정되지만 0~8시간까지 설정할 수 있습니다. 이 값을 0으로 설정하면 삭제 요청이 즉시 시작됩니다.

API

curl -X DELETE -H "Authorization: Bearer TOKEN"  -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds?privateCloudId=PC_NAME&mps;delayHours=HOUR

다음을 바꿉니다.

  • TOKEN: 이 요청의 승인 토큰
  • PROJECT_ID: 이 요청의 프로젝트
  • ZONE: 프라이빗 클라우드의 영역
  • PC_NAME: 프라이빗 클라우드의 이름
  • HOUR: 이 요청을 지연하는 시간. 기본값은 3입니다. 0~8 사이의 시간을 설정할 수 있습니다. 이 값을 0으로 설정하면 즉시 삭제 요청이 시작됩니다.

Python

VMWare Engine 라이브러리를 사용하여 프라이빗 클라우드를 삭제하는 것은 Cloud 콘솔을 사용하는 것과 비교하여 한 단계로 구성된 프로세스입니다. 프라이빗 클라우드 삭제 메서드를 호출할 때는 매우 주의해야 합니다.

from google.api_core import operation
from google.cloud import vmwareengine_v1

def delete_private_cloud_by_full_name(cloud_name: str) -> operation.Operation:
    """
    Deletes VMWare Private Cloud.

    Args:
        cloud_name: identifier of the Private Cloud you want to delete.
            Expected format:
            projects/{project_name}/locations/{zone}/privateClouds/{cloud}

    Returns:
        An Operation object related to started private cloud deletion operation.
    """
    client = vmwareengine_v1.VmwareEngineClient()
    request = vmwareengine_v1.DeletePrivateCloudRequest()
    request.force = True
    request.delay_hours = 3
    request.name = cloud_name
    return client.delete_private_cloud(request)

def delete_private_cloud(
    project_id: str, zone: str, cloud_name: str
) -> operation.Operation:
    """
    Deletes VMWare Private Cloud.

    Args:
        project_id: name of the project hosting the private cloud.
        zone: zone in which the private cloud is located in.
        cloud_name: name of the private cloud to be deleted.

    Returns:
        An Operation object related to started private cloud deletion operation.
    """
    return delete_private_cloud_by_full_name(
        f"projects/{project_id}/locations/{zone}/privateClouds/{cloud_name}"
    )

프라이빗 클라우드 삭제 취소

대기 기간 내에는 프라이빗 클라우드 삭제를 취소할 수 있습니다. 다음 단계를 따르세요.

콘솔

  1. VMware Engine 포털에 액세스
  2. 리소스 페이지를 엽니다.
  3. 삭제하도록 표시한 프라이빗 클라우드를 선택합니다.
  4. 요약 페이지에서 삭제 취소를 클릭하여 프라이빗 클라우드 삭제를 취소합니다.

gcloud

gcloud vmware private-clouds undelete PC_NAME \
    --location=ZONE

다음을 바꿉니다.

  • PC_NAME: 프라이빗 클라우드의 이름
  • ZONE: 이 프라이빗 클라우드의 영역

API

curl -X POST -H "Authorization: Bearer TOKEN"  -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds?privateCloudId=PC_NAME:undelete

다음을 바꿉니다.

  • TOKEN: 이 요청의 승인 토큰
  • PROJECT_ID: 이 요청의 프로젝트
  • ZONE: 프라이빗 클라우드의 영역
  • PC_NAME: 프라이빗 클라우드의 이름

Python

from google.api_core import operation
from google.cloud import vmwareengine_v1

def cancel_private_cloud_deletion_by_full_name(cloud_name: str) -> operation.Operation:
    """
    Cancels in progress deletion of VMWare Private Cloud.

    Args:
        cloud_name: identifier of the Private Cloud you want to cancel deletion for.
            Expected format:
            projects/{project_name}/locations/{zone}/privateClouds/{cloud}

    Returns:
        An Operation object related to canceling private cloud deletion operation.
    """
    client = vmwareengine_v1.VmwareEngineClient()
    request = vmwareengine_v1.UndeletePrivateCloudRequest()
    request.name = cloud_name
    return client.undelete_private_cloud(request)

def cancel_private_cloud_deletion(
    project_id: str, zone: str, cloud_name: str
) -> operation.Operation:
    """
    Cancels in progress deletion of VMWare Private Cloud.

    Args:
        project_id: name of the project hosting the private cloud.
        zone: zone in which the private cloud is located in.
        cloud_name: name of the private cloud to cancel deletion for.

    Returns:
        An Operation object related to canceling private cloud deletion operation.
    """
    return cancel_private_cloud_deletion_by_full_name(
        f"projects/{project_id}/locations/{zone}/privateClouds/{cloud_name}"
    )