What is the MOST efficient way to accomplish this?
Create an AWS CloudFormation template to use the AWS Service Catalog portfolio in the new AWS account.
Manually create an AWS Service Catalog portfolio in the new AWS account that duplicates the original portfolio.
Run an AWS Lambda function to create a new AWS Service Catalog portfolio based on the output of the DescribePortfolio API operation.
Share the AWS Service Catalog portfolio with the other AWS accounts and import the portfolio into the other AWS accounts.
Explanations:
Creating an AWS CloudFormation template based on the Service Catalog portfolio is not the most efficient method to replicate the infrastructure across accounts. While CloudFormation can deploy resources, it does not directly replicate an entire Service Catalog portfolio.
Manually creating a duplicate AWS Service Catalog portfolio is inefficient and error-prone. It requires a significant amount of manual work, which does not provide an automated or scalable solution for replication.
Running an AWS Lambda function to create a new Service Catalog portfolio based on the DescribePortfolio API is not a feasible solution. This API operation does not provide the required level of detail for replicating the portfolio, and the process would be overly complex.
Sharing the AWS Service Catalog portfolio with other AWS accounts is the most efficient way to replicate the infrastructure. This method allows the new account to import the portfolio, maintaining the consistency and governance of the resources managed through the portfolio.