Skip to content

Import AWS resources to terraform

Configure AWS credentials

aws configure
# ...

Using terraformer

Install terraformer

Download terraformer of your platform, https://github.com/GoogleCloudPlatform/terraformer/releases

Import current state to Terraform configuration from a provider

Usage:
   import [provider] [flags]
   import [provider] [command]

Available Commands:
  list        List supported resources for a provider

Flags:
  -b, --bucket string         gs://terraform-state
  -c, --connect                (default true)
  -С, --compact                (default false)
  -x, --excludes strings      firewalls,networks
  -f, --filter strings        compute_firewall=id1:id2:id4
  -h, --help                  help for google
  -O, --output string         output format hcl or json (default "hcl")
  -o, --path-output string     (default "generated")
  -p, --path-pattern string   {output}/{provider}/ (default "{output}/{provider}/{service}/")
      --projects strings
  -z, --regions strings       europe-west1, (default [global])
  -r, --resources strings     firewall,networks or * for all services
  -s, --state string          local or bucket (default "local")
  -v, --verbose               verbose mode
  -n, --retry-number          number of retries to perform if refresh fails
  -m, --retry-sleep-ms        time in ms to sleep between retries

Use " import [provider] [command] --help" for more information about a command.

Import resource with terraformer

terraformer import aws --resources=ec2_instance,alb,vpc,subnet --regions=us-east-2

Valid resources include

acm
alb
auto_scaling
customer_gateway
datapipeline
devicefarm
docdb
ebs
ec2_instance
eip
elastic_beanstalk
elb
eni
iam
igw
media_store
medialive
nacl
nat
route53
route_table
sg
subnet
transit_gateway
vpc
vpc_peering
vpn_connection
vpn_gateway
workspaces

Using terracognita

Install terracognita

Download from release page: https://github.com/cycloidio/terracognita/releases

curl -L https://github.com/cycloidio/terracognita/releases/latest/download/terracognita-linux-amd64.tar.gz -o terracognita-linux-amd64.tar.gz
tar -xf terracognita-linux-amd64.tar.gz
chmod u+x terracognita-linux-amd64
sudo mv terracognita-linux-amd64 /usr/local/bin/terracognita

Import resources

terracognita [TERRAFORM_PROVIDER] [--flags]

Generate Images with terraform graph

terraform graph -type=plan | dot -Tpng > graph.png

terraform-graph

Reference

  • https://github.com/GoogleCloudPlatform/terraformer
  • https://github.com/cycloidio/terracognita
  • https://developer.hashicorp.com/terraform/cli/commands/graph
Feedback