Pedir hardware

Esta página descreve como pedir hardware conectado do Google Distributed Cloud. O Distributed Cloud conectado está disponível nos seguintes países:

  • Austrália
  • Áustria
  • Bélgica
  • Brasil
  • Canadá
  • Chile
  • Dinamarca
  • Finlândia
  • França
  • Alemanha
  • Hong Kong
  • Japão
  • Índia
  • Indonésia
  • Itália
  • Malásia
  • México
  • Países Baixos
  • Noruega
  • Polônia
  • Arábia Saudita
  • Singapura
  • Coreia do Sul
  • Espanha
  • Suécia
  • Suíça
  • Reino Unido
  • Estados Unidos
  • Uruguai

Antes de pedir o hardware, atenda aos requisitos de instalação do Distributed Cloud conectado.

Modelos de aquisição do Distributed Cloud conectado

É possível pedir o hardware conectado do Distributed Cloud de uma das seguintes maneiras, com base nos requisitos de negócios:

  • Hardware de propriedade do Google. Você pode pedir o hardware conectado do Distributed Cloud diretamente do Google. Nesse cenário, o Google fornece, mantém, repara e desativa o hardware conectado do Distributed Cloud. Quando o contrato termina, o Google coleta o hardware do Distributed Cloud e destrói todos os dados armazenados nele.

  • Hardware fornecido pelo cliente. Você pode pedir o Distributed Cloud conectado de um integrador de sistemas (SI, na sigla em inglês) certificado pelo Google depois de consultar o Google sobre uma configuração de implantação que atenda aos requisitos de negócios. Nesse cenário, você é o proprietário do hardware conectado do Distributed Cloud. O SI trabalha com você e o Google para implantar, reparar e desativar o hardware. Quando o contrato termina, o SI apaga todos os softwares do Google e seus dados do hardware conectado do Distributed Cloud. Em seguida, você pode reutilizar ou descartar o hardware. Esse tipo de aquisição está disponível apenas para servidores conectados do Distributed Cloud.

Pré-requisitos

Você precisa ter as seguintes informações prontas antes de fazer um pedido:

  • Contato do pedido. Uma pessoa responsável por gerenciar a implantação do hardware conectado do Distributed Cloud na sua organização.

  • Contato do site. Uma pessoa responsável pelo site de implantação selecionado. O Google entra em contato com essa pessoa para agendar e concluir a entrega do hardware conectado do Distributed Cloud. Essa pessoa também coordena reparos e desativação de hardware com o Google ou um SI certificado pelo Google.

  • Contato da zona. Uma pessoa responsável por integrar o hardware conectado do Distributed Cloud à infraestrutura de rede e energia existente no site de implantação.

  • Identificador do pedido. Um identificador significativo para esse pedido de hardware conectado do Distributed Cloud.

  • Identificador do site. Um identificador significativo para o site de implantação desse pedido de hardware conectado do Distributed Cloud.

  • Identificador da zona. Um identificador significativo para a zona conectada do Distributed Cloud de destino. Se você estiver implantando apenas uma zona por site, use o identificador do site como o identificador da zona.

Pedir hardware conectado do Distributed Cloud usando o Google Cloud console

  1. No Google Cloud console, acesse a página Pedidos.

    Acessar pedidos

  2. Selecione oprojetode destino Google Cloud .

  3. Clique em Criar pedido.

  4. Preencha e envie o formulário de solicitação.

Um Google Cloud representante de vendas analisa o envio e entra em contato com você para concluir o pedido. O representante faz o seguinte:

  • Analisa seus requisitos de negócios para ajudar você a finalizar a configuração de hardware.
  • Coleta mais informações sobre sua rede local, Google Cloud projeto, site de instalação e outros requisitos listados nos requisitos de instalação.
  • Usa essas informações para configurar o hardware do Distributed Cloud antes da entrega.

Pedir hardware conectado do Distributed Cloud usando a API GDC Hardware Management

A API GDC Hardware Management permite fazer um pedido de hardware do Distributed Cloud de forma programática. Um pedido constitui sua intenção de implantar o Distributed Cloud conectado. Um pedido precisa incluir as seguintes informações, que são usadas durante todo o ciclo de vida da implantação conectada do Distributed Cloud:

  • Ponto de contato para gerenciamento e entrega de pedidos
  • Endereço do site de entrega e informações relevantes para a entrega
  • Configuração de hardware
  • Configuração de rede

Trabalhe com seu representante de vendas do Google para preencher o Questionário de informações do cliente (CIQ, na sigla em inglês) e finalizar o escopo e a configuração da implantação conectada do Distributed Cloud.

Ativar a API GDC Hardware Management

Antes de usar a API GDC Hardware Management, ative-a no projeto de destino Google Cloud . Para fazer isso, conclua as etapas desta seção.

Console

  1. No Google Cloud console, acesse a página API Management de Hardware GDC.

    Ativar a API

  2. Clique em Ativar.

gcloud

Use o comando a seguir:

gcloud services enable gdchardwaremanagement.googleapis.com

Estrutura de um pedido

Para fazer um pedido usando a API GDC Hardware Management, crie um recurso Order, além dos recursos Site, Zone e Hardware que o recurso Order referencia. Em seguida, envie o recurso Order ao Google. Esses recursos oferecem suporte a operações CRUD padrão. O nome de cada recurso é um caminho que inclui o ID do projeto de destino e região. Google Cloud Google Cloud

Esses recursos têm as seguintes funções. Para mais informações sobre como usar a API GDC Hardware Management, consulte a referência da API e da CLI do Google Distributed Cloud.

  • Order. Esse recurso solicita a criação de uma ou mais zonas do Distributed Cloud. Ao criar esse recurso, ele recebe um nome acessível no campo create_order_response.name. O nome do recurso Order tem o seguinte formato:

    `projects/`PROJECT_ID`/locations/`REGION`/orders/`ORDER_ID

    em que:

    • PROJECT_ID: o ID doprojetode destino. Google Cloud
    • REGION: aregião em que você quer implantar as zonas do Distributed Cloud. Google Cloud
    • ORDER_ID: um ID exclusivo que identifica esse pedido. Se omitido, um valor será gerado automaticamente. Recomendamos que você forneça um valor de ID de pedido exclusivo que consista em letras minúsculas, números e traços. Caso contrário, as chamadas de criação de pedidos com falha poderão gerar pedidos duplicados.
  • Site. Esse recurso representa o local físico em que você quer implantar o hardware do Distributed Cloud. Esse recurso inclui as dados de contato de uma parte responsável que coordena o acesso para entrega inicial e manutenção futura. Esse contato pode ser diferente do que você forneceu no pedido.

  • Hardware. Esse recurso instancia uma SKU conectada do Distributed Cloud e representa um servidor ou rack do Distributed Cloud. Cada recurso Hardware referencia os recursos Order,Site e Zone associados. Para conferir as SKUs disponíveis, use a ListSkus chamada de API.

  • Zone. Esse recurso especifica a configuração de rede das máquinas conectadas do Distributed Cloud e dos clusters associados. Uma zona do Distributed Cloud abrange um ou mais racks conectados do Distributed Cloud ou todas as máquinas de servidor conectadas do Distributed Cloud implantadas no seu local.

Quando você envia um Order recurso ao Google e o status dele muda de DRAFT para SUBMITTED ou INFO_COMPLETE, a maioria dos valores de campo se torna somente leitura.

Ciclo de vida de um pedido

Um recurso Order pode ter um dos estados listados em State. As partes envolvidas podem deixar comentários no pedido, que são armazenados como recursos Comment aninhados no recurso Order correspondente. É possível ler e enviar comentários pela API GDC Hardware Management e pelo Google Cloud console.

A API GDC Hardware Management oferece suporte às seguintes operações de ciclo de vida de pedidos:

  • Criar e enviar um pedido. É possível criar e enviar um pedido imediatamente ou criá-lo gradualmente e salvá-lo em um estado DRAFT até que esteja pronto para envio. Esse processo é descrito no restante deste guia.

  • Verificar o status do pedido. Se o pedido for enviado com tipo INFO_COMPLETE e você tiver assinado um contrato com o Google, o pedido vai passar pela seguinte sucessão de estados: ACCEPTED, BUILDING, SHIPPING, INSTALLING e COMPLETED. Os estados dos recursos Zone e Hardware associados são atualizados em sincronia com o recurso Order.

  • Resolver problemas de pedidos. Se precisarmos de mais informações ou você não tiver assinado um contrato com o Google, o pedido vai entrar no estado ADDITIONAL_INFO_NEEDED e aguardar a resolução por meio de comentários. Procure mais instruções em um comentário e entre em contato com o Google se as próximas etapas não estiverem claras.

  • Excluir um pedido não enviado. É possível excluir um pedido não enviado com uma DELETE chamada.

  • Modificar um pedido enviado. É possível modificar o pedido, site, e zona enviados usando a chamada PATCH respectiva. Os seguintes campos podem ser editados após o envio:

    • Todos os recursos: display_name, labels
    • Pedido: organization_contact
    • Site: access_times, a maioria dos campos de organization_contact, mas não o endereço do site
    • Hardware: requested_installation_date se pelo menos uma das seguintes condições for verdadeira:
      • A nova data é >45 dias a partir de agora
      • A nova requested_installation_date é posterior à requested_installation_date atual e estimated_installation_date está vazia
      • A nova requested_installation_date é posterior à requested_installation_date atual e estimated_installation_date é de pelo menos 7 dias a partir de agora

    Nenhuma outra informação poderá ser modificada depois que um pedido for enviado, mas você poderá pedir ao Google que faça isso colocando um comentário.

  • Cancelar um pedido enviado. É possível cancelar um pedido enviado adicionando um comentário solicitando o cancelamento.

Selecionar oprojetode destino Google Cloud

Um Google Cloud projeto é uma construção que encapsula um conjunto de Google Cloud recursos, os disponibiliza para uso e estabelece regras de controle de acesso e faturamento para esses recursos.

Recomendamos que você crie um Google Cloud projetoseparado por domínio administrativo, como um país ou departamento corporativo, e um caso de uso de alto nível, como borda versus núcleo, e gerencie a implantação conectada do Distributed Cloud para o domínio por meio desse Google Cloud projeto.

O Google Cloud projeto permite realizar as seguintes tarefas de gerenciamento:

  • Pedir hardware conectado do Distributed Cloud.
  • Configurar clusters conectados do Distributed Cloud e registrá-los em uma frota.
  • Gerenciar lançamentos de software.
  • Gerenciar dados conectados do Distributed Cloud no Cloud Storage.
  • Gerenciar credenciais conectadas do Distributed Cloud no Secret Manager.
  • Gerenciar registros e métricas conectados do Distributed Cloud no Cloud Monitoring.

A topologia exata do seu Google Cloud projeto depende dos requisitos de negócios. Recomendamos que você evite dependências entre projetos e sempre crie e use recursos dentro de cada Google Cloud projeto.

O hardware pedido em um Google Cloud projetospecífico é sempre gerenciado nesse Google Cloud projeto.

Selecionar aregião de destino Google Cloud

A escolha específica de Google Cloud regiões para sua implantação conectada do Distributed Cloud depende dos requisitos de negócios e das ramificações legais dos locais geográficos de destino.

Se você estiver integrando sua implantação conectada do Distributed Cloud a uma área de cobertura multirregional existente Google Cloud , recomendamos que você mapeie cada zona conectada do Distributed Cloud para a Google Cloud região que hospeda as dependências dessa zona.

Se você não estiver integrando a implantação conectada do Distributed Cloud a uma área de cobertura existente Google Cloud, recomendamos que você diversifique a seleção de Google Cloud regiões para aumentar a confiabilidade. Exemplo:

  • Mapeie cada zona conectada do Distributed Cloud para a região com suporte mais próxima Google Cloud . Isso limita o impacto de uma falha do plano de gerenciamento a uma única região geográfica.
  • Faça a distribuição do Distributed Cloud conectado em várias Google Cloud regiões. Isso limita o número de zonas conectadas do Distributed Cloud que podem ser afetadas por uma falha do plano de gerenciamento. No entanto, as zonas afetadas são distribuídas por uma região geográfica maior.

    O Distributed Cloud conectado oferece suporte às seguintes Google Cloud regiões:

  • Ásia: asia-east1, asia-east2, asia-northeast1, asia-northeast3, asia-south1, asia-south2, asia-southeast1, asia-southeast2

  • Europa: europe-central2, europe-north1, europe-west1, europe-west2, europe-west3, europe-west4, europe-west6, europe-west8, europe-west9

  • Oriente Médio: me-central1, me-west1

  • Oceania: australia-southeast1

  • América do Norte: northamerica-northeast1, northamerica-northeast2, us-central1, us-central2, us-east1, us-east4, us-east5, us-east7, us-south1, us-west1, us-west2, us-west3, us-west4, us-west8

  • América do Sul: southamerica-east1, southamerica-west1

Configurar o ambiente

Antes de começar, conclua os seguintes pré-requisitos:

  1. Configurar um ambiente de desenvolvimento para Python.

  2. Instale a biblioteca de cliente da API Management do Hardware GDC usando o seguinte comando:

    python3 -m pip install google-cloud-gdchardwaremanagement
    
  3. Ative a API Management de Hardware GDC no projeto Google Cloud de destino.

Criar e enviar um pedido de hardware conectado do Distributed Cloud usando a API de Gerenciamento do GDC Hardware

As etapas desta seção são exemplos que ilustram como criar e enviar um recurso Order ao Google usando a API Management do GDC Hardware. Para concluir as etapas desta seção, você precisa ter o papel de administrador do GDC Hardware Management (roles/gdchardwaremanagement.admin) no seu Google Cloud projeto. Para mais detalhes sobre os tipos e métodos disponíveis, consulte a referência da biblioteca de cliente do Python.

  1. Crie um recurso Order. Exemplo:

    import datetime
    from google.cloud import gdchardwaremanagement_v1alpha
    from google.protobuf.timestamp_pb2 import Timestamp
    from google.type import postal_address_pb2
    
    client = gdchardwaremanagement_v1alpha.GDCHardwareManagementClient()
    
    contact = gdchardwaremanagement_v1alpha.Contact(
        given_name="John",
        family_name="Customer",
        email="jcustomer@example.com",
        phone="+1 123 456 7890",
    )
    
    organization_contact = gdchardwaremanagement_v1alpha.OrganizationContact(
        address=postal_address_pb2.PostalAddress(
            organization="Example Organization",
            address_lines=["1800 Amphibious Blvd."],
            locality="Mountain View",
            administrative_area="CA",
            postal_code="94045",
            region_code="US",
        ),
        contacts=[contact],
    )
    
    order = gdchardwaremanagement_v1alpha.Order(
        organization_contact=organization_contact,
        customer_motivation="I like Google Distributed Cloud!",
        fulfillment_time=Timestamp(
            seconds=int(datetime.datetime(2024, 11, 22, 9, 0).timestamp()),
        ),
        region_code="US",
    )
    
    create_order_response = client.create_order(
        request=gdchardwaremanagement_v1alpha.CreateOrderRequest(
            parent="projects/myProject/locations/us-east1",
            order_id="myOrderID",
            order=order,
        ),
    ).result()

    Seu pedido agora está no estado DRAFT e recebeu um nome de recurso armazenado no campo create_order_response.name. Use esse nome de recurso ao modificar ou acompanhar o status desse pedido.

  2. Crie um recurso Site. Exemplo:

    site = gdchardwaremanagement_v1alpha.Site(
        organization_contact=organization_contact,
        google_maps_pin_uri="https://maps.app.goo.gl/z7bE8z8fffg6Sri46",
    )
    
    create_site_response = client.create_site(
        request=gdchardwaremanagement_v1alpha.CreateSiteRequest(
            parent="projects/myProject/locations/us-east1",
            site_id="mySite",
            site=site,
        ),
    ).result()
  3. Crie um recurso Zone. Exemplo:

    zone = gdchardwaremanagement_v1alpha.Zone(
        contacts=[contact],
        network_config=gdchardwaremanagement_v1alpha.ZoneNetworkConfig(
            management_ipv4_subnet=gdchardwaremanagement_v1alpha.Subnet(
                address_range="192.0.2.0/24",
                default_gateway_ip_address="192.0.2.1",
            ),
            machine_mgmt_ipv4_range="192.0.2.8/29",
            kubernetes_ipv4_subnet=gdchardwaremanagement_v1alpha.Subnet(
                address_range="203.0.113.0/24",
                default_gateway_ip_address="203.0.113.1",
            ),
            kubernetes_node_ipv4_range="203.0.113.8/29",
            kubernetes_control_plane_ipv4_range="203.0.113.16/29",
        ),
    )
    
    create_zone_response = client.create_zone(
        request=gdchardwaremanagement_v1alpha.CreateZoneRequest(
            parent="projects/myProject/locations/us-east1",
            zone_id="myZone",
            zone=zone,
        ),
    ).result()
  4. Crie os recursos Hardware. É necessário especificar um valor hardware_id exclusivo para cada máquina na implantação conectada do Distributed Cloud. Exemplo:

    from google.type import date_pb2
    
    hardware = gdchardwaremanagement_v1alpha.Hardware(
        order=create_order_response.name,
        site=create_site_response.name,
        zone=create_zone_response.name,
        config=gdchardwaremanagement_v1alpha.HardwareConfig(
            sku="projects/myProject/locations/us-east1/skus/gdce-server-l",
            power_supply=gdchardwaremanagement_v1alpha.types.PowerSupply.POWER_SUPPLY_AC,
        ),
        physical_info=gdchardwaremanagement_v1alpha.HardwarePhysicalInfo(
            power_receptacle=gdchardwaremanagement_v1alpha.types.HardwarePhysicalInfo.PowerReceptacleType.NEMA_5_15,
            network_uplink=gdchardwaremanagement_v1alpha.types.HardwarePhysicalInfo.NetworkUplinkType.RJ_45,
            voltage=gdchardwaremanagement_v1alpha.types.HardwarePhysicalInfo.Voltage.VOLTAGE_110,
            amperes=gdchardwaremanagement_v1alpha.types.HardwarePhysicalInfo.Amperes.AMPERES_15,
        ),
        installation_info=gdchardwaremanagement_v1alpha.HardwareInstallationInfo(
            rack_location="Floor 2, Room 201, Row 7, Rack 3",
            power_distance_meters=2,
            switch_distance_meters=2,
            rack_unit_dimensions=gdchardwaremanagement_v1alpha.Dimensions(
                width_inches=19,
                height_inches=1.75,
                depth_inches=30,
            ),
            rack_space=gdchardwaremanagement_v1alpha.RackSpace(
                start_rack_unit=12,
                end_rack_unit=12,
            ),
            rack_type=gdchardwaremanagement_v1alpha.types.HardwareInstallationInfo.RackType.FOUR_POST,
        ),
        requested_installation_date=date_pb2.Date(year=2024, month=11, day=22),
    )
    
    create_hardware_response = client.create_hardware(
        request=gdchardwaremanagement_v1alpha.CreateHardwareRequest(
            parent="projects/myProject/locations/us-east1",
            hardware_id="machineHardwareID",
            hardware=hardware,
        ),
    ).result()
  5. Envie o recurso Order ao Google:

    submit_order_response = client.submit_order(
        request=gdchardwaremanagement_v1alpha.SubmitOrderRequest(
            name=create_order_response.name,
            type_=gdchardwaremanagement_v1alpha.types.SubmitOrderRequest.Type.INFO_COMPLETE,
        ),
    ).result()

    O tipo de envio de INFO_COMPLETE indica que você forneceu todas as informações necessárias nos recursos Zone e Hardware. Se algum valor de campo estiver ausente, o envio falhará com uma mensagem de erro descrevendo o problema. Se você quiser iniciar uma conversa com o Google sem preencher totalmente o pedido, envie-o com um status INFO_PENDING para ignorar essas validações.

Teste

Se você quiser enviar um pedido de teste, entre em contato com o Google para ter acesso a um ambiente de sandbox. Depois que seu projeto ou organização receber acesso, você poderá usar uma SKU de teste identificável pelo prefixo fake-. Os pedidos de teste avançam pelas etapas descritas anteriormente, mas não acionam cobranças monetárias ou um envio de hardware.

Solução de problemas

Esta seção descreve os erros mais comuns, as causas e as soluções disponíveis.

Erro: 400 FAILED_PRECONDITION

Se você receber um código de erro 400 com um status FAILED_PRECONDITION em resposta à chamada de API, verifique se a solicitação é válida para a operação que você está tentando concluir. Exemplos de solicitações inválidas incluem o envio de um recurso Order com campos ou valores ausentes ou a tentativa de excluir um recurso Hardware associado a um recurso Order enviado anteriormente.

Erro: 400 INVALID_ARGUMENT

Se você receber um código de erro 400 com um status INVALID_ARGUMENT em resposta à chamada de API, verifique se há nomes de campos e valores incorretos que não correspondem aos tipos esperados ou valores ausentes. Você também poderá receber esse erro se usar um updateMask em uma solicitação PATCH e um ou mais campos especificados no updateMask forem inválidos.

Para corrigir esse problema, consulte a API GDC Hardware Management para verificar se todos os nomes e valores de campo estão corretos, incluindo a formatação. Se você estiver usando um payload JSON, confirme se todas as informações necessárias estão incluídas no payload.

Erro: 401 UNAUTHENTICATED

Se você receber um código de erro 401 com um status UNAUTHENTICATED em resposta à chamada de API, verifique a configuração de autenticação. Para mais informações, consulte Configurar o Application Default Credentials.

Erro: 403 PERMISSION_DENIED

Se você receber um código de erro 403 com um status PERMISSION_DENIED em resposta à chamada de API, verifique se a conta de serviço usada para fazer a chamada de API tem privilégios suficientes para acessar os objetos e recursos de destino. Verifique também se as credenciais estão corretas e não expiraram.

Erro: 404 NOT_FOUND

Se você receber um código de erro 404 com um status NOT_FOUND em resposta à chamada de API, verifique se os nomes e o caminho do recurso especificados na chamada de API são válidos. Consulte a API Management de Hardware do GDC para verificar se o URL da solicitação está estruturado corretamente e se todos os campos incluídos no URL são válidos.

A seguir