Google Cloud Platform provides a suite of resources and services that run on the same infrastructure that Google uses to run its own products, such as Google Search and YouTube. The services offered to access GCP resources include compute, storage, networking, big data, and machine learning.
In this course, you will learn how to create and set up new GCP projects and how to give users permission to access project resources by assigning them to roles such as owner and editor. You will also learn how to enable APIs, set up budgets, and monitor spending.
Learning Objectives
- Create and manage cloud projects
- Create and add users to projects
- Assign permissions to users
- Enable APIs for a project
- Set up budgets and monitor spending
Intended Audience
- Google Cloud Platform Administrators
- People who want to get GCP certified (eg: Associate Cloud Engineer)
Prerequisites
- Admin access to a GCP account is highly recommended
Before you can start building anything on Google Cloud Platform, you first need a project. Projects allow you to easily organize all the resources in your account. Every time you create a compute, storage or network resource, you will need to assign it to a project. Projects also contain their own unique set of users, APIs, and billing account information.
So let’s say you wanted to build a blog for sharing photos. You would start out by creating a new project. Let’s say you named it "Photo blog”. You then would start adding some resources to it. First, you might add a Compute Engine instance for running WordPress. Then a Cloud SQL database for storing your posts. And finally a Cloud Storage bucket for hosting the photos. All three of these resources would be linked to the project “Photo blog”. Other projects would be set up in a similar fashion. In this way, you can easily tell which of your resources belong to “Photo blog” and which belong to other projects.
If you are just starting out, creating projects might feel like an unnecessary step. However, the value quickly becomes apparent as you start building more and more. Organizing your resources into projects means that you won’t have to scroll through a thousand Virtual Machines to find the one you are looking for. Also, it means that you won’t accidentally get a production database confused with a development database. Finally, it will make your life easier when you need to shut down a project. You won’t have to track down each individual resource and manually delete it. When you delete a project, all associated resources are deleted as well.
And that is just a few. There are many other advantages. For example, security is greatly enhanced. Just because one project has access to an API, does not mean all your projects need access. The same is true for users. Not every user account needs the same level of permissions to every project. If you are going to be building anything substantial, you really need to get comfortable with creating and organizing Google Cloud Projects.
So now that you understand the importance of projects, let me demonstrate how to work with them in the GCP console. It’s actually pretty simple. If you want to try to follow along, you will need admin access to a GCP account. Remember, you can always sign up for a free trial at cloud.google.com.
Once you first log in, your screen should look similar to this. If you just created your account, then a default project has already been set up for you. It’s called “My First Project”. You can use this project, but eventually, you will want more. So let’s go through the process of creating a new project.
The console usually has multiple ways of accomplishing the same goal. For example, here you could click on the project selector drop-down menu at the top of the screen. And then you can click on the “New Project” button here. Or you can also go to the Navigation menu, click “IAM & Admin”, and then on “Manage Resources”. From here you can see all of your projects. You might see more or less here, depending on if this is a new account or if not. I just created this account and have not defined any organizations, so it’s mostly empty except for the one default project.
The obvious next step is to click the “Create Project” button. Now I need to pick a project name. This can be whatever you want. Usually, I try to pick a name that describes what I am planning to build. For this example, let’s go with “Photo Blog”.
When you create a new project, a Project ID is automatically generated for you based upon the Project Name. Usually, it will contain the name of the project and have a random number appended to the end. The Project Name is purely for your benefit. It can be whatever you want. You can change it at any time. And it does not need to be unique.
The Project ID is for uniquely identifying your project. This allows GCP to distinguish your project from all others. That also means your Project ID needs to be globally unique. The ID cannot be the same as any other projects in any other account. You can see that it is possible to try to pick your own ID, but generally, I would recommend against it. It’s going to be hard to pick something clever that has not already been used by someone else. Instead, pick a good name and let Google generate the ID for you.
You are also asked to pick a location. If you have a more complicated setup with folders or multiple organizations, you will need to pick the correct one. But since this is a new, personal account I don’t have any of that. I will just leave it set to the default.
Once I click “Create”, the project will be created.
After creating a project, you can view the details on the Project info card on the Dashboard. You also can switch between projects by clicking on the project selector drop-down at the top of the page. Now that I have switched to the “Photo blog” project, anything I build will be assigned to that project.
When you no longer have use for a project, you can delete it. A project is marked for deletion for 30 days before it is actually deleted. This gives you some time to recover a project if you accidentally deleted it, or if you change your mind later. While the project is marked for deletion, it is unusable; however, its resources still count against your project quota until it is deleted. If a billing account is assigned to the project, the project may not be deleted until the current billing cycle ends.
To shut down a project, open the Nav menu, click on “IAM and Admin”, then click “Manage Resources”. Then simply select the Project and click the “Delete” button at the top of the page. Then you will get a confirmation warning about deleting a project. To confirm deleting, enter the Project ID. And finally, click the “Shut down” button. Be aware that deleting a project will not allow you to reuse the same Project ID. Once you use a project ID, that ID can never be used again by anyone.
A deleted project can be restored, as long as you do it before the end of the 30-day shutdown period. To restore a project, simply click on the “Resources Pending Deletion” button. Find the deleted project or projects that you want to restore, and select them. Then click the “Restore” link at the top of the page. And finally, confirm that you wish to restore the project by clicking the “Restore” button. So if we go back, we can confirm that the project is no longer marked for deletion.
So now you know how to create, delete and restore cloud projects. If you have access to a GCP account, you may want to try creating and deleting a few projects yourself to get familiar with the process.
Daniel began his career as a Software Engineer, focusing mostly on web and mobile development. After twenty years of dealing with insufficient training and fragmented documentation, he decided to use his extensive experience to help the next generation of engineers.
Daniel has spent his most recent years designing and running technical classes for both Amazon and Microsoft. Today at Cloud Academy, he is working on building out an extensive Google Cloud training library.
When he isn’t working or tinkering in his home lab, Daniel enjoys BBQing, target shooting, and watching classic movies.