Quando você cria uma instância de máquina virtual (VM), o Google Cloud gera um nome DNS interno a partir do nome da VM. A menos que você especifique um nome de host personalizado, o Google Cloud usará o nome de DNS interno criado automaticamente como o nome do host fornecido para a VM.
Para criar uma VM com um nome de host personalizado, especifique qualquer nome de DNS totalmente qualificado. Os nomes de host personalizados são úteis para manter convenções ou permitir a compatibilidade com requisitos de aplicativos que aceitam um nome de host específico.
Mesmo ao especificar um nome de host personalizado, o Google Cloud cria o nome de DNS interno do Compute Engine. É possível se conectar à VM usando esse registro DNS interno criado automaticamente. O registro DNS interno resolve como o nome de DNS interno e não como o nome de host personalizado. Com nomes de host personalizados, você ainda precisa criar um registro DNS correspondente na zona apropriada (por exemplo, usando o Cloud DNS).
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
-
compute.instances.create
no projeto -
Usar uma imagem personalizada a fim de criar a VM:
compute.images.useReadOnly
na imagem -
Usar um snapshot para criar a VM:
compute.snapshots.useReadOnly
no snapshot -
Usar um modelo de instância para criar a VM:
compute.instanceTemplates.useReadOnly
no modelo de instância -
Atribuir uma rede legada à VM:
compute.networks.use
no projeto -
Especificar um endereço IP estático para a VM:
compute.addresses.use
no projeto -
Atribuir um endereço IP externo à VM ao usar uma rede legada:
compute.networks.useExternalIp
no projeto -
Especificar uma sub-rede para a VM:
compute.subnetworks.use
no projeto ou na sub-rede escolhida -
Atribuir um endereço IP externo à VM ao usar uma rede VPC:
compute.subnetworks.useExternalIp
no projeto ou na sub-rede escolhida -
Definir os metadados da instância de VM para a VM:
compute.instances.setMetadata
no projeto -
Definir tags para a VM:
compute.instances.setTags
na VM -
Definir rótulos para a VM:
compute.instances.setLabels
na VM -
Definir uma conta de serviço a ser usada pela VM:
compute.instances.setServiceAccount
na VM -
Criar um disco para a VM:
compute.disks.create
no projeto -
Anexar um disco atual no modo somente leitura ou de leitura e gravação:
compute.disks.use
no disco -
Anexar um disco atual no modo somente leitura:
compute.disks.useReadOnly
no disco Você precisa configurar manualmente o registro DNS com o nome de host personalizado. Os nomes de host personalizados não são resolvidos por registros criados automaticamente pelo DNS interno do Compute Engine. Use um dos itens a seguir para hospedar o registro DNS do nome de host personalizado:
Qualquer outro servidor de nomes DNS público
Após criar a VM, não é possível alterar um nome de host personalizado.
- O nome do host contém pelo menos dois rótulos descritos da seguinte forma:
- Cada rótulo contém expressões regulares que incluem apenas estes caracteres:
[a-z]([-a-z0-9]*[a-z0-9])?
. - Os rótulos são concatenados com um ponto.
- Cada rótulo tem de 1 a 63 caracteres.
- Cada rótulo contém expressões regulares que incluem apenas estes caracteres:
- O nome do host não excede 253 caracteres.
No console do Google Cloud, acesse a página Criar uma instância.
Especifique um Nome para sua VM. Saiba mais em Convenção de nomenclatura de recursos.
Expanda a seção Opções avançadas e depois faça o seguinte:
- Expanda a seção Rede.
- No campo Hostname, especifique o nome de host personalizado.
Faça outras personalizações de VM conforme necessário.
Para criar e iniciar a VM, clique em Criar.
VM_NAME
: o nome da VMHOST_NAME
: o nome do host do domínio totalmente qualificado que será atribuído.- No console do Google Cloud, acesse a página Instâncias de VMs.
- Clique em Criar instância.
- Especifique os parâmetros desejados.
- Na parte superior ou inferior da página, clique em Código equivalente e, em seguida, clique na guia Terraform para ver o código do Terraform.
Para visualizar o nome do host personalizado para sua VM, acesse a página Instâncias de VM.
Clique no nome da instância para abrir a página Detalhes da instância de VM.
Revise a seção Nome do host. O campo Nome do host fica visível apenas se um nome de host personalizado estiver definido.
Terraform
Para usar os exemplos do Terraform nesta página em um ambiente de desenvolvimento local, instale e inicialize a gcloud CLI e, em seguida, configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Go
Para usar os exemplos Go desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Java
Para usar os exemplos Java desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Node.js
Para usar os exemplos Node.js desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
Python
Para usar os exemplos Python desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
Confira mais informações em Set up authentication for a local development environment.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Funções exigidas
Para ter as permissões necessárias e criar uma VM com um nome de host personalizado, peça ao administrador para conceder a você o papel do IAM de Administrador da instância do Compute (v1) (
roles/compute.instanceAdmin.v1
) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.Esse papel predefinido contém as permissões necessárias para criar uma VM com um nome de host personalizado. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para criar uma VM com um nome de host personalizado:
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Limitações
Sistemas operacionais compatíveis
Os nomes de host personalizados são definidos no ambiente convidado usando scripts de gancho que se integram ao software de rede do convidado. Os sistemas operacionais Linux que não têm um script para integração com o software de rede do convidado podem não ter o nome de host correto.
Para conferir a lista completa de versões de sistema operacional compatíveis com nomes de host personalizados, verifique o suporte ao ambiente convidado em Detalhes do sistema operacional.
Convenção de nomenclatura
Os nomes de host personalizados precisam estar em conformidade com os requisitos do RFC 1035 para nomes de host válidos. Para atender a esses requisitos, os nomes do host personalizados precisam atender às seguintes especificações de formato:
Inválido: contém um único rótulo
my-host1234
Válido: contém três rótulos concatenados com pontos
my-host1234.example.com
Criar uma VM com um nome de host personalizado
Console
Próxima etapa: configure seus registros DNS. Para mais informações, consulte Como gerenciar registros.
gcloud
Usando a Google Cloud CLI, siga as instruções para criar uma instância a partir de uma imagem ou um snapshot, adicione o
--hostname
e use o comandogcloud compute instances create
da seguinte maneira:gcloud compute instances create VM_NAME \ --hostname=HOST_NAME
Substitua:
Por exemplo, para criar uma VM
myinstance
com o nome de host personalizadotest.example.com
, execute o seguinte comando:gcloud compute instances create myinstance \ --hostname=test.example.com
Próxima etapa: configure seus registros DNS. Para mais informações, consulte Como gerenciar registros.
Terraform
Use um recurso do Terraform para criar uma instância com um nome de host personalizado usando o argumento
Para gerar o código do Terraform, use o componente Código equivalente no Console do Google Cloud.hostname
.Próxima etapa: configure seus registros DNS. Para mais informações, consulte Como gerenciar registros.
Go
Java
Node.js
Python
REST
Siga as instruções da API para criar uma instância a partir de uma imagem ou de um snapshot e especifique o campo
hostname
no corpo da solicitação.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "hostname": "HOST_NAME", ... }
Substitua:
Verifique o nome do host personalizado
Para VMs do Linux, verifique o nome do host executando o comando
hostname -f
na VM.Também é possível verificar o nome de host personalizado usando o console do Google Cloud ou a Google Cloud CLI.
Console
gcloud
Para ver o nome de host personalizado da VM usando
gcloud compute
, use o subcomandoinstances describe
com uma sinalização--format
para filtrar a saída. SubstituaVM_NAME
pelo nome da VM.gcloud compute instances describe VM_NAME \ --format='get(hostname)'
Por exemplo, para visualizar o nome do host personalizado de uma VM chamada
myinstance
, execute o comando a seguir.gcloud compute instances describe myinstance \ --format='get(hostname)'
A saída pode ser semelhante a esta:
test.example.com
Se um nome de host personalizado não estiver definido, a saída desse comando ficará em branco.
A seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-12-22 UTC.
-