DEMO: AWS Service Catalog
Start course

AWS Service Catalog is a great service for making AWS a little more user-friendly for the non-technical crowd. It gives you the ability to create products only with components that have been predetermined and vetted by your IT and Security teams. This forces your end users to create more robust and safer applications almost by proxy. 

In this course, you will learn how to create portfolios of various services that your users can provision within their own AWS accounts, and understand how AWS Service Catalog can be used as a security service to protect your business from unauthorized expenses and possible security vulnerabilities.

Learning Objectives

  • Get a general understanding of AWS Service Catalog and its components, including products and portfolios
  • Learn how to set constraints on products within portfolios
  • Get a practical understanding of how to use AWS Service Catalog to provision products

Intended Audience

This course is recommended for IT Administrators, business leaders, and engineers who want to have a better handle on securely provisioning their AWS Cloud technology.


To get the most out of this course, having a decent background in computing is fundamental. You should have basic knowledge of AWS and how provisioning works within it. Some familiarity with security and administration within the tech industry would be beneficial but not essential.


All right, so how about we take a look at the service and action so you can get a good idea how the whole thing works. So I'm logged in here and you can see I don't have any products available for me as an end-user, and I also don't have any products available as an admin. So one of the first things we wanna do is maybe create a product for ourselves. In here I'm gonna type in the name of the product that I wanna make, a brief description that I'm gonna spell correctly. Here we go. Cool stuff.

All right. And it's always important again to add the owner for your products. Products again, are added simply by adding a CloudFormation template, I just popped it in here. And make sure you give it a nice a version title. Simple Arch will do for us. And down here, you can have some more support details, but honestly I think this is good enough. So let's just review our product that we've made. And that looks cool. So success, our product's been created. And again this was just using a simple CloudFormation template that you've previously added and you like. And you can see here my first product is ready. So of course we have a product, we need to put in a portfolio for it to be accessible.

So let's make a portfolio for our arch people and our arch stuff. So arch stuff for my developers. This is a good example here. And then make sure you have the owner as yourself or whoever you want to be the full-time manager of that product and portfolio. And you'll see here that we've created the portfolio, we gotta make sure we add the product to it. And boom, alakazam. We have a portfolio with a product. There is a little bit of a final touch though. We have to make sure we can add people to the portfolios that way they can actually see it on the end-user side. So I'm just going to add all my developers here and then add them in. 

And so now if you remember correctly we couldn't see the products before but if I... Oh, you see, I'm a developer here. And see if I go over to products, now I can see a product here in my window when previously I couldn't. Well, we have no provision products at this time. So how about we go ahead and provision a product for us to use. So since I have access to my first product let's go ahead and click in here. And this is the simple arch that we uploaded earlier.

So let's go ahead and click launch product. It's really just this simple. Type in the name you want to have this stack be called. We're gonna call this our test arch, make sure we're using the version we want. There's only one version so doesn't matter and associate any tags with it that are relevant. So like a cost tag and we're the DevTeam today. So DevTeam always runs up the biggest cost. So that's good. Yeah that's probably good. And then down here, you can have event notifications enabled if you want and SNS topics that you can choose from or create, but that's not needed for us. Let's just go and launch this product.

If you look around here you can see we've got information about the product itself as well as some of the provisioning details down here. And it's still updating. You can see the status there but you can also check the CloudFormation template here. It's a literally just building it with CloudFormation just as you would normally do outside of service catalog. And you can see all this cool information here and all the relevant tags down here at the bottom. You can see it auto-populates some information, but our tags down there that we put and you can to the events to see how much of the CloudFormation template's been created already and what it's currently waiting for and all the resources that have been built and developed on your behalf while building this product. Well, very cool. Just to give it a quick refresh here. It doesn't look like it's quite ready, but that's okay. We'll just go ahead and move back over into service catalog and we can check out things from that end of the field.

So again, if you look over here in provisioned products you can see ours is starting to be built here. Oh, and it's done, would you look at that. Let's go ahead and click into it. And it's just everything you would suspect, got our more information here about the product itself. And you can check this all out. If you have access to this as an end-user, all this stuff has been built right into your account. And you can see here in EC2 that it's spinning up those instances that the CloudFormation template had prescribed. Well, that's very cool. Let's go ahead and head back now.

Now let's say you as an admin didn't want your people to have access to the EC2 but you did want them to have some particular abilities with it. You could use these service actions as we described earlier. And it's really as simple as in here like maybe I want them to be able to restart any EC2 instance and you can click here with or without approval. I think that's super cool. And then you can say, all right well we'll give them a instanceId and they can target themselves. And it'll reset it for us. And yeah, that's literally it. You just associate that action with the service action and it's ready to go. And you can say this service action can be used on our simple architectures or in the products available for 'em.

So let's go give it a try here with our test arch. And if we check inside we should be able to see actions here. And look, we have our restart EC2 action and it's got all of the instances available for us and screw it, let's just restart all of them but you of course could just restart one and delete the extra information and boom, it's gonna go ahead and do that for you in the background. And this would function totally fine without giving the developers access to EC2 if that was your pleasure. Then we click over here into EC2 instances. You can see one of them has come back online since I got over here. Let's give it a couple refreshes. See if they all come back online. Oh, and there we go. Now all of them are initializing, but they did restart. So that's super nifty. Awesome blossom.

All right. Let's head back over to service catalog. And let's say we're done playing around with our architecture so it's probably time to get rid of it. So it's very simple. You just click on this thing and you go up to actions... Oh terminates blocked right now 'cause we're restarting the instances. So there we go. Let's refresh and now we should be able to have access to it. Bam, there we go. So now we can just terminate it. It's just like terminating and killing a normal CloudFormation template. It just tries to roll everything back and it will do that for you here in the background. So let's give it a moment and voila, there we go. Success. Well, I hope you enjoyed this quick little demo. Thanks for watching.

About the Author

William Meadows is a passionately curious human currently living in the Bay Area in California. His career has included working with lasers, teaching teenagers how to code, and creating classes about cloud technology that are taught all over the world. His dedication to completing goals and helping others is what brings meaning to his life. In his free time, he enjoys reading Reddit, playing video games, and writing books.