Google Cloud Managed Lustre 인스턴스는 비공개 서비스 액세스를 사용하여 Virtual Private Cloud (VPC)에 연결되는 Google 관리형 네트워크에서 프로비저닝됩니다.
다음 네트워크 설정 중 하나를 사용하여 Managed Lustre 인스턴스를 클라이언트 Compute Engine VM 또는 Google Kubernetes Engine 클러스터에 연결할 수 있습니다.
동일한 VPC 네트워크: 클라이언트 리소스와 Managed Lustre 인스턴스를 동일한 VPC 네트워크에 연결합니다.
별도의 VPC 네트워크: 별도의 VPC 네트워크에 클라이언트 리소스를 배포하고 Network Connectivity Center를 사용하여 두 네트워크를 연결합니다. NCC 설정에 대한 안내는 Network Connectivity Center 문서를 참조하세요.
두 설정 모두 이 페이지의 안내에 따라 Managed Lustre 인스턴스가 프로비저닝될 VPC 네트워크를 구성합니다. 별도의 VPC 네트워크를 사용하는 경우 안내에는 클라이언트 VPC 네트워크에 필요한 단계가 포함된 콜아웃이 포함됩니다.
필수 권한
다음 IAM 권한이 있어야 합니다.
serviceusage.services.enablecompute.networks.createcompute.addresses.createcompute.addresses.getcompute.firewalls.createservicenetworking.services.addPeering
이러한 권한은 다음 사전 정의된 역할을 모두 추가하여 부여할 수 있습니다.
- 서비스 사용량 관리자 (
roles/serviceusage.serviceUsageAdmin) - Compute 네트워크 관리자 (
roles/compute.networkAdmin) - Compute 보안 관리자 (
roles/compute.securityAdmin)
또는 특정 권한이 포함된 커스텀 역할을 만듭니다.
사용자에게 역할을 부여하려면 다음을 실행합니다.
Google Cloud 콘솔
Google Cloud 콘솔에서 IAM 페이지로 이동합니다.
액세스 권한 부여 를 클릭합니다.
새 주 구성원 필드에 사용자 이메일 주소를 입력합니다.
역할 선택 드롭다운 메뉴에서 부여할 역할을 선택합니다.
여러 역할을 부여하려면 다른 역할 추가 를 클릭하고 다음 역할을 선택합니다.
저장 을 클릭합니다.
gcloud
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:EMAIL_ADDRESS" \
--role=ROLE
VPC 만들기 및 피어링
VPC 네트워크를 만들고 Managed Lustre에 대한 비공개 서비스 액세스 연결을 설정하려면 다음 단계를 수행하세요.
Google Cloud 콘솔
Service Networking API를 사용 설정합니다.
커스텀 모드에서 VPC 네트워크를 만듭니다.
콘솔 Google Cloud 에서 VPC 네트워크 페이지로 이동합니다.
VPC 네트워크 만들기를 클릭합니다.
네트워크의 이름 을 입력합니다.
MTU 자동 설정 을 선택 해제하고 최대 전송 단위 (MTU) 필드에
8896을 입력합니다.서브넷 생성 모드에서 커스텀을 선택합니다.
GKE 또는 Compute Engine 리소스의 기본 서브넷을 만듭니다.
- 새 서브넷 섹션에서 서브넷의 이름 을 입력합니다.
- 리전 을 선택합니다.
- IPv4 범위 필드에 기본 IPv4 범위 (예:
10.128.0.0/20)를 입력합니다. - 완료 를 클릭합니다.
- 만들기 를 클릭하여 VPC 네트워크를 만듭니다.
비공개 서비스 액세스의 IP 범위를 할당합니다.
이 내부 IP 범위는 Managed Lustre 리소스가 프로비저닝되는 Google 관리형 네트워크와 VPC 네트워크를 피어링하는 비공개 서비스 액세스 연결에 사용됩니다. 이 할당된 범위는 Managed Lustre 인스턴스의 IP를 제공하는 데 사용되며 VPC 네트워크의 서브넷과 겹치지 않아야 합니다.
각 Managed Lustre 인스턴스에는 프리픽스 길이가 23 이상인 연속 CIDR 블록이 필요합니다.
여러 Managed Lustre 인스턴스를 만들거나 다른 서비스를 Google Cloud 사용할 수 있도록 더 큰 IP 범위(/20)를 만드는 것이 좋습니다.
- VPC 네트워크 페이지에서 VPC 네트워크 이름을 클릭합니다.
- 비공개 서비스 액세스 탭을 선택합니다.
- 서비스에 할당된 IP 범위 탭을 선택합니다.
- IP 범위 할당 을 클릭합니다.
- 할당된 범위의 이름 과 설명 (예:
Managed Lustre VPC Peering)을 입력합니다. - IP 주소 범위를 지정합니다.
- Google에서 사용 가능한 범위를 선택하도록 하려면 자동 을 선택하고 프리픽스 길이
20을 입력합니다. - 특정 범위를 지정하려면 커스텀 을 선택하고 프리픽스 길이가
/23이상인 CIDR 블록 (예:10.128.0.0/20)을 입력합니다. - 할당 을 클릭합니다.
할당된 범위와 연결된 CIDR 블록을 확인합니다.
서비스에 할당된 IP 범위 표에서 만든 범위를 찾고 내부 IP 범위 열의 값 (예:
10.128.0.0/20)을 확인합니다. 다음 단계에서 이 범위를 소스로 지정합니다.-
- Google Cloud 콘솔에서 방화벽 정책 페이지로 이동합니다.
- 방화벽 규칙 만들기를 클릭합니다.
- 방화벽 규칙의 이름 을 입력합니다.
- 네트워크 필드에서 VPC 네트워크를 선택합니다.
- 트래픽 방향으로 인그레스를 선택합니다.
- 일치 시 작업으로 허용을 선택합니다.
- 대상으로 네트워크의 모든 인스턴스를 선택합니다.
- **소스 필터** 에 대해 **IPv4 범위** 를 선택합니다.
- 소스 IPv4 범위 필드에 이전 단계에서 확인한 할당된 범위의 CIDR 블록을 입력합니다.
- 프로토콜 및 포트에서 지정된 프로토콜 및 포트를 선택합니다.
- TCP 체크박스를 선택하고 포트 필드에
988, 6988을 입력합니다. - 만들기 를 클릭합니다.
별도의 VPC 네트워크: 클라이언트 VM 또는 GKE 클러스터가 Network Connectivity Center를 통해 연결된 별도의 VPC 네트워크 에 있는 경우 두 VPC 네트워크의 방화벽 규칙이 할당된 IP 범위의 트래픽을 허용해야 합니다. 방화벽 규칙 만들기 ... 단계를 반복하여 할당된 CIDR 블록에서 포트
988및6988의 인그레스 TCP 트래픽을 허용하는 클라이언트 VPC 네트워크에 방화벽 규칙을 만듭니다. 비공개 서비스 액세스 연결을 설정합니다.
이 연결은 Managed Lustre 인스턴스가 프로비저닝되는 VPC 네트워크에서만 필요합니다.
- VPC 네트워크 페이지에서 VPC 네트워크 이름을 클릭합니다.
- 비공개 서비스 액세스 탭을 선택합니다.
- 서비스에 대한 비공개 연결 탭을 선택합니다.
- 연결 만들기 를 클릭합니다.
- 지정된 할당 목록에서 만든 할당된 IP 범위를 선택합니다.
- 연결 을 클릭합니다.
gcloud
서비스 네트워킹을 사용 설정합니다.
gcloud services enable servicenetworking.googleapis.com커스텀 모드에서 VPC 네트워크를 만듭니다.
gcloud compute networks create NETWORK_NAME \ --subnet-mode=custom \ --mtu=8896GKE 또는 Compute Engine 리소스의 기본 서브넷을 만듭니다.
gcloud compute networks subnets create SUBNET_NAME \ --network=NETWORK_NAME \ --range=10.128.0.0/20 \ --region=REGION비공개 서비스 액세스의 IP 범위를 할당합니다.
이 내부 IP 범위는 Managed Lustre 리소스가 프로비저닝되는 Google 관리형 네트워크와 VPC 네트워크를 피어링하는 비공개 서비스 액세스 연결에 사용됩니다. 이 할당된 범위는 Managed Lustre 인스턴스의 IP를 제공하는 데 사용되며 VPC 네트워크의 서브넷과 겹치지 않아야 합니다.
각 Managed Lustre 인스턴스에는 프리픽스 길이가 23 이상인 연속 CIDR 블록이 필요합니다.
여러 Managed Lustre 인스턴스를 만들거나 다른 서비스를 Google Cloud 사용할 수 있도록 더 큰 IP 범위(/20)를 만드는 것이 좋습니다.
gcloud compute addresses create IP_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --prefix-length=20 \ --description="Managed Lustre VPC Peering" \ --network=NETWORK_NAME이전 단계에서 만든 범위와 연결된 CIDR 블록을 가져옵니다.
CIDR_BLOCK=$( gcloud compute addresses describe IP_RANGE_NAME \ --global \ --format="value[separator=/](address, prefixLength)" )-
gcloud compute firewall-rules create FIREWALL_NAME \ --allow=tcp:988,tcp:6988 \ --network=NETWORK_NAME \ --source-ranges=$CIDR_BLOCK별도의 VPC 네트워크: 클라이언트 VM 또는 GKE 클러스터가 Network Connectivity Center를 통해 연결된 별도의 VPC 네트워크에 있는 경우 두 VPC 네트워크의 방화벽 규칙이 할당된 IP 범위 (
$CIDR_BLOCK)의 트래픽을 허용해야 합니다.firewall-rules create명령어를 두 번째로 실행하여 클라이언트 VPC 네트워크에 방화벽 규칙을 만듭니다.gcloud compute firewall-rules create CLIENT_FIREWALL_NAME \ --allow=tcp:988,tcp:6988 \ --network=CLIENT_NETWORK_NAME \ --source-ranges=$CIDR_BLOCK
비공개 서비스 액세스 연결을 설정합니다.
gcloud services vpc-peerings connect \ --network=NETWORK_NAME \ --ranges=IP_RANGE_NAME \ --service=servicenetworking.googleapis.com이 연결은 Managed Lustre 인스턴스가 프로비저닝되는 VPC 네트워크에서만 필요합니다.
다중 NIC를 위한 추가 서브넷 만들기
여러 네트워크 인터페이스 카드 (멀티 NIC)를 사용하여 대역폭을 집계하려면 각 NIC에 대해 VPC 네트워크 내에 별도의 서브넷을 만들어야 합니다.
다중 NIC를 활용하려면 일반 VPC에 연결된 여러 실제 NIC가 있는 Compute Engine 머신 유형을 사용해야 합니다. RDMA 네트워크 프로필이 있는 VPC에 연결되는 NIC는 일반 네트워킹 대역폭을 늘리는 데 사용할 수 없습니다. 자세한 내용은 네트워킹 및 GPU 머신을 참고하세요.
추가 실제 NIC의 서브넷을 만들려면 다음 단계를 따르세요.
Google Cloud 콘솔
콘솔 Google Cloud 에서 VPC 네트워크 페이지로 이동합니다.
VPC 네트워크 이름을 클릭합니다.
서브넷 추가 를 클릭합니다.
새 서브넷 섹션에서 다음을 수행합니다.
- 서브넷의 이름 을 입력합니다.
- 리전 을 선택합니다.
- IP 주소 범위 (예:
10.130.0.0/20)를 입력합니다. - 추가 를 클릭합니다.
gcloud
gcloud compute networks subnets create SUBNET_NAME_2 \
--network=NETWORK_NAME \
--range=10.130.0.0/20 \
--region=REGION
추가 NIC마다 이 단계를 반복합니다. 각 서브넷의 IP 범위가 서로 겹치지 않는지 확인합니다.
VPC 서비스 제어
Managed Lustre는 VPC 서비스 제어 (VPC-SC)를 지원합니다. 자세한 내용은 서비스 경계로 인스턴스 보호 를 참고하세요.
VPC 설정 문제 해결
서비스 servicenetworking.googleapis.com의 피어링을 추가할 권한이 거부됨
ERROR: (gcloud.services.vpc-peerings.connect) User [$(USER)] does not have
permission to access services instance [servicenetworking.googleapis.com]
(or it may not exist): Permission denied to add peering for service
'servicenetworking.googleapis.com'.
이 오류는 사용자 계정에 servicenetworking.services.addPeering IAM 권한이 없음을 의미합니다.
계정에 다음 역할 중 하나를 추가하는 방법은 IAM으로 액세스 제어를 참고하세요.
roles/compute.networkAdmin또는roles/servicenetworking.networksAdmin
CreateConnection에서 할당된 범위를 수정할 수 없음
ERROR: (gcloud.services.vpc-peerings.connect) The operation
"operations/[operation_id]" resulted in a failure "Cannot modify allocated
ranges in CreateConnection. Please use UpdateConnection."
이 오류는 서로 다른 IP 범위로 이 네트워크에 VPC 피어링을 이미 만든 경우 반환됩니다. 다음과 같은 두 가지 문제 해결 방법이 있습니다.
기존 IP 범위를 바꿉니다.
Google Cloud 콘솔
콘솔 Google Cloud 에서 VPC 네트워크 페이지로 이동합니다.
VPC 네트워크 이름을 클릭합니다.
비공개 서비스 액세스 탭을 선택합니다.
비공개 서비스 액세스 탭에서 서비스에 대한 비공개 연결 탭을 선택합니다.
연결 이름 (예:
servicenetworking-googleapis-com)을 클릭합니다.지정된 할당 목록에서 새 할당된 범위를 선택하고 바꾸려는 할당된 범위의 체크박스를 선택 해제합니다.
저장 을 클릭합니다.
gcloud
gcloud services vpc-peerings update \
--network=NETWORK_NAME \
--ranges=IP_RANGE_NAME \
--service=servicenetworking.googleapis.com \
--force
또는 기존 연결에 새 IP 범위를 추가합니다.
Google Cloud 콘솔
콘솔 Google Cloud 에서 VPC 네트워크 페이지로 이동합니다.
VPC 네트워크 이름을 클릭합니다.
비공개 서비스 액세스 탭을 선택합니다.
비공개 서비스 액세스 탭에서 서비스에 대한 비공개 연결 탭을 선택합니다.
연결 이름을 클릭합니다.
지정된 할당 목록에서 기존 할당된 범위를 선택된 상태로 유지하고 새 할당된 범위를 선택합니다.
저장 을 클릭합니다.
gcloud
피어링의 기존 IP 범위 목록을 가져옵니다.
EXISTING_RANGES="$( gcloud services vpc-peerings list \ --network=NETWORK_NAME \ --service=servicenetworking.googleapis.com \ --format="value(reservedPeeringRanges.list())" \ --flatten=reservedPeeringRanges )그런 다음 새 범위를 피어링에 추가합니다.
gcloud services vpc-peerings update \ --network=NETWORK_NAME \ --ranges="${EXISTING_RANGES}",IP_RANGE_NAME \ --service=servicenetworking.googleapis.com