이 페이지에서는 Google Distributed Cloud 연결 하드웨어를 주문하는 방법을 설명합니다. Distributed Cloud connected는 다음 국가에서 사용할 수 있습니다.
- 오스트레일리아
- 오스트리아
- 벨기에
- 브라질
- 캐나다
- 덴마크
- 핀란드
- 프랑스
- 독일
- 홍콩
- 일본
- 인도
- 인도네시아
- 이탈리아
- 네덜란드
- 노르웨이
- 폴란드
- 사우디아라비아
- 싱가포르
- 대한민국
- 스페인
- 스웨덴
- 스위스
- 영국
- 미국
하드웨어를 주문하기 전에 Distributed Cloud 연결 설치 요구사항을 충족해야 합니다.
Google Cloud 콘솔을 사용하여 Distributed Cloud 연결 하드웨어 주문
Google Cloud 콘솔에서 주문 페이지로 이동합니다.
대상 Google Cloud 프로젝트를 선택합니다.
주문하기를 클릭합니다.
요청 양식을 작성하여 제출합니다.
영업 담당자가 제출하신 내용을 검토하고 주문을 완료하기 위해 연락드립니다. Google Cloud 상담사는 다음을 수행합니다.
- 비즈니스 요구사항을 검토하여 최적의 하드웨어 구성을 선택할 수 있도록 지원합니다.
- 로컬 네트워크, Google Cloud 프로젝트, 설치 사이트, 설치 요구사항에 나열된 기타 요구사항에 관한 정보를 수집합니다.
- 이 정보를 사용하여 배송 전에 Distributed Cloud 하드웨어를 구성합니다.
GDC Hardware Management API를 사용하여 Distributed Cloud 연결 하드웨어 주문
GDC Hardware Management API를 사용하면 프로그래매틱 방식으로 분산 클라우드 하드웨어를 주문할 수 있습니다. 주문은 Distributed Cloud Connected를 배포하려는 의도를 나타냅니다. 주문에는 Distributed Cloud 연결 배포의 전체 수명 동안 사용되는 다음 정보가 포함되어야 합니다.
- 주문 관리 및 배송 담당자
- 배송 사이트 주소 및 배송과 관련된 정보
- 하드웨어 구성
- 네트워크 구성
Google 영업 담당자와 협력하여 고객 정보 설문지(CIQ)를 작성하고 Distributed Cloud 연결 배포의 범위와 구성을 완료해야 합니다.
주문의 구조
GDC Hardware Management API를 사용하여 주문하려면 Order 리소스와 Order 리소스가 참조하는 Site, Zone, Hardware 리소스를 만들어야 합니다.
그런 다음 Order 리소스를 Google에 제출합니다. 이러한 리소스는 표준 CRUD 작업을 지원합니다.
각 리소스의 이름은 타겟 Google Cloud 프로젝트 ID와 Google Cloud 리전을 포함하는 경로입니다.
이러한 리소스에는 다음과 같은 기능이 있습니다. 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 Connected SKU를 인스턴스화하고 Distributed Cloud 서버 또는 랙을 나타냅니다. 각Hardware리소스는 연결된Order,Site,Zone리소스를 참조합니다. 사용 가능한 SKU를 확인하려면 ListSkus API 호출을 사용하세요.Zone. 이 리소스는 Distributed Cloud에 연결된 머신 및 연결된 클러스터의 네트워크 구성을 지정합니다. 분산 클라우드 영역은 하나 이상의 분산 클라우드 연결 랙 또는 위치에 배포된 모든 분산 클라우드 연결 서버 머신을 포함합니다.
Order 리소스를 Google에 제출하고 상태가 DRAFT에서 SUBMITTED로 변경되면 대부분의 필드 값이 읽기 전용이 됩니다.
주문의 수명 주기
Order 리소스는 State에 나열된 상태 중 하나일 수 있습니다.
관련 당사자는 주문에 댓글을 남길 수 있으며, 댓글은 해당 Order 리소스 아래에 중첩된 Comment 리소스로 저장됩니다. GDC 하드웨어 관리 API와 Google Cloud 콘솔을 통해 의견을 읽고 제출할 수 있습니다.
주문에 필요한 정보가 모두 포함되어 있고 Google과 계약을 체결한 경우 주문은 ACCEPTED, BUILDING, SHIPPING, INSTALLING, COMPLETED.의 상태를 순서대로 거칩니다.
연결된 Zone 및 Hardware 리소스의 상태는 Order 리소스와 함께 업데이트됩니다.
Google에 추가 정보가 필요하거나 Google과 계약을 체결하지 않은 경우 주문이 ADDITIONAL_INFO_NEEDED 상태가 되고 댓글을 통해 해결되기를 기다립니다. 주문 수정 또는 취소는 댓글을 통해 요청해야 합니다.
대상 Google Cloud 프로젝트 선택
Google Cloud 프로젝트는 Google Cloud 리소스 집합을 캡슐화하고, 사용자가 사용할 수 있도록 하며, 이러한 리소스의 액세스 제어 및 결제 규칙을 설정하는 구조입니다.
국가, 회사 부서와 같은 관리 도메인과 에지 대 코어와 같은 상위 수준 사용 사례별로 별도의 Google Cloud 프로젝트를 만들고 해당 Google Cloud 프로젝트를 통해 도메인의 Distributed Cloud 연결 배포를 관리하는 것이 좋습니다.
Google Cloud 프로젝트를 사용하면 다음 관리 작업을 수행할 수 있습니다.
- Distributed Cloud Connected 하드웨어를 주문합니다.
- 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 리전에 매핑합니다. 이렇게 하면 관리 플레인 오류의 영향이 단일 지리적 지역으로 제한됩니다.
여러 리전에 Google Cloud Distributed Cloud 연결을 스트라이프합니다. 이렇게 하면 관리 영역 장애의 영향을 받을 수 있는 Distributed Cloud 연결 영역의 수가 제한되지만 영향을 받는 영역은 더 넓은 지리적 영역에 분산됩니다.
Distributed Cloud connected는 다음 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
환경 설정
시작하기 전에 다음의 사건 요건을 완료하세요.
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()
문제 해결
이 섹션에서는 가장 일반적으로 발생하는 오류, 원인, 사용 가능한 해결 방법을 설명합니다.
오류: 400 FAILED_PRECONDITION
API 호출에 대한 응답으로 FAILED_PRECONDITION 상태의 400 오류 코드가 표시되면 완료하려는 작업에 대한 요청이 유효한지 확인하세요. 잘못된 요청의 예로는 필드나 값이 누락된 Order 리소스를 제출하거나 이전에 제출된 Order 리소스와 연결된 Hardware 리소스를 삭제하려고 시도하는 것을 들 수 있습니다.
오류: 400 INVALID_ARGUMENT
API 호출에 대한 응답으로 INVALID_ARGUMENT 상태와 함께 400 오류 코드가 표시되면 잘못된 필드 이름과 예상 유형과 일치하지 않는 값 또는 누락된 값이 있는지 확인합니다. PATCH 요청에서 updateMask를 사용하고 updateMask에 지정된 하나 이상의 필드가 잘못된 경우에도 이 오류가 발생할 수 있습니다.
이 문제를 해결하려면 GDC 하드웨어 관리 API를 참고하여 서식을 포함한 모든 필드 이름과 값이 올바른지 확인하세요. JSON 페이로드를 사용하는 경우 필수 정보가 모두 페이로드에 포함되어 있는지 확인합니다.
오류: 401 UNAUTHENTICATED
API 호출에 대한 응답으로 UNAUTHENTICATED 상태와 함께 401 오류 코드가 표시되면 인증 구성을 확인하세요. 자세한 내용은 애플리케이션 기본 사용자 인증 정보 설정을 참조하세요.
오류: 403 PERMISSION_DENIED
API 호출에 대한 응답으로 PERMISSION_DENIED 상태와 함께 403 오류 코드가 표시되면 API 호출에 사용된 서비스 계정에 대상 객체 및 리소스에 액세스할 수 있는 충분한 권한이 있는지 확인합니다. 사용자 인증 정보가 올바르고 만료되지 않았는지도 확인합니다.
오류: 404 NOT_FOUND
API 호출에 대한 응답으로 404 오류 코드와 NOT_FOUND 상태가 표시되면 API 호출에 지정된 리소스 이름과 경로가 유효한지 확인합니다. GDC 하드웨어 관리 API를 참고하여 요청 URL이 올바르게 구성되어 있고 URL에 포함된 모든 필드가 유효한지 확인하세요.