이 페이지에서는 Google Distributed Cloud(연결형) 하드웨어를 주문하는 방법을 설명합니다. Distributed Cloud(연결형)는 다음 국가에서 사용할 수 있습니다.
- 오스트레일리아
- 오스트리아
- 벨기에
- 브라질
- 캐나다
- 덴마크
- 핀란드
- 프랑스
- 독일
- 홍콩
- 일본
- 인도
- 인도네시아
- 이탈리아
- 네덜란드
- 노르웨이
- 폴란드
- 사우디아라비아
- 싱가포르
- 대한민국
- 스페인
- 스웨덴
- 스위스
- 영국
- 미국
하드웨어를 주문하기 전에 Distributed Cloud(연결형) 설치 요구사항을 충족해야 합니다.
Distributed Cloud(연결형) 조달 모델
비즈니스 요구사항에 따라 다음 방법 중 하나로 Distributed Cloud(연결형) 하드웨어를 주문할 수 있습니다.
Google 소유 하드웨어. Google에서 직접 Distributed Cloud(연결형) 하드웨어를 주문할 수 있습니다. 이 시나리오에서는 Google이 Distributed Cloud(연결형) 하드웨어를 조달, 유지보수, 수리, 폐기합니다. 계약이 종료되면 Google이 Distributed Cloud 하드웨어를 수거하고 하드웨어에 저장된 모든 데이터를 삭제합니다.
고객 제공 하드웨어. 비즈니스 요구사항에 맞는 배포 구성에 대해 Google과 상담한 후 Google 인증 시스템 통합업체(SI)에서 Distributed Cloud(연결형)를 주문할 수 있습니다. 이 시나리오에서는 Distributed Cloud(연결형) 하드웨어를 소유합니다. SI는 사용자와 Google과 협력하여 하드웨어를 배포, 수리, 폐기합니다. 계약이 종료되면 SI는 Distributed Cloud(연결형) 하드웨어에서 모든 Google 소프트웨어와 사용자 데이터를 삭제합니다. 그러면 하드웨어를 재사용하거나 폐기할 수 있습니다. 이러한 유형의 조달은 Distributed Cloud(연결형) 서버에서만 사용할 수 있습니다.
기본 요건
주문하기 전에 다음 정보를 준비해야 합니다.
주문 연락처. 조직에서 Distributed Cloud(연결형) 하드웨어 배포를 관리하는 담당자입니다.
부지 연락처. 선택한 배포 사이트의 담당자입니다. Google은 이 담당자에게 연락하여 Distributed Cloud(연결형) 하드웨어 배송을 예약하고 완료합니다. 이 담당자는 Google 또는 Google 인증 SI와 함께 하드웨어 수리 및 폐기를 조정합니다.
영역 연락처. 배포 사이트의 기존 네트워킹 및 전원 인프라에 Distributed Cloud 하드웨어를 통합하는 담당자입니다.
주문 식별자. 이 Distributed Cloud(연결형) 하드웨어 주문의 의미 있는 식별자입니다.
사이트 식별자. 이 Distributed Cloud 연결형 하드웨어 주문의 배포 사이트에 대한 의미 있는 식별자입니다.
영역 식별자. 타겟 Distributed Cloud(연결형) 영역의 의미 있는 식별자입니다. 사이트당 하나의 영역만 배포하는 경우 사이트 식별자를 영역 식별자로 사용합니다.
콘솔을 사용하여 Distributed Cloud(연결형) 하드웨어 주문 Google Cloud
콘솔에서 주문 페이지로 이동합니다. Google Cloud
타겟 Google Cloud 프로젝트를 선택합니다.
주문 만들기 를 클릭합니다.
요청 양식을 작성하고 제출합니다.
영업 담당자가 제출물을 검토하고 주문을 완료하기 위해 연락드립니다. Google Cloud 담당자는 다음 작업을 수행합니다.
- 비즈니스 요구사항을 검토하여 하드웨어 구성을 마무리하도록 지원합니다.
- 설치 요구사항에 나열된 로컬 네트워크, Google Cloud 프로젝트, 설치 사이트, 기타 요구사항에 대한 추가 정보를 수집합니다. 설치 요구사항.
- 이 정보를 사용하여 배송 전에 Distributed Cloud 하드웨어를 구성합니다.
GDC Hardware Management API를 사용하여 Distributed Cloud(연결형) 하드웨어 주문
GDC Hardware Management API를 사용하면 프로그래매틱 방식으로 Distributed Cloud 하드웨어를 주문할 수 있습니다. 주문은 Distributed Cloud(연결형)를 배포하려는 의도를 나타냅니다. 주문에는 Distributed Cloud(연결형) 배포의 전체 수명 동안 사용되는 다음 정보가 포함되어야 합니다.
- 주문 관리 및 배송 담당자
- 배송지 주소 및 배송과 관련된 모든 정보
- 하드웨어 구성
- 네트워크 구성
Google 영업 담당자와 협력하여 고객 정보 설문지(CIQ)를 작성하고 Distributed Cloud(연결형) 배포의 범위와 구성을 마무리해야 합니다.
GDC Hardware Management API 사용 설정
GDC Hardware Management API를 사용하려면 먼저 타겟 Google Cloud 프로젝트에서 사용 설정해야 합니다. 이렇게 하려면 이 섹션의 단계를 완료하세요.
콘솔
콘솔에서 GDC Hardware Management API 페이지로 이동합니다. Google Cloud
사용 설정 을 클릭합니다.
gcloud
다음 명령어를 사용하세요.
gcloud services enable gdchardwaremanagement.googleapis.com
주문 구조
GDC Hardware Management API를 사용하여 주문하려면 Order 리소스와 Order 리소스가 참조하는 Site, Zone, Hardware 리소스를 만들어야 합니다.
그런 다음 Order 리소스를 Google에 제출합니다. 이러한 리소스는 표준 CRUD 작업을 지원합니다.
각 리소스의 이름은 타겟 Google Cloud 프로젝트 ID와 Google Cloud 리전을 포함하는 경로입니다.
이러한 리소스에는 다음과 같은 함수가 있습니다. GDC Hardware Management API 사용에 대한 자세한 내용은 Google Distributed Cloud CLI 및 API 참조를 확인하세요.
Order. 이 리소스는 하나 이상의 Distributed Cloud 영역 생성을 요청합니다. 이 리소스를 만들면create_order_response.name필드에서 액세스할 수 있는 이름이 지정됩니다.Order리소스 이름의 형식은 다음과 같습니다.`projects/`PROJECT_ID`/locations/`REGION`/orders/`ORDER_ID
각 항목의 의미는 다음과 같습니다.
Site. 이 리소스는 Distributed Cloud 하드웨어를 배포할 실제 위치를 나타냅니다. 이 리소스에는 초기 배송 및 향후 유지보수를 위한 액세스를 조정하는 담당자의 연락처 정보가 포함됩니다. 이 연락처는 주문 시 제공한 연락처와 다를 수 있습니다.Hardware. 이 리소스는 Distributed Cloud(연결형) SKU를 인스턴스화하고 Distributed Cloud 서버 또는 랙을 나타냅니다. 각Hardware리소스는 연결된Order,Site,Zone리소스를 참조합니다. 사용 가능한 SKU를 보려면 ListSkus API 호출을 사용하세요.Zone. 이 리소스는 Distributed Cloud(연결형) 머신 및 연결된 클러스터의 네트워크 구성을 지정합니다. Distributed Cloud 영역은 하나 이상의 Distributed Cloud(연결형) 랙 또는 사용자의 위치에 배포된 모든 Distributed Cloud(연결형) 서버 머신을 포함합니다.
Order 리소스를 Google에 제출하고
상태
가 DRAFT에서 SUBMITTED 또는 INFO_COMPLETE로 변경되면 대부분의 필드 값이 읽기 전용이 됩니다.
주문 수명 주기
Order 리소스는
State에 나열된 상태 중 하나를 가질 수 있습니다.
관련 당사자는 주문에 댓글을 남길 수 있으며, 댓글은 해당 Order 리소스 아래에 중첩된 Comment 리소스로 저장됩니다. GDC Hardware Management API와 Google Cloud 콘솔을 통해 댓글을 읽고 제출할 수 있습니다.
GDC Hardware Management API는 다음과 같은 주문 수명 주기 작업을 지원합니다.
주문 만들기 및 제출. 주문을 만들고 즉시 제출하거나, 제출할 준비가 될 때까지 점진적으로 빌드하고
DRAFT상태로 저장할 수 있습니다. 이 프로세스는 이 가이드의 나머지 부분에 설명되어 있습니다.주문 상태 확인. 유형이 type
INFO_COMPLETE인 주문을 제출하고 Google과 계약을 체결한 경우 주문은 다음 상태 를 차례로 거칩니다.ACCEPTED,BUILDING,SHIPPING,INSTALLING및COMPLETED.연결된Zone및Hardware리소스의 상태는Order리소스와 함께 업데이트됩니다.주문 문제 해결. Google에서 추가 정보가 필요하거나 Google과 계약을 체결하지 않은 경우 주문은
ADDITIONAL_INFO_NEEDED상태로 전환되고 댓글을 통해 해결될 때까지 대기합니다. 댓글에서 추가 안내를 확인하고 다음 단계가 명확하지 않은 경우 언제든지 Google에 문의하세요.제출되지 않은 주문 삭제.
DELETE호출을 사용하여 제출되지 않은 주문을 삭제할 수 있습니다.제출된 주문 수정. 각각의
PATCH호출을 사용하여 제출된 주문, 사이트, 및 영역 을 수정할 수 있습니다. 다음 필드는 제출 후 수정할 수 있습니다.- 모든 리소스:
display_name,labels - 주문:
organization_contact - 사이트:
access_times,organization_contact의 대부분의 필드(사이트 주소는 제외) - 하드웨어:
requested_installation_date다음 중 하나 이상 이 참인 경우 :- 새 날짜가 현재로부터 45일 이상
- 새
requested_installation_date가 현재requested_installation_date보다 늦고 및estimated_installation_date가 비어 있음 - 새
requested_installation_date가 현재requested_installation_date보다 늦고 및estimated_installation_date가 현재로부터 7일 이상
- 모든 리소스:
제출된 주문 취소. 취소를 요청하는 댓글을 추가하여 제출된 주문을 취소할 수 있습니다.
타겟 Google Cloud 프로젝트 선택
A Google Cloud 프로젝트는 리소스 집합을 캡슐화하고 사용자가 사용할 수 있도록 하며 이러한 리소스에 대한 액세스 제어 및 결제 규칙을 설정하는 구성입니다. Google Cloud
국가 또는 회사 부서와 같은 관리 도메인별로 별도의 Google Cloud 프로젝트를 만들고 에지 대 코어와 같은 상위 사용 사례를 만들고 해당 Google Cloud 프로젝트를 통해 도메인의 Distributed Cloud(연결형) 배포를 관리하는 것이 좋습니다.
프로젝트를 사용하면 다음 관리 작업을 수행할 수 있습니다. Google Cloud
- Distributed Cloud(연결형) 하드웨어를 주문합니다.
- Distributed Cloud(연결형) 클러스터를 구성하고 Fleet에 등록합니다.
- 소프트웨어 출시를 관리합니다.
- Cloud Storage에서 Distributed Cloud(연결형) 데이터를 관리합니다.
- Secret Manager에서 Distributed Cloud(연결형) 사용자 인증 정보를 관리합니다.
- Cloud Monitoring에서 Distributed Cloud(연결형) 로그 및 측정항목을 관리합니다.
정확한 Google Cloud 프로젝트 토폴로지는 비즈니스 요구사항에 따라 다릅니다. 프로젝트 간 종속성을 피하고 각 Google Cloud 프로젝트 내에서 항상 리소스를 만들고 사용하는 것이 좋습니다.
특정 Google Cloud 프로젝트 내에서 주문한 하드웨어는 항상 해당 Google Cloud 프로젝트에서 관리됩니다.
타겟 Google Cloud 리전 선택
Distributed Cloud(연결형) 배포를 위한 특정 Google Cloud 리전 선택은 비즈니스 요구사항과 타겟 지역의 법적 영향에 따라 다릅니다.
Distributed Cloud(연결형) 배포를 기존 멀티 리전 Google Cloud 공간에 통합하는 경우 각 Distributed Cloud(연결형) 영역 을 해당 Google Cloud 영역의 종속성을 호스팅하는 리전에 매핑하는 것이 좋습니다.
Distributed Cloud(연결형) 배포를 기존 Google Cloud 공간과 통합하지 않는 경우 안정성을 높이기 위해 Google Cloud 리전 선택을 다양화하는 것이 좋습니다. 예를 들면 다음과 같습니다.
- 각 Distributed Cloud(연결형) 영역을 가장 가까운 지원 Google Cloud 리전에 매핑합니다. 이렇게 하면 관리 영역 오류의 영향이 단일 리전으로 제한됩니다.
여러리전에 Distributed Cloud(연결형)를 스트라이핑합니다. Google Cloud 이렇게 하면 관리 영역 오류의 영향을 받을 수 있는 Distributed Cloud 연결 영역의 수가 제한되지만 영향을 받는 영역은 더 넓은 지역에 분산됩니다.
Distributed Cloud(연결형)는 다음 Google Cloud 리전을 지원합니다.
아시아:
asia-east1,asia-east2,asia-northeast1,asia-northeast3,asia-south1,asia-south2,asia-southeast1,asia-southeast2유럽:
europe-central2,europe-north1,europe-west1,europe-west2,europe-west3,europe-west4,europe-west6,europe-west8,europe-west9중동:
me-central1,me-west1오세아니아:
australia-southeast1북미:
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남미:
southamerica-east1,southamerica-west1
환경 설정
시작하기 전에 다음의 사건 요건을 완료하세요.
다음 명령어를 사용하여 GDC Hardware Management API 클라이언트 라이브러리를 설치합니다.
python3 -m pip install google-cloud-gdchardwaremanagement
타겟프로젝트에서 GDC Hardware Management API 를 사용 설정합니다. Google Cloud
GDC Hardware Management API를 사용하여 Distributed Cloud(연결형) 하드웨어 주문 만들기 및 제출
이 섹션의 단계는 GDC Hardware Management API를 사용하여 Order 리소스를 만들어 Google에 제출하는 방법을 보여주는 예입니다. 이 섹션의 단계를 완료하려면프로젝트에
GDC Hardware Management 관리자
(roles/gdchardwaremanagement.admin) 역할이 있어야 합니다. Google Cloud 사용 가능한 유형 및 메서드에 대한 자세한 내용은 Python 클라이언트 라이브러리
참조를 확인하세요.
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리소스를 만듭니다. Distributed Cloud(연결형) 배포의 각 머신에 대해 고유한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, type_=gdchardwaremanagement_v1alpha.types.SubmitOrderRequest.Type.INFO_COMPLETE, ), ).result()
제출 유형
INFO_COMPLETE은(는)Zone및Hardware리소스에 필요한 모든 정보를 제공했음을 나타냅니다. 필드 값이 누락된 경우 문제를 설명하는 오류 메시지와 함께 제출이 실패합니다. 주문을 완전히 채우지 않고 Google과 대화를 시작하려면INFO_PENDING상태로 제출하여 이러한 유효성 검사를 건너뜁니다.
테스트
테스트 주문을 제출하려면 Google에 문의하여 샌드박스 환경에 대한 액세스 권한을 받으세요.
프로젝트 또는 조직에 액세스 권한이 부여되면 fake- 프리픽스로 식별할 수 있는 테스트 SKU를 사용할 수 있습니다. 테스트 주문은 앞에서 설명한 단계를 거치지만 금전적 청구 또는 하드웨어 배송을 트리거하지 않습니다.
문제 해결
이 섹션에서는 가장 일반적으로 발생하는 오류, 원인, 사용 가능한 해결 방법을 설명합니다.
오류: 400 FAILED_PRECONDITION
API 호출에 대한 응답으로 FAILED_PRECONDITION 상태의 400 오류 코드가 표시되면 완료하려는 작업에 요청이 유효한지 확인합니다. 잘못된 요청의 예로는 필드 또는 값이 누락된 Order 리소스를 제출하거나 이전에 제출된 Order 리소스와 연결된 Hardware 리소스를 삭제하려는 시도가 있습니다.
오류: 400 INVALID_ARGUMENT
API 호출에 대한 응답으로 INVALID_ARGUMENT 상태의 400 오류 코드가 표시되면 예상 유형과 일치하지 않는 잘못된 필드 이름 및 값 또는 누락된 값을 확인합니다. PATCH 요청에서 updateMask를 사용하고 updateMask에 지정된 필드 중 하나 이상이 잘못된 경우에도 이 오류가 발생할 수 있습니다.
이 문제를 해결하려면 GDC Hardware Management API 를 참조하여 형식을 포함한 모든 필드 이름과 값이 올바른지 확인하세요. JSON 페이로드를 사용하는 경우 필요한 모든 정보가 페이로드에 포함되어 있는지 확인합니다.
오류: 401 UNAUTHENTICATED
API 호출에 대한 응답으로 UNAUTHENTICATED 상태의 401 오류 코드가 표시되면 인증 구성을 확인합니다. 자세한 내용은
애플리케이션 기본 사용자 인증 정보 설정을 참조하세요.
오류: 403 PERMISSION_DENIED
API 호출에 대한 응답으로 PERMISSION_DENIED 상태의 403 오류 코드가 표시되면 API 호출에 사용된 서비스 계정에 타겟 객체 및 리소스에 액세스할 수 있는 충분한 권한이 있는지 확인합니다. 또한 사용자 인증 정보가 올바르고 만료되지 않았는지 확인합니다.
오류: 404 NOT_FOUND
API 호출에 대한 응답으로 NOT_FOUND 상태의 404 오류 코드가 표시되면 API 호출에 지정된 리소스 이름과 경로가 유효한지 확인합니다. GDC Hardware Management API
를 참조하여 요청 URL이 올바르게 구성되어 있고 URL에 포함된 모든 필드가 유효한지 확인하세요.