[[2021-06-27_Sun]] #gcp #terraform #### terraformerのインストール #### サービスアカウントの作成 [[Terraform用のGCPサービスアカウントの発行]] #### GCPのリソースインポート 1. versions.tfを作成 ```tf terraform { required_providers { google = { source = "hashicorp/google" } } required_version = ">= 1.0" } ``` 2. `terraform init`実行 3. terraformerのpluginsディレクトリにコピー ```shell-session $ rsync -av ..terraform/providers/registry.terraform.io/hashicorp/google/3.73.0/linux_amd64 ~/.terraform.d/plugins sending incremental file list created directory /home/ubuntu/.terraform.d/plugins linux_amd64/ linux_amd64/terraform-provider-google_v3.73.0_x5 sent 63,741,300 bytes received 95 bytes 127,482,790.00 bytes/sec total size is 63,725,568 speedup is 1.00 ``` 4. import対象を確認 ```shell-session $ terraformer import google list --projects=$PROJECT_ID` ``` 5. import ```shell-session $ terraformer import google --resources=addresses,autoscalers,backendBuckets,backendServices,bigQuery,disks,dns,firewall,forwardingRules,gcs,gke,globalAddresses,globalForwardingRules,healthChecks,httpHealthChecks,httpsHealthChecks,images,instanceGroupManagers,instanceGroups,instanceTemplates,instances,interconnectAttachments,logging,networkEndpointGroups,networks,nodeGroups,nodeTemplates,project,pubsub,regionAutoscalers,regionBackendServices,regionDisks,regionInstanceGroupManagers,routers,routes,securityPolicies,sslPolicies,subnetworks,targetHttpProxies,targetHttpsProxies,targetInstances,targetPools,targetSslProxies,targetTcpProxies,targetVpnGateways,urlMaps,vpnTunnels --projects=$PROJECT_ID ``` #### 参考 - [清掃員がGCP環境構築をTerraform化してみた|Blog|株式会社COLSIS(コルシス)](https://colsis.jp/blog/gcpterraform/)