Google Cloud Platform
Requirements​
In order to register your GCP Project (account) with Frame, ensure that you have addressed the following before proceeding:
Permissions:
- The GCP Project principal who will run the Frame-supplied deploy.sh script has the role of “Owner” or has sufficient permissions to grant the required GCP roles to the Frame Platform service user
frame-prod@frame-customer-iaas-prod.iam.gserviceaccount.com
:- compute.instanceAdmin
- compute.networkAdmin
- compute.securityAdmin
- compute.storageAdmin
- dns.admin
- Once the deploy.sh script is executed, the principal who executed the script is no longer needed for Frame.
- The GCP Project principal who will run the Frame-supplied deploy.sh script has the role of “Owner” or has sufficient permissions to grant the required GCP roles to the Frame Platform service user
You know your GCP Account ID that will be registered with Frame. The GCP Account ID can be found by going to the Dashboard of your GCP console.
Shared VPC​
For customers who wish to use GCP Shared VPCs, you will need to register both your GCP Host and Service Projects in Frame.
- GCP Host Project: After the GCP Host Project has been added as a Cloud Account in Frame, the GCP Administrator can remove assigned roles described above and assign the
Compute Network User
role. - GCP Service Project: The GCP Service Project which will use the Shared VPC and specific subnets within the Shared VPC must then be added as a second Cloud Account in Frame.
Once you have registered the two GCP projects, contact Nutanix Support who will assist you with associating your Shared VPC subnets with your GCP Service Project Cloud Account.
Adding your Cloud Acount​
Procedure​
- Navigate to your Google Cloud Platform console by going to https://console.cloud.google.com/.
- Locate and copy the Project ID found in your GCP console Dashboard.
- Navigate to the "Customers" or "Organizations" section (depending on where you wish to add the cloud account).
- Click on the ellipsis listed next to the customer or organization you wish to add your cloud account to, click “Cloud Accounts.”
- Click the “Add Cloud Account” button on the top-right:
- A new window will appear prompting you for the following information:
- Cloud provider: Select GCP.
- Name: Enter the desired name of your cloud service. This will be the name of the Cloud Account in Frame Console.
- Cloud account ID: Enter your GCP Project ID in this field.
- Once you have entered the information, click the “Open GCP Cloud Shell" button. A new tab will open, taking you to your GCP Console.
- A prompt will appear asking you to confirm that you trust the Github repo storing the deploy.sh file. Select the Trust checkbox and click “Confirm.”
- After the Cloud Shell has initialized, paste the deployment command into the cloud shell and press “Enter.” You will be asked to authorize the use of your credentials to make a GCP API call. Once the command has completed successfully, you can close the Google Cloud Shell tab.
Navigate back to your browser tab containing your Add new Frame cloud account configuration window and click the “Verify credentials” button.
Once your credentials are verified, you can select the data centers (GCP regions) for your Frame accounts. You may add additional data centers in the future.
Check the box at the bottom informing you of possible resource usage on your GCP cloud infrastructure and then click "Add Account." After a few minutes, you will see your GCP Cloud Account listed as “Ready”.
Now that your GCP Cloud Account is created and accessible within Frame, you will be able to create Frame accounts using this BYO cloud account.
Resources Created During BYO GCP Cloud Account Creation​
During the creation of a BYO GCP Cloud Account, Frame will immediately create multiple roles comprised of the minimum required permissions for Frame Platform communication and orchestration with Google API Gateway on behalf of your Google Project. Frame also enables Google's Compute Engine and Cloud DNS APIs.
Service Limits​
By default, a newly created GCP account will impose certain service limits on available resources. Depending on the number of the Frame workload VMs required of a given machine type (e.g., number of concurrent users on n1-standard-4-GPU-P4-Windows), how the Frame account is created (e.g., Frame networking with or without an SGA), and whether you use Publish or Quick Publish, you will likely need to adjust the default limits imposed on the GCP account. If these limits are set to values that are lower than what is required by the Frame platform, you can expect certain functions to either fail, or be substantially delayed. The requirements by Frame for these service limits depends on the desired workload and required resources. The recommended service limit increases include the following:
GCP Resource | Recommendation |
---|---|
CPUs and Machine Types | GCP has quota metrics on the total number of CPUs and number of CPUs for specific machine types, on a per-location basis. We recommend you first determine the expected max number of instances by machine type (per Frame account) for your needs. Next, calculate the total number of CPUs based on the expected max number of instances and the required number of CPUs for a specific machine type. If you use Publish, set your CPU quota to 2.2 times the required number of CPUs and specific machine type quotas to 2.2 times your expected max number of instances. The additional 20% will accommodate any additional resources such as Sandboxes, Utility servers, etc. If you use Quick Publish, you can use a minimum factor of 1.X times to calculate the required number of CPUs and the max instances. X is computed as the “Number of production instances created on publish” divided by expected max instances. By default, the “Number of production instances created on publish” value is configured to be 10 VMs. A factor of 1.3-1.5 should be sufficient to account for typical Quick Publishes and overhead. |
Persistent Disk SSD | Frame provisions Persistent Disks for all workload VM disks. These persistent disks are zonal SSDs. Typically, this resource does not need to be modified. To estimate total disk storage consumption, multiply the total number of VMs you expect to provision by the size of the Sandbox VM (e.g., 80 GiB) across all Frame accounts you plan to provision. Number and size of any utility servers, number of Sandbox image backups, number and size of personal drives, and number and size of enterprise profile disks would be additional storage to consider. |
GPU-backed Instances | If you plan to use GPU-backed instances, you will need to increase the specific Virtual Workstation GPU (e.g., “NVIDIA T4 Virtual Workstation GPUs”) quota to the maximum number of workload VMs that will be provisioned. As was discussed in the CPU recommendation, make sure to account for the temporary increase of GPU VMs during a Publish or Quick Publish when the new production VMs with attached GPUs are created and before the old production VMs with attached GPUs are terminated. |
IP Addresses | You will need 1 ephemeral external IP address and 1 internal IP address for each powered on VM for Frame accounts created with Frame networking (default). If the Frame account is created using Frame networking, private network with Streaming Gateway Appliance (SGA), then you will need 1 ephemeral external IP address for each SGA VM and 1 private IP address for each of the SGA VM and workload VMs (production, Sandbox, and Utility Server(s)). You will also need to account for the temporary increase of in-use IP addresses during a Publish or Quick Publish when the new production VMs are created and before the old production VMs are terminated. |
Networks | If Frame networking (default) or Frame networking (private networking) is used to create Frame accounts, the number of VPC networks equals the number of Frame accounts. If Frame networking (private networking with SGA) is used to create Frame accounts, the required number of VPC networks is two times the number of Frame accounts. For BYO networking, no new networks are created. |
Subnetworks | If Frame networking is used to create Frame accounts, the number of subnetworks equals the number of Frame accounts. For BYO networking, no new subnetworks are created. |
To review all of your quota metrics and current usage on your GCP account, you will need to click on the “IAM & Admin” link in the navigation panel on the left of the GCP console and select “Quotas” at the bottom of the IAM & Admin navigation panel.
Service limit increases may not be necessary for smaller production environments or trial accounts.
Instance Types​
Each IaaS provider has a unique naming scheme for their instance types. GCP names their instance types (or “machine types”) based on the “machine type families” they have created for specific workload use cases. More information about machine types and machine type families can be found in GCP's official documentation.
For the latest GCP instances supported by Frame, refer to Frame Pricing Page.