[[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/)