공유 VPC 프로비저닝 해제

이 페이지에서는 기존 공유 VPC 구성의 프로비저닝을 해제하고 모든 서비스 프로젝트를 공유 VPC 호스트 프로젝트에서 연결 해제하는 방법에 대해 설명합니다. 프로비저닝 해제는 단방향 프로세스입니다. 먼저 공유 VPC 개요공유 VPC 프로비저닝 페이지를 숙지해야 합니다.

서비스 프로젝트 관리자 작업

공유 VPC 호스트 프로젝트에 연결된 각 서비스 프로젝트에서 서비스 프로젝트 관리자는 호스트 프로젝트의 모든 종속 항목을 제거해야 합니다. 종속 항목에는 인스턴스, 인스턴스 그룹, 인스턴스 템플릿, 내부 부하 분산에 대한 전달 규칙이 포함됩니다.

영향을 받는 리소스 결정

서비스 프로젝트 관리자는 공유 VPC 호스트 프로젝트에 의존하는 리소스를 식별하기 위해 해당 공유 서브넷을 나열할 수 있습니다. 서비스 프로젝트가 호스트 프로젝트에서 분리되면 이 서브넷을 더 이상 사용할 수 없게 됩니다. 따라서 이들에 의존하는 모든 리소스가 영향을 받습니다.

리소스 삭제

서비스 프로젝트 관리자가 프로비저닝 해제 프로세스의 영향을 받을 리소스를 식별하면 해당 리소스를 삭제해야 합니다.

공유 VPC 관리자 작업

이 섹션의 모든 작업은 공유 VPC 관리자가 수행해야 합니다.

서비스 프로젝트 분리

공유 VPC 호스트 프로젝트에서 분리해야 하는 각 서비스 프로젝트에 대해 이 단계를 반복합니다.

gcloud

  1. 아직 하지 않은 경우 gcloud를 공유 VPC 관리자로 로그인합니다. [SHARED_VPC_ADMIN]을 공유 VPC 관리자의 이름으로 바꿉니다.

    gcloud auth login [SHARED_VPC_ADMIN]
    
  2. 호스트 프로젝트에서 서비스 프로젝트를 분리합니다. [SERVICE_PROJECT_ID]를 서비스 프로젝트의 프로젝트 ID로, [HOST_PROJECT_ID]를 호스트 프로젝트의 프로젝트 ID로 바꿉니다.

    gcloud compute shared-vpc associated-projects remove [SERVICE_PROJECT_ID]
        --host-project [HOST_PROJECT_ID]
    
  3. 다음 명령어 중 하나를 사용하여 서비스 프로젝트가 분리되었는지 확인합니다.

    gcloud compute shared-vpc get-host-project [SERVICE_PROJECT_ID]
    
    gcloud compute shared-vpc list-associated-resources [HOST_PROJECT_ID]
    
  4. 서비스 프로젝트만 분리해야 하는 경우 gcloud에서 로그아웃하여 공유 VPC 관리자 계정 사용자 인증 정보를 보호합니다. 그렇지 않은 경우 이 단계를 건너뛰고 호스트 프로젝트 사용 중지를 계속 진행합니다.

    gcloud auth revoke [SHARED_VPC_ADMIN]
    

호스트 프로젝트 사용 중지

호스트 프로젝트에 대해 공유 VPC를 사용 중지하는 것은 모든 서비스 프로젝트가 분리된 후에만 가능합니다. 사용 중지하고 나면, 쉽게 삭제되지 않도록 하는 선취권이 자동으로 제거됩니다.

gcloud

  1. 아직 하지 않은 경우 gcloud를 공유 VPC 관리자로 로그인합니다. [SHARED_VPC_ADMIN]을 공유 VPC 관리자의 이름으로 바꿉니다.

    gcloud auth login [SHARED_VPC_ADMIN]
    
  2. 호스트 프로젝트에 대해 공유 VPC를 사용 중지합니다. [HOST_PROJECT_ID]를 호스트 프로젝트 ID로 바꿉니다.

    gcloud compute shared-vpc disable [HOST_PROJECT_ID]
    
  3. 프로젝트가 더 이상 조직의 호스트 프로젝트로 나열되지 않는지 확인합니다. [ORG_ID]를 조직 ID(gcloud organizations list에 따라 결정)로 바꿉니다.

    gcloud compute shared-vpc organizations list-host-projects [ORG_ID]
    
  4. 호스트 프로젝트만 사용 중지해야 하는 경우 gcloud에서 로그아웃하여 공유 VPC 관리자 사용자 인증 정보를 보호할 수 있습니다. 그렇지 않으면 이 단계를 건너뛰고 프로젝트 삭제를 계속 진행합니다.

    gcloud auth revoke [SHARED_VPC_ADMIN]
    

프로젝트 삭제

이 섹션에서는 더 이상 사용되지 않는 프로젝트 삭제에 대해 설명합니다. 예를 들어 호스트 프로젝트에서 분리된 후에 삭제해야 하는 서비스 프로젝트가 있거나 사용이 중지되면 더 이상 호스트 프로젝트가 필요하지 않을 수 있습니다.

호스트 프로젝트 삭제

일반 프로젝트로 유지하거나 종료할 수 있습니다. 프로젝트를 종료하면 삭제됩니다.

조직에서 정의된 모든 IAM 구성원은 해당 구성원에게 조직의 resourcemanager.projectDeleter 역할이 있거나 해당 구성원이 호스트 프로젝트의 소유자일 때 호스트 프로젝트를 삭제할 수 있습니다. 공유 VPC 관리자는 올바른 역할 또는 소유권이 있으면 호스트 프로젝트를 삭제할 수 있습니다.

서비스 프로젝트 삭제

더 이상 필요하지 않은 경우 각 서비스 프로젝트를 종료할 수 있습니다. 그렇게 하기 전에 서비스 프로젝트가 호스트 프로젝트에서 분리되었는지 확인합니다.

조직에서 정의된 모든 IAM 구성원은 해당 구성원에게 조직의 resourcemanager.projectDeleter 역할이 있거나 해당 구성원이 서비스 프로젝트의 소유자일 때 서비스 프로젝트를 삭제할 수 있습니다. 서비스 프로젝트 관리자는 올바른 역할이나 소유권이 있는 서비스 프로젝트를 삭제할 수 있습니다.

강제로 호스트 프로젝트 삭제

공유 VPC가 호스트 프로젝트에 대해 활성 상태인 동안 실수로 삭제되지 않도록 프로젝트에 선취권이 적용됩니다. 이 유치권은 프로젝트 소유자가 제거 할 수 있으므로 공유 VPC를 프로비저닝하는 가이드라인에는 프로젝트 선취권을 제거할 수 있는 IAM 구성원을 제한하는 조직 정책을 정의하는 단계가 포함됩니다.

일반적으로 호스트 프로젝트는 다음 작업이 이 순서대로 완료된 후에 삭제해야 합니다.

  • 호스트 프로젝트에서 모든 서비스 프로젝트가 분리되었으며
  • 공유 VPC가 사용 중지되었습니다.

공유 VPC가 사용 중지되면 호스트 프로젝트를 보호하는 선취권이 자동으로 제거됩니다.

이 섹션에서는 호스트 프로젝트를 강제로 종료하는 방법을 자세히 설명합니다. 다음과 같은 경우에만 이 옵션을 고려해야 합니다.

  • 서비스 프로젝트를 분리하고 공유 VPC를 사용 중지하는 일반적인 단계를 수행할 수 없는 경우
  • 호스트 프로젝트가 자동으로 추가되는 것 이외에 호스트 프로젝트를 보호하는 추가 선취권이 있는 경우

네트워크를 사용하는 서비스 프로젝트의 리소스로 호스트 프로젝트를 강제로 종료하면 다음과 같은 결과가 발생합니다.

  • 모든 공유 VPC 네트워크, 해당 서브넷, 경로, 방화벽 규칙, 호스트 프로젝트의 모든 네트워킹 리소스가 삭제됩니다.
  • 호스트 프로젝트에 연결된 서비스 프로젝트에서 인스턴스를 실행하는 것과 같은 리소스는 중지됩니다.
  • 호스트 프로젝트에서 전달 규칙이 정의된 내부 부하 분산기는 사용 중지됩니다.

gcloud

  1. 프로젝트 선취권을 제거할 수 있는 IAM 구성원으로 gcloud를 인증합니다. 선취권을 제거할 수 있는 구성원을 제한하는 조직 정책이 있다면, 조직의 resourcemanager.lienModifier 역할이 있는 IAM 구성원으로 인증해야 합니다. 이와 같은 정책이 마련되지 않으면 호스트 프로젝트의 프로젝트 소유자가 선취권을 제거할 수 있습니다.

    [ACCOUNT]를 해당 IAM 구성원의 이름으로 바꿉니다.

    gcloud auth login [ACCOUNT]
    
  2. 호스트 프로젝트와 관련된 선취권을 나열합니다. [HOST_PROJECT_ID]를 호스트 프로젝트 ID로 바꿉니다.

    gcloud alpha resource-manager liens list \
    --project [HOST_PROJECT_ID]
    
  3. 선취권이 없을 때까지 한 번에 하나씩 이름별로 선취권을 제거합니다. [LIEN_NAME]을(를) 제거할 선취권의 이름으로 바꿉니다.

    gcloud alpha resource-manager liens delete [LIEN_NAME] \
    --project [HOST_PROJECT_ID]
    
  4. 모든 선취권이 제거되었는지 확인합니다.

    gcloud alpha resource-manager liens list \
    --project [HOST_PROJECT_ID]
    
  5. 선취권을 제거한 후 gcloud에서 로그아웃하면 선취권을 제거할 권한이 있는 IAM 구성원의 사용자 인증 정보를 보호할 수 있습니다.

    gcloud auth revoke [ACCOUNT]
    
  6. 이제 호스트 프로젝트를 종료할 수 있습니다.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...