Google Cloud Managed Lustre は Virtual Private Cloud(VPC)内で実行されます。VPC は、 ネットワーキング機能を Compute Engine 仮想マシン(VM)インスタンス、 Google Kubernetes Engine(GKE)クラスタ、および サーバーレス ワークロードに提供します。
Managed Lustre インスタンスとクライアント Compute Engine VM または Google Kubernetes Engine クラスタを作成するときに、同じ VPC ネットワークを指定する必要があります。
必要な権限
次の IAM 権限を付与されている必要があります。
serviceusage.services.enablecompute.networks.createcompute.addresses.createcompute.addresses.getcompute.firewalls.createservicenetworking.services.addPeering
これらの権限は、次の事前定義ロールをすべて追加することで付与できます。
- Service Usage 管理者 (
roles/serviceusage.serviceUsageAdmin) - Compute ネットワーク管理者 (
roles/compute.networkAdmin) - Compute セキュリティ管理者 (
roles/compute.securityAdmin)
または、特定の権限 を含むカスタムロールを作成します。
ユーザーにロールを付与するには:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:EMAIL_ADDRESS"
--role=ROLE
VPC を作成して構成する
サービス ネットワーキングを有効にする。
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 範囲は、プライベート サービス アクセス接続に使用されます。この接続は、VPC ネットワークと、Managed Lustre リソースがプロビジョニングされる Google マネージド ネットワークをピアリングします。この割り振られた範囲は、Managed Lustre インスタンスに IP を提供するために使用されます。VPC ネットワーク内のサブネットと重複することはできません。
各 Managed Lustre インスタンスには、プレフィックス長が 23 以上の連続した CIDR ブロックが必要です。
複数の Managed Lustre インスタンスを作成する場合や、他の Google Cloud サービスを使用する場合は、 作成を許可するために、/20 の大きな IP 範囲を作成することをおすすめします。
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)" )作成した IP 範囲からの TCP トラフィックを許可するファイアウォール ルールを作成します。
gcloud compute firewall-rules create FIREWALL_NAME \ --allow=tcp:988,tcp:6988 \ --network=NETWORK_NAME \ --source-ranges=$CIDR_BLOCKピアリングを接続します。
gcloud services vpc-peerings connect \ --network=NETWORK_NAME \ --ranges=IP_RANGE_NAME \ --service=servicenetworking.googleapis.com
multi-NIC 用に追加のサブネットを作成する
複数のネットワーク インターフェース カード(multi-NIC)を使用して帯域幅を集約する場合は、NIC ごとに VPC ネットワーク内に個別のサブネットを作成する必要があります。
multi-NIC のメリットを得るには、通常の VPC に接続された複数の物理 NIC を持つ Compute Engine マシンタイプを使用する必要があります。RDMA ネットワーク プロファイルを使用して VPC に接続する NIC は、一般的なネットワーク帯域幅の増加には使用できません。詳細については、 ネットワーキングと GPU マシンをご覧ください。
追加の物理 NIC のサブネットを作成するには:
gcloud compute networks subnets create SUBNET_NAME_2 \
--network=NETWORK_NAME \
--range=10.130.0.0/20 \
--region=REGION
追加の NIC ごとにこの手順を繰り返します。各サブネットの IP 範囲が重複しないようにしてください。
VPC Service Controls
Managed Lustre は VPC Service Controls(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 ピアリングをすでに作成している場合に返されます。考えられる解決法は次の 2 つです。
既存の IP 範囲を置き換えます。
gcloud services vpc-peerings update \
--network=NETWORK_NAME \
--ranges=IP_RANGE_NAME \
--service=servicenetworking.googleapis.com \
--force
または、新しい IP 範囲を既存の接続に追加します。
ピアリングの既存の 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
IP アドレス範囲が枯渇しました
IP アドレス範囲が枯渇したというエラーでインスタンスの作成に失敗した場合は、次の操作を行います。
ERROR: (gcloud.alpha.Google Cloud Managed Lustre.instances.create) FAILED_PRECONDITION: Invalid
resource state for "NETWORK_RANGES_NOT_AVAILABLE": IP address range exhausted
VPC ガイドに沿って、既存のプライベート接続を変更して IP アドレス範囲を追加します。
プレフィックス長は /20(4,096 アドレス)以上をおすすめします。