AWS Service Catalog via Terraform

0

Hi,

I found this tutorial, there is a script to use:

https://aws.amazon.com/blogs/aws/new-self-service-provisioning-of-terraform-open-source-configurations-with-aws-service-catalog/

./deploy-tre.sh -r us-east-1

Does that mean that I need to provision resources for every region where I want to deploy products from SC as user?

Because it created 80 resources (NAT, KMS and so on...). Also, it created S3 with a state in us-east-1.

Also, I am interested in your opinion about this approach. Maybe there is a better option?

Thank you

1 Answer
1
Accepted Answer

That is correct, you will need to deploy the AWS Service Catalog Engine for Terraform in each region which you wish to deploy Service Catalog products. Service Catalog expects certain resources to exist within the region including SQS queues and Lambda functions in order to support provisioning products using the EXTERNAL product type. If you have not completed setup in the region, you will an error similar to the following when you try to provision a product of this type.

Service Catalog is not authorized to perform: lambda:InvokeFunction on resource: arn:aws:lambda:<REGION>:<ACCOUNT_ID>:function:ServiceCatalogExternalParameterParser because no resource-based policy allows the lambda:InvokeFunction action or the lambda does not exist in account ACCOUNT_ID.

Without further details on your use case and what you are trying to accomplish, I cannot provide an informed opinion on whether or not to use Service Catalog with Terraform. One callout is that the AWS Service Catalog Engine for Terraform provisions products in a single-region and out-of-the-box will override your provider configuration with the region of the provisioned product. This makes the behavior similar to CloudFormation. As such, if you need a single Terraform configuration to deploy resources to multiple regions, the Service Catalog may not be the best fit.

profile pictureAWS
answered a month ago
  • thank you, it was helpfull

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions