이 페이지에서는 Google Distributed Cloud 연결 하드웨어를 주문하는 방법을 설명합니다. Distributed Cloud connected는 다음 국가에서 사용할 수 있습니다.
- 오스트레일리아
- 오스트리아
- 벨기에
- 브라질
- 캐나다
- 덴마크
- 핀란드
- 프랑스
- 독일
- 홍콩
- 일본
- 인도
- 인도네시아
- 이탈리아
- 네덜란드
- 노르웨이
- 폴란드
- 사우디아라비아
- 싱가포르
- 대한민국
- 스페인
- 스웨덴
- 스위스
- 영국
- 미국
하드웨어를 주문하기 전에 Distributed Cloud 연결 설치 요구사항을 충족해야 합니다.
Distributed Cloud Connected 주문 유형
비즈니스 요구사항에 따라 다음 방법 중 하나로 Distributed Cloud 연결 하드웨어를 주문할 수 있습니다.
Google 소유 하드웨어 Google에서 직접 Distributed Cloud 연결 하드웨어를 주문할 수 있습니다. 이 시나리오에서는 Google이 Distributed Cloud connected 하드웨어를 소싱, 유지관리, 수리, 폐기합니다. 계약이 종료되면 Google에서 Distributed Cloud 하드웨어를 수거하고 하드웨어에 저장된 모든 데이터를 삭제합니다.
고객 제공 하드웨어. 비즈니스 요구사항에 맞는 배포 구성에 관해 Google과 컨설트한 후 Google 파트너 SI로부터 Distributed Cloud 연결을 주문할 수 있습니다. 이 시나리오에서는 Distributed Cloud 연결 하드웨어를 소유합니다. SI는 고객 및 Google과 협력하여 하드웨어를 배포, 수리, 폐기합니다. 계약이 종료되면 SI가 Distributed Cloud connected 하드웨어에서 모든 Google 소프트웨어와 데이터를 삭제합니다. 그런 다음 하드웨어를 재사용하거나 폐기할 수 있습니다.
Google Cloud 콘솔을 사용하여 Distributed Cloud 연결 하드웨어 주문
Google Cloud 콘솔에서 주문 페이지로 이동합니다.
대상 Google Cloud 프로젝트를 선택합니다.
주문하기를 클릭합니다.
요청 양식을 작성하여 제출합니다.
영업 담당자가 제출하신 내용을 검토하고 주문을 완료하기 위해 연락드립니다. Google Cloud 상담사는 다음을 수행합니다.
- 비즈니스 요구사항을 검토하여 최적의 하드웨어 구성을 선택할 수 있도록 지원합니다.
- 로컬 네트워크, Google Cloud 프로젝트, 설치 사이트, 설치 요구사항에 나열된 기타 요구사항에 관한 정보를 수집합니다.
- 이 정보를 사용하여 배송 전에 Distributed Cloud 하드웨어를 구성합니다.
GDC Hardware Management API를 사용하여 Distributed Cloud 연결 하드웨어 주문
GDC Hardware Management API를 사용하여 주문하려면 Order 리소스와 Order 리소스가 참조하는 Site, Zone, Hardware 리소스를 만들어야 합니다.
그런 다음 Order 리소스를 Google에 제출합니다.
이러한 리소스에는 다음과 같은 기능이 있습니다. GDC 하드웨어 관리 API 사용에 대한 자세한 내용은 Google Distributed Cloud CLI 및 API 참조를 참고하세요.
Order. 이 리소스는 하나 이상의 Distributed Cloud 영역 생성을 요청합니다. 이 리소스를 만들면create_order_response.name필드에서 액세스할 수 있는 이름이 지정됩니다.Order리소스 이름의 형식은 다음과 같습니다.`projects/`PROJECT_ID`/locations/`REGION`/orders/`ORDER_ID
각 항목의 의미는 다음과 같습니다.
PROJECT_ID: 대상 Google Cloud 프로젝트의 ID입니다.REGION: Distributed Cloud 영역을 배포할 Google Cloud 리전입니다.ORDER_ID: 이 주문을 식별하는 고유 ID입니다. 생략하면 값이 자동으로 생성됩니다. 소문자, 숫자, 대시로 구성된 고유한 주문 ID 값을 제공하는 것이 좋습니다. 그렇지 않으면 주문 생성 실패 호출로 인해 중복 주문이 생성될 수 있습니다.
Site. 이 리소스는 Distributed Cloud 하드웨어를 배포할 실제 위치를 나타냅니다. 이 리소스에는 초기 제공 및 향후 유지보수를 위한 액세스를 조정하는 책임 당사자의 연락처 정보가 포함됩니다. 이 연락처는 주문 시 제공한 연락처와 다를 수 있습니다.Hardware. 이 리소스는 Distributed Cloud 서버 또는 랙을 나타냅니다. 각Hardware리소스는 연결된Order,Site,Zone리소스를 참조합니다. 사용 가능한 SKU를 확인하려면 ListSkus API 호출을 사용하세요.Zone. 이 리소스는 온프레미스에 배포할 Distributed Cloud connected 하드웨어를 나타냅니다. 분산 클라우드 영역은 하나 이상의 분산 클라우드 연결 랙 또는 위치에 배포된 모든 분산 클라우드 연결 서버 머신을 포함합니다.
이 섹션의 단계를 완료하기 전에 Google 영업 담당자와 협력하여 고객 정보 설문지 (CIQ)를 작성하고 Distributed Cloud 연결 배포의 범위와 구성을 완료해야 합니다. 주문하려면 이 정보가 필요합니다.
기본 요건
시작하기 전에 다음의 사건 요건을 완료하세요.
Python 개발 환경을 설정합니다.
다음 명령어를 사용하여 GDC 하드웨어 관리 API 클라이언트 라이브러리를 설치합니다.
python3 -m pip install google-cloud-gdchardwaremanagement
대상 Google Cloud 프로젝트에서 GDC 하드웨어 관리 API를 사용 설정합니다.
GDC Hardware Management API를 사용하여 Distributed Cloud(연결형) 하드웨어 주문 만들기 및 제출
이 섹션의 단계는 GDC 하드웨어 관리 API를 사용하여 Order 리소스를 만들어 Google에 제출하는 방법을 보여주는 예시입니다. 이 섹션의 단계를 완료하려면 Google Cloud 프로젝트에 GDC 하드웨어 관리 관리자(roles/gdchardwaremanagement.admin) 역할이 있어야 합니다.
Order리소스를 만듭니다. 예를 들면 다음과 같습니다.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()
주문이 이제
DRAFT상태이며create_order_response.name필드에 저장된 리소스 이름이 할당되었습니다. 이 주문의 상태를 수정하거나 추적할 때 이 리소스 이름을 사용하세요.Site리소스를 만듭니다. 예를 들면 다음과 같습니다.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()
Zone리소스를 만듭니다. 예를 들면 다음과 같습니다.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()
Hardware리소스를 만듭니다. 분산 클라우드 연결 배포의 각 머신에 대해 고유한hardware_id값을 지정해야 합니다. 예를 들면 다음과 같습니다.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()
Order리소스를 Google에 제출합니다.submit_order_response = client.submit_order( request=gdchardwaremanagement_v1alpha.SubmitOrderRequest( name=create_order_response.name, ), ).result()