GCP Associate Cloud Engineer Study Notes

ACE Exam Guide Creating Projects

This seemed pretty straightforward. To a new user like myself, the easiest way to create a project is through the GCP console. A second way is using the gcloud SDK with the ‘gcloud projects create’ command. A third way is to create the project within code using the Cloud API or client libraries for a variety of languages. This API is based on the JSON REST interface. When you see code snippets in the Resource Manager documentation, some code snippets are in the JSON form.

In all cases, a project name is specified for the project. The project name must be unique to the current cloud environment. It must start with a lowercase letter. Only ASCII letters, digits and hyphens can be used. Its length is between 6 and 30 characters. This should be a user-friendly identifier for your project, because every GCP project is also assigned a project number that is randomly generated by Google Cloud. This not-so-easily-remembered number is unique across the entire GCP environment.

When a project is created, GCP makes a project id for the project. The project id is a concatenation of the project name and project number. The project id is also unique across the entire GCP environment. It is important to note that when Google Cloud creates the project id, they may strip restricted words like ‘google’ or ‘ssl’ from the project name. This doesn’t change the project name, but might be confusing because the first part of the project id might not be the same as the project name. When selecting a project name, consider omitting generic words that may be restricted. Also, because the project id is used across the entire platform, it is recommended that the project name not contain sensitive information.

In order to practice for this part of the study guide, I set up two projects: a virtual machine and a statically hosted web page. The statically hosted web page is just a bucket in Cloud Storage that has some HTML/CSS files with public read access. The virtual machines is a default Linux image running on one processor in one zone.