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
- Danemark
- Finlande
- France
- Allemagne
- Hong Kong
- Japon
- Inde
- Indonésie
- Italie
- Pays-Bas
- Norvège
- Pologne
- Arabie saoudite
- Singapour
- Corée du Sud
- Espagne
- Suède
- Suisse
- Royaume-Uni
- États-Unis
Avant de commander le matériel, vous devez respecter les exigences d'installation de Distributed Cloud connecté.
Commander du matériel connecté Distributed Cloud à l'aide de la Google Cloud console
Dans la Google Cloud console, accédez à la page Commandes.
Sélectionnez le projet cible Google Cloud .
Cliquez sur Créer une commande.
Remplissez le formulaire de demande, puis envoyez-le.
Un Google Cloud représentant commercial examine votre demande et vous contacte pour finaliser la commande. Il effectue les opérations suivantes :
- Il examine les besoins de votre entreprise pour vous aider à choisir la configuration matérielle optimale.
- Il collecte des informations 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é :
- Point de 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 et finaliser le champ d'application et la configuration de votre déploiement Distributed Cloud connecté.
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 de la CLI et de 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 champcreate_order_response.name. Le nom de la ressourceOrderest au format suivant :`projects/`PROJECT_ID`/locations/`REGION`/orders/`ORDER_ID
où :
PROJECT_ID: ID du projet cible. Google CloudREGION: 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'un 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) Distributed Cloud connecté et représente un serveur ou un rack Distributed Cloud. Chaque ressourceHardwarefait référence aux ressourcesOrder,SiteetZoneassociées. Pour afficher les références disponibles, utilisez l' ListSkus.Zone. Cette ressource spécifie la configuration réseau de vos machines Distributed Cloud connecté et des clusters associés. Une zone Distributed Cloud couvre un ou plusieurs racks Distributed Cloud connecté ou toutes les machines serveur Distributed Cloud connecté déployées sur votre site.
Lorsque vous envoyez une ressource Order à Google et que son état passe de DRAFT à SUBMITTED, 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.
Si la commande contient toutes les informations requises 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.
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. La modification ou l'annulation d'une commande doit être demandée par le biais de commentaires.
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 Distributed Cloud connecté et les enregistrer dans un parc.
- Gérer les déploiements de logiciels.
- Gérer les données Distributed Cloud connecté dans Cloud Storage.
- Gérer les identifiants Distributed Cloud connecté dans Secret Manager.
- Gérer les journaux et les métriques Distributed Cloud connecté 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 emplacements 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é à 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é à 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é 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-southeast2Europe:
europe-central2,europe-north1,europe-west1,europe-west2,europe-west3,europe-west4,europe-west6,europe-west8,europe-west9Moyen-Orient :
me-central1,me-west1Océanie :
australia-southeast1Amé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-west8Amérique du Sud :
southamerica-east1,southamerica-west1
Configurer votre environnement
Avant de commencer, passez en revue les conditions préalables suivantes :
Installez la bibliothèque cliente de l'API GDC Hardware Management à l'aide de la commande suivante :
python3 -m pip install google-cloud-gdchardwaremanagement
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.
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
DRAFTet un nom de ressource lui a été attribué. Il est stocké dans le champcreate_order_response.name. Utilisez ce nom de ressource lorsque vous modifiez ou suivez l'état de cette commande.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()
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()
Créer les ressources
Hardware. Vous devez spécifier une valeurhardware_idunique 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()
Envoyez la ressource
Orderà Google :submit_order_response = client.submit_order( request=gdchardwaremanagement_v1alpha.SubmitOrderRequest( name=create_order_response.name, ), ).result()
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 un é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, vous pouvez envoyer une ressource Order avec des champs ou des valeurs manquants, ou tenter de supprimer 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 un état INVALID_ARGUMENT en réponse à votre appel d'API, recherchez des noms de champs et des valeurs incorrects qui ne correspondent pas aux types attendus, ou des 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 un é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 un é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 un é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.