You can use the Confidential Computing feature to create a Managed Service for Apache Spark cluster with Confidential VMs to provide inline memory encryption.
Requirements
A cluster with Confidential VMs must meet following requirements:
- Master and worker instances must use a machine type supported by the selected
Confidential Computing technology.
Supported machines associated with each technology include:
- SEV:
c4d,c3d,c2d,n2d - SEV_SNP:
n2d - TDX:
c3-standard-*,a3-highgpu-1g
- SEV:
- The cluster must use one of the supported Ubuntu images.
- The cluster must be created in a Compute Engine zone that supports
the CPU platform required by the selected Confidential Computing technology—see View supported zones.
- You can run the following command to list the CPUs supported in a
Compute Engine zone:
gcloud compute zones describe ZONE --format="value(availableCpuPlatforms)"
- You can run the following command to list the CPUs supported in a
Compute Engine zone:
Create a cluster with Confidential VMs
You can use the Google Cloud console, Google Cloud CLI, or the Managed Service for Apache Spark API to create a cluster that uses Confidential VMs.
Google Cloud console
To create a cluster that uses Confidential VMs, complete the following steps:
- Open the Create an Apache Spark cluster on Compute Engine page in the Google Cloud console.
- Under Define your cluster, select a supported zone.
- Under Advanced configurations - Infrastructure, select a supported master and worker node machine type.
- Under Advanced configurations - Security, select "Enable confidential computing".
- Confirm or specify other cluster settings, then click Create.
Google Cloud CLI
To create a cluster that uses Confidential VMs, use the
gcloud dataproc clusters create command with the
--confidential-compute-type flag.
gcloud dataproc clusters create CLUSTER_NAME \ --confidential-compute-type=CONFIDENTIAL_COMPUTING_TECHNOLOGY (such asSEV,SEV_SNP, orTDX) \ --image-version=UBUNTU_IMAGE_VERSION \ --zone=ZONE \ --master-machine-type=MACHINE_TYPE \ --worker-machine-type=MACHINE_TYPE \ other args ...
REST API
To create a cluster that uses Confidential VMs, include
the ConfidentialInstanceConfig
as part of a
clusters.create
request. Set confidentialInstanceType to the selected technology, such as SEV, SEV_SNP, or TDX.