공유 VPC 네트워크에 TPU 연결

이 가이드에서는 중앙에서 관리되는 공유 VPC 네트워크를 사용하는 Cloud TPU를 설정하는 방법을 설명합니다. 공유 VPC를 사용하는 조직은 여러 프로젝트의 리소스를 공통 VPC 네트워크에 연결할 수 있습니다.

시작하기 전에

  1. GCP 프로젝트로 gcloud를 구성합니다.
  2. 공유 VPC 개념을 숙지합니다.
  3. 공유 VPC 네트워크 한 개 이상이 포함된 호스트 프로젝트를 사용 설정합니다. 공유 VPC 관리자가 이 작업을 수행해야 합니다.
  4. 공유 VPU 네트워크에 서비스 프로젝트를 한 개 이상 연결합니다. 공유 VPC 관리자가 이 작업을 수행해야 합니다.
  5. 호스트 프로젝트에서 VPC 네트워크를 만듭니다.

비공개 서비스 액세스 구성

비공개 서비스 액세스는 개발자의 네트워크와 Cloud TPU 서비스 네트워크 간에 VPC 피어링을 만드는 데 사용됩니다. 공유 VPC와 함께 TPU를 사용하려면 먼저 네트워크에 비공개 서비스 액세스 연결을 구축해야 합니다.

  1. 공유 VPC 호스트 프로젝트의 프로젝트 ID를 가져온 후 다음과 같이 프로젝트 ID를 사용하여 gcloud 명령어를 구성합니다.

      gcloud config set project your-network-host-project-id
    

    프로젝트 ID는 Google Cloud Console에서 가져올 수 있습니다.

  2. 다음 gcloud 명령어를 사용하여 Service Networking API를 사용 설정합니다.

      gcloud services enable servicenetworking.googleapis.com
    

    Google Cloud Console에서도 Service Networking API를 사용 설정할 수 있습니다.

  3. 서비스 네트워킹에서 사용할 예약된 주소 범위를 할당합니다. prefix-length는 24 이하여야 합니다. 예를 들면 다음과 같습니다.

      gcloud compute addresses create SN-RANGE-1 --global 
    --addresses=10.110.0.0
    --prefix-length=16
    --purpose=VPC_PEERING
    --network=your-host-network

  4. 비공개 서비스 액세스 연결을 구축합니다.

      gcloud services vpc-peerings connect --service=servicenetworking.googleapis.com --ranges=SN-RANGE-1 --network=your-host-network

  5. 네트워크에 비공개 서비스 액세스 연결이 구축되어 있는지 확인합니다. 이미 구축되어 있는 경우 공유 VPC와 함께 TPU를 사용할 수 있습니다.

비공개 서비스 액세스 확인

다음 명령어를 실행하여 네트워크에 비공개 서비스 액세스 연결이 구축되어 있는지 확인합니다.

gcloud services vpc-peerings list --network=network-name

공유 VPC 네트워크에서 TPU 사용

Google 서비스 네트워크로 VPC 네트워크를 구축한 후에는 Cloud TPU 프로비저닝을 시작할 수 있습니다.

gcloud 구성

  1. 프로젝트 ID의 변수를 만듭니다.

    export PROJECT_ID=project-id
    
  2. Cloud TPU를 만들려는 프로젝트를 사용하도록 gcloud 명령줄 도구를 구성합니다.

    gcloud config set project ${PROJECT_ID}
    

TPU API 활성화

Cloud TPU를 사용하려면 프로젝트에서 TPU API를 활성화해야 합니다. 다음 gcloud 명령어를 실행하여 TPU API를 사용 설정합니다.

gcloud services enable tpu.googleapis.com

Google Cloud Console에서도 사용 설정할 수 있습니다.

Service Networking API 활성화

공유 VPC 네트워크에서 TPU를 만들려면 서비스 프로젝트에서 Service Networking API를 활성화해야 합니다. 이 작업을 Cloud Platform 프로젝트마다 한 번만 수행해야 합니다. 다음 gcloud 명령어를 실행하여 Service Networking API를 사용 설정합니다.

gcloud services enable servicenetworking.googleapis.com

Google Cloud Console에서도 사용 설정할 수 있습니다.

TPU 만들기

gcloud CLI를 통해 Cloud TPU를 만들 수 있습니다.

gcloud alpha/beta compute tpus create tpu-name --zone zone --accelerator-type $ACCELERATOR_TYPE --network $HOST_NETWORK --use-service-networking
  • gcloud 알파 또는 베타 트랙을 사용하여 TPU를 만듭니다.
  • 공유 VPC 네트워크에 연결할 수 있는 Cloud TPU를 만들려면 use-service-networkingtrue로 설정해야 합니다.
  • 공유 VPC 네트워크를 사용하는 경우 네트워크 필드에는 호스트 프로젝트 ID 또는 호스트 프로젝트 번호와 네트워크 이름이 포함되어야 합니다. projects/my-host-project-id/global/networks/my-network)
  • Cloud TPU를 지원하는 GCP 영역에 대한 자세한 내용은 사용 가능한 영역을 참조하세요.

TPU에 대한 정보 가져오기

TPU API 요청을 통해 TPU 노드의 세부정보를 가져올 수 있습니다.

gcloud compute tpus describe tpu-name --zone zone

응답 본문에는 cidrBlock을 비롯한 TPU 노드 인스턴스에 대한 정보가 포함됩니다.

TPU 나열

TPU API 요청을 통해 Cloud TPU 목록을 가져올 수 있습니다.

gcloud compute tpus list tpu-name --zone zone

TPU 삭제

TPU API 요청을 통해 생성된 Cloud TPU를 삭제할 수 있습니다.

gcloud compute tpus delete tpu-name --zone zone

VPC 피어링 삭제

컴퓨팅 네트워킹 API를 사용하여 피어링 연결을 해제할 수 있습니다. 이러한 호출은 공유 VPC 호스트 프로젝트에서 수행되어야 합니다.

  1. 모든 VPC 피어링을 나열합니다.

    gcloud compute networks peerings list --network=network-name
    
  2. VPC 피어링을 삭제합니다.

    gcloud compute networks peerings delete peering-name --network=network-name