API 탭에 drest 출력 추가

이 가이드에서는 예시를 통해 API 탭에 drest 출력을 추가하는 방법을 설명합니다.

클라이언트 VM 만들기

다음 예시에서는 백엔드(서버) VM과 동일한 리전에 클라이언트 VM(vm-client)을 만듭니다. 클라이언트는 부하 분산기의 구성을 검사하고 테스트 섹션의 설명대로 예상되는 동작을 보여줍니다.

Console

  1. Google Cloud Console의 VM 인스턴스 페이지로 이동합니다.
    VM 인스턴스 페이지로 이동
  2. 인스턴스 만들기를 클릭합니다.
  3. 이름vm-client로 설정합니다.
  4. 영역us-west1-a로 설정합니다.
  5. 관리, 보안, 디스크, 네트워킹, 단독 테넌시를 클릭하고 다음과 같이 변경합니다.
    • 네트워킹을 클릭하고 네트워크 태그allow-ssh를 추가합니다.
    • 네트워크 인터페이스 아래의 수정 버튼을 클릭하고 다음을 변경한 후 완료를 클릭합니다.
      • 네트워크: lb-network
      • 서브넷: lb-subnet
      • 기본 내부 IP: 임시(자동)
      • 외부 IP: 임시
  6. 만들기를 클릭합니다.

gcloud

클라이언트 VM은 부하 분산기와 동일한 리전의 어떤 영역에든 위치할 수 있으며 그 리전의 어떤 서브넷이든 사용할 수 있습니다. 다음 예시에서 클라이언트는 us-west1-a 영역에 위치하며 백엔드 VM과 동일한 서브넷을 사용합니다.

gcloud compute instances create vm-client \
    --zone=us-west1-a \
    --image-family=debian-9 \
    --image-project=debian-cloud \
    --tags=allow-ssh \
    --subnet=lb-subnet

API

instances.insert 메서드에 POST 요청을 실행합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • `PROJECT_ID`: 프로젝트 ID
  • `ZONE`: us-west1-a
  • `NETWORK`: lb-network
  • `SUBNET`: lb-subnet

HTTP 메서드 및 URL:

POST https://www.googleapis.com/compute/v1/projects/`PROJECT_ID`/zones/`ZONE`/instances

JSON 요청 본문:

{
  "kind": "compute#instance",
  "name": "`VM_NAME`",
  "zone": "projects/`PROJECT_ID`/zones/`ZONE`",
  "machineType": "projects/`PROJECT_ID`/zones/`ZONE`/machineTypes/n1-standard-1",
  "displayDevice": {
    "enableDisplay": false
  },
  "metadata": {
    "kind": "compute#metadata",
    "items": []
  },
  "tags": {
    "items": []
  },
  "disks": [
    {
      "kind": "compute#attachedDisk",
      "type": "PERSISTENT",
      "boot": true,
      "mode": "READ_WRITE",
      "autoDelete": true,
      "deviceName": "`VM_NAME`",
      "initializeParams": {
        "sourceImage": "projects/eip-images/global/images/debian-9-drawfork-v20190702",
        "diskType": "projects/`PROJECT_ID`/zones/`ZONE`/diskTypes/pd-standard",
        "diskSizeGb": "10"
      },
      "diskEncryptionKey": {}
    }
  ],
  "canIpForward": false,
  "networkInterfaces": [
    {
      "kind": "compute#networkInterface",
      "subnetwork": "projects/`PROJECT_ID`/regions/us-central1/subnetworks/`SUBNET`",
      "accessConfigs": [
        {
          "kind": "compute#accessConfig",
          "name": "External NAT",
          "type": "ONE_TO_ONE_NAT",
          "networkTier": "PREMIUM"
        }
      ],
      "aliasIpRanges": []
    }
  ],
  "description": "",
  "labels": {},
  "scheduling": {
    "preemptible": false,
    "onHostMaintenance": "MIGRATE",
    "automaticRestart": true,
    "nodeAffinities": []
  },
  "deletionProtection": false,
  "reservationAffinity": {
    "consumeReservationType": "ANY_RESERVATION"
  },
  "serviceAccounts": [
    {
      "email": "893700239234-compute@developer.gserviceaccount.com",
      "scopes": [
        "https://www.googleapis.com/auth/devstorage.read_only",
        "https://www.googleapis.com/auth/logging.write",
        "https://www.googleapis.com/auth/monitoring.write",
        "https://www.googleapis.com/auth/servicecontrol",
        "https://www.googleapis.com/auth/service.management.readonly",
        "https://www.googleapis.com/auth/trace.append"
      ]
    }
  ]
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
 "id": "8061072881391620712",
 "name": "operation-1565289606387-58f9f62f5989c-e582f586-6d22f38d",
 "zone": "https://www.googleapis.com/compute/v1/projects/`PROJECT_ID`/zones/`ZONE`",
 "operationType": "insert",
 "targetLink": "https://www.googleapis.com/compute/v1/projects/`PROJECT_ID`/zones/`ZONE`/instances/`VM_NAME`",
 "targetId": "2977231178150564457",
 "status": "RUNNING",
 "user": "betsyl@google.com",
 "progress": 0,
 "insertTime": "2019-08-08T11:40:07.728-07:00",
 "startTime": "2019-08-08T11:40:07.731-07:00",
 "selfLink": "https://www.googleapis.com/compute/v1/projects/`PROJECT_ID`/zones/`ZONE`/operations/operation-1565289606387-58f9f62f5989c-e582f586-6d22f38d",
 "kind": "compute#operation"
}

다음 단계

  • drest 사용 시작하기