Neste guia, usamos um exemplo para ensinar como adicionar a saída drest a uma guia da API.
Como criar uma VM cliente
Neste exemplo, criamos uma VM cliente (vm-client
) na mesma região das VMs de back-end (servidor). O cliente é usado para validar a configuração do balanceador de carga e demonstrar o comportamento esperado, conforme descrito na seção de teste.
Console
- Acesse a página Instâncias de VM no Console do Google Cloud.
Acessar a página "Instâncias de VM" - Clique em Criar instância.
- Defina o Nome como
vm-client
. - Defina a Zona como
us-west1-a
. - Clique em Gerenciamento, segurança, discos, rede, locatário individual e faça as alterações a seguir:
- Clique em Rede e adicione
allow-ssh
a Tags de rede. - Clique no botão de editar em Interfaces de rede e faça as alterações a seguir. Depois, clique em Concluído:
- Rede:
lb-network
- Sub-rede:
lb-subnet
- IP interno primário: temporário (automático)
- IP externo: temporário
- Rede:
- Clique em Rede e adicione
- Clique em Criar.
gcloud
A VM cliente pode estar em qualquer zona na mesma região que o balanceador de carga, podendo usar qualquer sub-rede nessa região. Neste exemplo, o cliente está na zona us-west1-a
e usa a mesma sub-rede das VMs de back-end.
gcloud compute instances create vm-client \ --zone=us-west1-a \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=allow-ssh \ --subnet=lb-subnet
api
Faça uma solicitação POST
ao método instances.insert
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto
- ZONE: us-west1-a
- NETWORK: lb-network
- SUBNET: lb-subnet
Método HTTP e URL:
POST https://www.googleapis.com/compute/v1/projects/`PROJECT_ID`/zones/`ZONE`/instances
Corpo JSON da solicitação:
{ "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/debian-cloud/global/images/debian-10-buster-v20220719", "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" ] } ] }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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" }
A seguir
- Comece a usar o drest! :)