24

How to export existing configured and tested infrastructure (including AWS Lambda functions, API Gateways, ElastiCache clusters, Cloudwatch rules) to Cloudformation template?

I know about Cloudformer tool, but it supports limited number of AWS services (Amazon VPC, DynamoDB, etc) and don't supports some of services which we use. Which tools and approaches can I use in my case for generating Cloudformation template?

Hleb
  • 7,037
  • 12
  • 58
  • 117
  • Out of my experience it makes more sense to write everything from scratch without having a tool which is doing reverse engineering. For sure it means you need to spend much more time but on the other hand you are able to re-think (and understand) your whole infrastructure. – MaiKaY Jun 18 '18 at 10:02
  • 1
    Yeah, the main cause why I'm looking for ways to export existing resources is to save time – Hleb Jun 19 '18 at 07:08

2 Answers2

20

Partial solution: there is ability to export Lambda function to AWS SAM file

enter image description here

and then

enter image description here

We will get YAML file which describes your Lambda function as 'AWS::Serverless::Function'. But there are few things - we can't export Lambda aliases with such approach. Also that doesn't help with API Gateway exporting.

Hleb
  • 7,037
  • 12
  • 58
  • 117
  • 1
    Not sure why but the Export Function option doesn't show on my function. It looks like I'll have to start from scratch too. I was hoping for a starting-template at least to try and save some time. – Martin Lottering Jan 18 '21 at 15:28
0

CloudFormer was built for this, however, I agree with @MaiKaY that you should rewrite everything. CloudFormer will create hard-links with IDs, where you have to replace these with references, add parameters and/or mappings. It can help you get started, so you know what you need in the template.

Loaf
  • 3,011
  • 2
  • 15
  • 25
  • 14
    But CloudFormer don't supports Lambda functions and API Gateways – Hleb Jun 19 '18 at 06:17
  • 2
    It can get you started at least. CloudFormation is worth it to learn and in the long run will save you more time. What we do is build a POC of what we want, then transfer that to CF and continue building off that template. – Loaf Jun 19 '18 at 12:01