Deploying and Managing AWS Service Catalog Using Infrastructure as Code (IaC)

Aug 29, 2022 | Programming

Welcome to your guide on deploying and managing your AWS Service Catalog! With AWS Service Catalog, you can efficiently manage AWS services, ensuring compliance while enabling users to deploy approved services swiftly. Let’s dive right in!

Understanding AWS Service Catalog

AWS Service Catalog allows users to define a catalog of IT services that are approved for use on AWS. You can deploy these services with confidence, ensuring that they meet your organization’s governance and compliance needs. Think of the AWS Service Catalog as a well-organized library where each book (or service) is vetted and ready for checkout. Users can only access books that meet the library’s standards, allowing for a streamlined experience.

Pre-requisites

Installation Steps

Here’s how you can get started:

  1. Sign in to your AWS account.
  2. Click the button to create a Service Catalog Portfolio with sample EC2 products in your AWS account:
  3. ![CreateStack](https://s3.amazonaws.com/cloudformation-examples/cloudformation-launch-stack.png)
  4. To get started quickly in a single account and region, click the Launch Stack button in each section, or follow the manual process below.
  5. Clone the repository using:
    git clone git@github.com:aws-samples/aws-service-catalog-reference-architectures.git
  6. Navigate into the directory:
    cd aws-service-catalog-reference-architectures
  7. Copy the templates to an S3 bucket:
    aws s3 cp . s3://[YOUR-BUCKET-NAME-HERE] --exclude * --include *.json --include *.yml --recursive
  8. In the AWS CloudFormation console, choose Create Stack and provide the Portfolio’s S3 URL. Example: https://s3.amazonaws.com/[YOUR-BUCKET-NAME-HERE]/ec2sc-portfolio-ec2.json
  9. Leave LaunchRoleName blank to allow CloudFormation to create the launch constraint for you.
  10. Set LinkedRole1 and LinkedRole2 parameters for any additional user roles you want to link to the Portfolio.
  11. Change the RepoRootURL parameter to your bucket’s root URL: https://s3.amazonaws.com/[YOUR-BUCKET-NAME-HERE]

AWS Service Catalog Product Launch

After creating the CloudFormation Stacks, your Service Catalog Portfolio will be ready with products, launch constraints, and associated user roles. End users can launch products from the Service Catalog dashboard, enhancing their experience. To find out more, you can refer to Using the End User Console View.

Troubleshooting

If you encounter issues during the setup, here are a few troubleshooting ideas:

  • Ensure your IAM permissions are correctly configured as per the links provided in the pre-requisites.
  • If you get a “role already exists” error, verify that you’re using the correct LaunchRoleName from your previous templates.
  • Confirm that the S3 URL is correctly set and is reachable from your AWS account.

For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

Final Considerations

Before distributing any CloudFormation template to your organization, it’s vital to review the template thoroughly. Look at IAM permissions, deletion policies, and update stack behavior to ensure they align with your organization’s expectations. Be aware that deploying these templates may incur charges to your AWS account, as provisioning AWS services will create billing on your account.

At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Conclusion

Congratulations! You’ve now learned how to deploy and manage AWS Service Catalog using Infrastructure as Code. This knowledge will empower you to use AWS tools effectively and help in compliance and governance across your services.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox