Service Catalog: Using Service Catalog
For more information on Service Catalog, visit aws.amazon.com
Service Catalog Description
Service Catalog is an AWS service offering that allows organizations the ability to make product offerings within customizable portfolios, available within their organization. Portfolios, or collections of products can be created, allowing administrators the ability to group applications together by category, department, or any other organizational construct of their choosing, which then can be shared from a centralized location to multiple regions, within multiple accounts. A Product, which is comprised of Infrastructure as Code (IaaS), such as CloudFormation Templates, is created and configured within a portfolio, making it easy for members of your organization to quickly locate available infrastructure configurations, and launch them with the press of a button, all without the need for the member to understand or be familiar with tools such as CloudFormation Templates or processes such as how they are launched and managed. Products can range anywhere from a single EC2 instance deployment, to a full three tier stack using a combination of services such as VPC, EC2, RDS, or any other service that currently is supported by CloudFormation.
Navigating to Service Catalog
1. Log into your AWS account:
Open a browser window and visit the AWS Console Page
2. Locate and navigate to Service Catalog: From the top left side of the navigational menu bar, click on the Services menu, and then choose Service Catalog by either navigating to the section of the listed services, or by typing the first few letters of the service name in the search box, and then choosing it from the filtered list.
Components of the Service Catalog Menu
In the Service Catalog console, once opened you will be presented with a navigational menu, on the left side of the console screen, as well as the main Service Catalog details view in main console window on the right side of the console screen. The left navigational menu will contain 2 important sections, located at the top of the navigational menu:
Service Catalog Products List
Selecting the Products list from the left side menu will load all available products from all shared portfolios in the main Service Catalog console window, where selecting any specific product will show the product details, as well as enable the product to be easily launched.
Service Catalog Provisioned Products List
Selecting the Provisioned products list from the side menu will load all previously launched products which are currently active, into the main Service Catalog console window. From this menu, you can easily manage any previously launched product, with Action options such updating or terminating any product shown in the provisioned product list.
Launching a Product with Service Catalog
Using Service Catalog to launch a product or application stack is an easy process.
1. Select a Product:
From the left navigational menu, click on Products list to list all products that are available to you. From the Products List console, locate and select the product that you would like to launch, (Gitlab will be used for the purpose of this tutorial), by clicking on the product from the main products list. Once you have verified that the correct product has been selected, you can start the launch process by clicking on the big Launch button on the product information view in the console.
2. Select a Product Version:
Once the the Launch button has been clicked you will be brought through a quick wizard that will help setup the operational environment for the product that was selected. In the first section of the wizard, from the list of available product versions, choose the version of the product that you wish to launch (1), Then give the product a Name (2), and finally click on the Next link (3)
3. Define Product Parameters:
Next define any parameter values that the product will need in order to launch. These parameters are defined within the CloudFormation template and will be used by the template when launching off the product to provide product customizations. Once all of the parameter values have been filled out, click on the Next link.
4. Define Product Tags:
Next define any tag values that the product should have. Tags although, operationally optional, could be required by your organization to ensure that launched resources can be billed back to the proper department or grouped with other resources that comprise the entirety of an application or business unit. Once all of the tag values have been defined, click on the Next link.
5. Define Notifications:
Once both parameters and tags have been defined, the last thing that we need to configure is any optional SNS notifications that we want enabled. SNS notifications are also operationally optional, and can be used to publish product and/or launch events to a defined SNS topic. If no notifications are being defined, then just click the Next link. If notifications are desired, then click the Enable provisioned product event notifications to be streamed to an Amazon SNS topic radio button, and then choose to either create a new SNS topic, or choose an existing topic from either your account or another account that you have access to. Once selected, click the Next link.
6. Review and Launch:
Last, once the wizard has reached the last section, simply review the launch configuration, and click on the Launch link.
7. Wait for Launch:
Once the product has been launched successfully, you will be brought to the provisioned product details page, which will show the current status of the launched product. Note the status section in the launch details. The Product is not fully launched or available for consumption until the status changes from its initial value of In progress to Succeeded
Verify a Service Catalog Product Launch
After a product has been launched, and the status of the product launch has changed to Succeeded, we can verify the success of our launched product, and gather the details of the product launch from within a few different spots in the console.
1. Verify via CloudFormation:
Because Service Catalog uses CloudFormation in the background to launch our product, once the product launch has succeeded, we can verify that the product launch was clean via checking in the CloudFormation console. In order to get to the CloudFormation console, from the top left side of the navigational menu bar, click on the Services menu, and then choose CloudFormation by either navigating to the section of the listed services, or by typing the first few letters of the service name in the search box, and then choosing it from the filtered list.
2. Verify CF Stack Status:
Once in the CloudFormation console, scroll through the list of stacks until you locate the stack name that was identified on the product launch console. For the purpose of this tutorial the stack name given to the Gitlab product is SC-987303449646-pp-qgjd3cwhc76rq. Once located, verify that the stack status is CREATE_COMPLETE. Also, from within the CloudFormation console, you can click through the stack details in the bottom half of the console window to see events, resources, parameter values, tags, and other stack metadata that was produced when the product was launched.
3. Verify via EC2 Console:
Provided that the product that you launched contained any EC2 instances or EC2 related resources such as EBS volumes, or an ELB, then another way to verify that the product launched correctly is to check the EC2 console for newly launched resources. In order to get to the EC2 console, from the top left side of the navigational menu bar, click on the Services menu, and then choose EC2 by either navigating to the section of the listed services, or by typing the first few letters of the service name in the search box, and then choosing it from the filtered list.
4. Verify EC2 Resources:
Once in the EC2 console, scroll through the list of resources and locate any resource that were provisioned from within the product definition and associated CloudFormation template. If the product launched any EC2 instance(s) for example, then in the main EC2 console, those instances will be listed within the main EC2 Dashboard. You can click on any resource that was launched via the Service Catalog product launch and both verify operational status as well as gather information from the resources metadata such as public and/or private IP address's, security groups, EBS volumes, and/or any other related metadata available for those provisioned resources.
Service Catalog Product Resources:"
Products contained within the Service Catalog may not launch EC2 specific resources. A product offering can launch a plethora of different services, and/or resources such as VPC endpoints, RDS databases, devops pipelines, or any other AWS resource that is enabled via the usage of CloudFormation. If the EC2 dashboard doesn't show any new resources after launching a product in the Service Catalog, it doesn't mean that the launch was not successful, but instead could just mean that the selected product didn't require, nor define any EC2 specific resources.
Terminating Service Catalog Provisioned Products
Once a product is no longer of use, and/or it is desired to remove the product, and decommission all product resources to ensure that we are no longer billed for those resources, we simply need to terminate the provisioned product. Terminating a product will remove all artifacts that were created and launched as part of that product offering. Outside of selecting to terminate the product from within the Service Catalog console, no manual or automated steps are required to clean up and remove all traces of the product from our account.
1. Select Product for Termination:
Terminating a product can be done in a few different ways. In order to terminate a provisioned product, you can simply navigate back to the Service Catalog console, and from the left navigational menu, click on Provisioned products list. This will load a list of all products that have been launched from within Service Catalog. Select the product that you want to terminate from the list, and click the 3 dot menu. From the list of available action items, simply choose Terminate provisioned product to start the termination process. You can also click directly on the product, and from within the product details page, simply click on the Actions button, and from the list of available actions, choose, Terminate.
2. Confirm Termination:
Once you have selected to terminate a product, a dialog will appear asking if you are sure that you want to terminate the provisioned product. Click on Terminate to verify that you want the product removed. Once clicked the termination process will start. After this point, all resources that were defined and launched for the product will be removed. There will be no residual snapshots or data from the product left behind, so make sure that you have saved anything that is needed prior to confirming the desire to terminate.
3. Verify Termination:
Just like verifying that our product was launched successfully via CloudFormation, we can also verify that our stack was properly terminated via CloudFormation. Once the stack has succeeded in terminating the product, you can navigate back to CloudFormation, and verify that the entire stack entry has been successfully removed from the list of available stacks. If the launched product was the only stack in the CloudFormation console, the console will again appear empty and have no stacks defined.
Service Catalog Additional Resources
No Additional Resources.
Service Catalog Site/Information References
No Additional References.