Commander du matériel

Cette page explique comment commander du matériel connecté à Google Distributed Cloud. Distributed Cloud connecté est disponible dans les pays suivants :

  • Australie
  • Autriche
  • Belgique
  • Brésil
  • Canada
  • Chili
  • Danemark
  • Finlande
  • France
  • Allemagne
  • Hong Kong
  • Japon
  • Inde
  • Indonésie
  • Italie
  • Malaisie
  • Mexique
  • Pays-Bas
  • Norvège
  • Pologne
  • Arabie saoudite
  • Singapour
  • Corée du Sud
  • Espagne
  • Suède
  • Suisse
  • Royaume-Uni
  • États-Unis
  • Uruguay

Avant de commander le matériel, vous devez répondre aux exigences d'installation de Distributed Cloud connecté.

Modèles d'achat de Distributed Cloud connecté

Vous pouvez commander le matériel connecté à Distributed Cloud de l'une des manières suivantes, en fonction des besoins de votre entreprise :

  • Matériel appartenant à Google. Vous pouvez commander le matériel connecté à Distributed Cloud directement auprès de Google. Dans ce scénario, Google fournit, entretient, répare et met hors service le matériel connecté à Distributed Cloud. À la fin de votre contrat, Google récupère le matériel Distributed Cloud et détruit toutes les données qui y sont stockées.

  • Matériel fourni par le client. Vous pouvez commander Distributed Cloud connecté auprès d'un intégrateur de systèmes (IS) certifié par Google après avoir consulté Google sur une configuration de déploiement adaptée aux besoins de votre entreprise. Dans ce scénario, vous êtes propriétaire du matériel connecté à Distributed Cloud. L'IS travaille avec vous et Google pour déployer, réparer et mettre hors service le matériel. À la fin de votre contrat, l'IS efface tous les logiciels Google et vos données du matériel connecté à Distributed Cloud. Vous êtes alors libre de réutiliser ou de mettre au rebut le matériel. Ce type d'achat n'est disponible que pour les serveurs connectés à Distributed Cloud.

Prérequis

Vous devez disposer des informations suivantes avant de passer une commande :

  • Contact pour la commande. Personne chargée de gérer le déploiement du matériel connecté à Distributed Cloud dans votre organisation.

  • Contact du site. Personne responsable du site de déploiement sélectionné. Google contacte cette personne pour planifier et effectuer la livraison de votre matériel connecté à Distributed Cloud. Cette personne coordonne également les réparations et la mise hors service du matériel avec Google ou un IS certifié par Google.

  • Contact de la zone. Personne chargée d'intégrer le matériel connecté à Distributed Cloud à l'infrastructure réseau et électrique existante sur le site de déploiement.

  • Identifiant de la commande. Identifiant explicite pour cette commande de matériel connecté à Distributed Cloud.

  • Identifiant du site. Identifiant explicite pour le site de déploiement de cette commande de matériel connecté à Distributed Cloud.

  • Identifiant de la zone. Identifiant explicite pour la zone cible connectée à Distributed Cloud. Si vous ne déployez qu'une seule zone par site, utilisez l'identifiant du site comme identifiant de la zone.

Commander du matériel connecté à Distributed Cloud à l'aide de la Google Cloud console

  1. Dans la Google Cloud console, accédez à la page Commandes.

    Accéder aux commandes

  2. Sélectionnez le projet cible Google Cloud .

  3. Cliquez sur Créer une commande.

  4. Remplissez le formulaire de demande et envoyez-le.

Un Google Cloud représentant commercial examine votre demande et vous contacte pour finaliser la commande. Le représentant effectue les opérations suivantes :

  • Il examine les besoins de votre entreprise pour vous aider à finaliser la configuration matérielle.
  • Il recueille des informations supplémentaires sur votre réseau local, Google Cloud votre projet, votre site d'installation et d'autres exigences listées dans les exigences d'installation.
  • Il utilise ces informations pour configurer votre matériel Distributed Cloud avant la livraison.

Commander du matériel connecté à Distributed Cloud à l'aide de l'API GDC Hardware Management

L'API GDC Hardware Management vous permet de passer une commande de matériel Distributed Cloud par programmation. Une commande constitue votre intention de déployer Distributed Cloud connecté. Une commande doit inclure les informations suivantes, qui sont utilisées tout au long du cycle de vie de votre déploiement Distributed Cloud connecté :

  • Contact pour la gestion et la livraison des commandes
  • Adresse du site de livraison et toute information pertinente pour la livraison
  • Configuration matérielle
  • Configuration du réseau

Vous devez collaborer avec votre représentant commercial Google pour remplir le questionnaire d'informations client (CIQ) et finaliser la portée et la configuration de votre déploiement Distributed Cloud connecté.

Activer l'API GDC Hardware Management

Avant de pouvoir utiliser l'API GDC Hardware Management, vous devez l'activer sur le projet Google Cloud cible. Pour ce faire, suivez les étapes décrites dans cette section.

Console

  1. Dans la Google Cloud console, accédez à la page API GDC Hardware Management.

    Activer l'API

  2. Cliquez sur Activer.

gcloud

Exécutez la commande suivante :

gcloud services enable gdchardwaremanagement.googleapis.com

Structure d'une commande

Pour passer une commande à l'aide de l'API GDC Hardware Management, vous devez créer une ressource Order, ainsi que les ressources Site, Zone et Hardware associées auxquelles la ressource Order fait référence. Vous envoyez ensuite la ressource Order à Google. Ces ressources sont compatibles avec les opérations CRUD standards. Le nom de chaque ressource est un chemin d'accès qui inclut l'ID du projet cible Google Cloud et la région Google Cloud .

Ces ressources ont les fonctions suivantes. Pour en savoir plus sur l'utilisation de l'API GDC Hardware Management, consultez la documentation de référence sur la CLI et l'API Google Distributed Cloud.

  • Order : cette ressource demande la création d'une ou de plusieurs zones Distributed Cloud. Lorsque vous créez cette ressource, elle reçoit un nom accessible dans le champ create_order_response.name. Le nom de la ressource Order est au format suivant :

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

    où :

    • PROJECT_ID : ID du projet cible. Google Cloud
    • REGION : région dans laquelle Google Cloud vous souhaitez déployer vos zones Distributed Cloud.
    • ORDER_ID : ID unique qui identifie cette commande. Si cette valeur est omise, elle est générée automatiquement. Nous vous recommandons de fournir une valeur d'ID de commande unique composée de lettres minuscules, de chiffres et de tirets. Sinon, les appels de création de commande ayant échoué peuvent générer des commandes en double.
  • Site: cette ressource représente l'emplacement physique où vous souhaitez déployer votre matériel Distributed Cloud. Cette ressource inclut les coordonnées d'une personne responsable qui coordonne l'accès pour la livraison initiale et la maintenance future. Ce contact peut être différent de celui que vous avez fourni lors de la commande.

  • Hardware: cette ressource instancie une référence (SKU) connectée à Distributed Cloud et représente un serveur ou un rack Distributed Cloud. Chaque ressource Hardware fait référence aux ressources Order, Site et Zone associées. Pour afficher les références disponibles, utilisez l' ListSkus.

  • Zone: cette ressource spécifie la configuration réseau de vos machines connectées à Distributed Cloud et des clusters associés. Une zone Distributed Cloud couvre un ou plusieurs racks connectés à Distributed Cloud ou toutes les machines serveur connectées à Distributed Cloud déployées sur votre site.

Lorsque vous envoyez une ressource Order à Google et que son état passe de DRAFT à SUBMITTED ou INFO_COMPLETE, la plupart des valeurs de champ deviennent en lecture seule.

Cycle de vie d'une commande

Une ressource Order peut avoir l'un des états listés dans State. Les parties concernées peuvent laisser des commentaires sur la commande, qui sont stockés en tant que ressources Comment imbriquées sous la ressource Order correspondante. Vous pouvez lire et envoyer des commentaires via l' API GDC Hardware Management et la Google Cloud console.

L'API GDC Hardware Management est compatible avec les opérations de cycle de vie des commandes suivantes :

  • Créer et envoyer une commande. Vous pouvez créer et envoyer immédiatement une commande, ou la créer progressivement et l'enregistrer à l'état DRAFT jusqu'à ce que vous soyez prêt à l'envoyer. Ce processus est décrit dans le reste de ce guide.

  • Vérifier l'état de la commande. Si la commande est envoyée avec le type INFO_COMPLETE et que vous avez signé un contrat avec Google, elle passe par les états suivants : ACCEPTED, BUILDING, SHIPPING, INSTALLING et COMPLETED. Les états des ressources Zone et Hardware associées sont mis à jour en même temps que la ressource Order.

  • Résoudre les problèmes liés à la commande. Si nous avons besoin d'informations supplémentaires de votre part ou si vous n'avez pas signé de contrat avec Google, la commande passe à l'état ADDITIONAL_INFO_NEEDED et attend une résolution par le biais de commentaires. Recherchez d'autres instructions dans un commentaire et contactez Google si les étapes suivantes ne sont pas claires à un moment donné.

  • Supprimer une commande non envoyée. Vous pouvez supprimer une commande non envoyée avec un DELETE appel.

  • Modifier une commande envoyée. Vous pouvez modifier la commande, site et la zone envoyés à l'aide de l'appel PATCH respectif. Les champs suivants sont modifiables après l'envoi :

    • Toutes les ressources : display_name, labels
    • Commande : organization_contact
    • Site : access_times, la plupart des champs de organization_contact, mais pas l'adresse du site
    • Matériel : requested_installation_date si au moins une des conditions suivantes est remplie :
      • La nouvelle date est dans plus de 45 jours.
      • La nouvelle requested_installation_date est postérieure à la requested_installation_date actuelle et estimated_installation_date est vide.
      • La nouvelle requested_installation_date est postérieure à la requested_installation_date actuelle et estimated_installation_date est dans au moins sept jours.

    Aucune autre information ne peut être modifiée une fois la commande envoyée, mais vous pouvez demander à Google de le faire en ajoutant un commentaire.

  • Annuler une commande envoyée. Vous pouvez annuler une commande envoyée en y ajoutant un commentaire demandant l'annulation.

Sélectionner le projet cible Google Cloud

Un Google Cloud projet est une construction qui encapsule un ensemble de Google Cloud ressources, les met à votre disposition et établit des règles de contrôle des accès et de facturation pour ces ressources.

Nous vous recommandons de créer un Google Cloud projet distinct par domaine administratif, tel qu' un pays ou un service d'entreprise, et un cas d'utilisation de haut niveau, tel que l'edge par rapport au cœur, et de gérer votre déploiement Distributed Cloud connecté pour le domaine via ce Google Cloud projet.

Le Google Cloud projet vous permet d'effectuer les tâches de gestion suivantes :

  • Commander du matériel connecté à Distributed Cloud.
  • Configurer des clusters connectés à Distributed Cloud et les enregistrer dans un parc.
  • Gérer les déploiements de logiciels.
  • Gérer les données connectées à Distributed Cloud dans Cloud Storage.
  • Gérer les identifiants connectés à Distributed Cloud dans Secret Manager.
  • Gérer les journaux et les métriques connectés à Distributed Cloud dans Cloud Monitoring.

La topologie exacte de votre projet Google Cloud dépend des besoins de votre entreprise. Nous vous recommandons d'éviter les dépendances entre projets et de toujours créer et utiliser des ressources dans chaque Google Cloud projet.

Le matériel commandé dans un projet spécifique Google Cloud est toujours géré dans ce Google Cloud projet.

Sélectionner la région cible Google Cloud

Le choix spécifique des Google Cloud régions pour votre déploiement Distributed Cloud connecté dépend des besoins de votre entreprise et des conséquences juridiques de vos zones géographiques cibles.

Si vous intégrez votre déploiement Distributed Cloud connecté dans une empreinte multirégionale existante Google Cloud , nous vous recommandons de mapper chaque zone Distributed Cloud connectée à la Google Cloud région qui héberge les dépendances de cette zone.

Si vous n'intégrez pas le déploiement Distributed Cloud connecté à une empreinte existante Google Cloud, nous vous recommandons de diversifier votre Google Cloud sélection de régions pour une fiabilité accrue. Exemple :

  • Mappez chaque zone Distributed Cloud connectée à la région compatible la plus proche Google Cloud . Cela limite l'impact d'une défaillance du plan de gestion à une seule région géographique.
  • Répartissez votre Distributed Cloud connecté sur plusieurs Google Cloud régions. Cela limite le nombre de zones Distributed Cloud connectées qui peuvent être affectées par une défaillance du plan de gestion. Toutefois, les zones concernées sont réparties sur une plus grande région géographique.

    Distributed Cloud connecté est compatible avec les régions suivantes Google Cloud :

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

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

  • Moyen-Orient : me-central1, me-west1

  • Océanie : australia-southeast1

  • Amérique du Nord : 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érique du Sud : southamerica-east1, southamerica-west1

Configurer votre environnement

Avant de commencer, passez en revue les conditions préalables suivantes :

  1. Configurer un environnement de développement Python.

  2. Installez la bibliothèque cliente de l'API GDC Hardware Management à l'aide de la commande suivante :

    python3 -m pip install google-cloud-gdchardwaremanagement
    
  3. Activez l'API GDC Hardware Management sur le projet Google Cloud cible.

Créer et envoyer une commande de matériel connecté à Distributed Cloud à l'aide de l'API GDC Hardware Management

Les étapes de cette section sont des exemples qui illustrent comment créer et envoyer une ressource Order à Google à l'aide de l'API GDC Hardware Management. Pour suivre les étapes de cette section, vous devez disposer du rôle Administrateur de la gestion du matériel GDC (roles/gdchardwaremanagement.admin) dans votre Google Cloud projet. Pour en savoir plus sur les types et les méthodes disponibles, consultez la documentation de référence sur la bibliothèque cliente Python .

  1. Créer une ressource Order. Exemple :

    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()

    Votre commande est désormais à l'état DRAFT et un nom de ressource lui a été attribué. Il est stocké dans le champ create_order_response.name. Utilisez ce nom de ressource lorsque vous modifiez ou suivez l'état de cette commande.

  2. Créer une ressource Site. Exemple :

    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. Créer une ressource Zone. Exemple :

    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. Créer les ressources Hardware. Vous devez spécifier une valeur hardware_id unique pour chaque machine de votre déploiement Distributed Cloud connecté. Exemple :

    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. Envoyez la ressource Order à 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()

    Le type d'envoi indique que vous avez fourni toutes les informations requises dans les Zone et Hardware ressources.INFO_COMPLETE Si des valeurs de champ sont manquantes, l'envoi échoue et un message d'erreur décrivant le problème s'affiche. Si vous souhaitez entamer une conversation avec Google sans remplir complètement la commande, envoyez-la avec l'état INFO_PENDING pour ignorer ces validations.

Tests

Si vous souhaitez envoyer une commande test, contactez Google pour accéder à un environnement de bac à sable. Une fois que votre projet ou votre organisation a obtenu l'accès, vous pouvez utiliser une SKU test identifiable par le préfixe fake-. Les commandes test suivent les étapes décrites précédemment, mais n'entraînent pas de frais ni d'expédition de matériel.

Dépannage

Cette section décrit les erreurs les plus courantes, leurs causes et les solutions disponibles.

Erreur : 400 FAILED_PRECONDITION

Si vous recevez un code d'erreur 400 avec l'état FAILED_PRECONDITION en réponse à votre appel d'API, vérifiez que votre requête est valide pour l'opération que vous tentez d'effectuer. Par exemple, les requêtes non valides incluent l'envoi d'une ressource Order avec des champs ou des valeurs manquants, ou la tentative de suppression d'une ressource Hardware associée à une ressource Order précédemment envoyée.

Erreur : 400 INVALID_ARGUMENT

Si vous recevez un code d'erreur 400 avec l'état INVALID_ARGUMENT en réponse à votre appel d'API, recherchez les noms de champs et les valeurs incorrects qui ne correspondent pas aux types attendus, ou les valeurs manquantes. Vous pouvez également recevoir cette erreur si vous utilisez un updateMask dans une requête PATCH et qu'un ou plusieurs champs spécifiés dans le updateMask ne sont pas valides.

Pour résoudre ce problème, consultez l'API GDC Hardware Management afin de vérifier que tous les noms et valeurs de champ sont corrects, y compris la mise en forme. Si vous utilisez une charge utile JSON, vérifiez que toutes les informations requises sont incluses dans la charge utile.

Erreur : 401 UNAUTHENTICATED

Si vous recevez un code d'erreur 401 avec l'état UNAUTHENTICATED en réponse à votre appel d'API, vérifiez votre configuration d'authentification. Pour en savoir plus, consultez la page Configurer les identifiants par défaut de l'application.

Erreur : 403 PERMISSION_DENIED

Si vous recevez un code d'erreur 403 avec l'état PERMISSION_DENIED en réponse à votre appel d'API, vérifiez si le compte de service utilisé pour effectuer l'appel d'API dispose des privilèges suffisants pour accéder aux objets et ressources cibles. Vérifiez également que les identifiants sont corrects et qu'ils n'ont pas expiré.

Erreur : 404 NOT_FOUND

Si vous recevez un code d'erreur 404 avec l'état NOT_FOUND en réponse à votre appel d'API, vérifiez que les noms et le chemin d'accès des ressources spécifiés dans votre appel d'API sont valides. Consultez l'API GDC Hardware Management pour vérifier que l'URL de votre requête est correctement structurée et que tous les champs inclus dans l'URL sont valides.

Étape suivante