Selain menggunakan S3 dari AWS, kita bisa menggunakan varian S3 (kompatibel dengan protocol S3) untuk menyimpan state Terraform. Pada tulisan kali ini kita akan membahas Backblaze R2

Membuat Bucket

Buka https://secure.backblaze.com/b2_buckets.htm, buat bucket baru, contoh dengan nama europe-terraform, pastikan anda memilih Private
buat bucket r2

Membuat API Key

Buka https://secure.backblaze.com/app_keys.htm, menu Application Key

add application key r2 backblaze

keyID sama dengan AWS_ACCESS_KEY_ID
applicationKey sama dengan AWS_SECRET_ACCESS_KEY

Sampai disini proses di Backblaze sudah selesai. Bagian selanjutnya dibagian code Terraform

Terraform Code

Bila anda belum memiliki project terraform bisa melihat contohnya disini.
Buat file baru dengan nama backend.tf

terraform {
  backend "s3" {
    skip_credentials_validation = true
    skip_metadata_api_check     = true
    skip_region_validation      = true
    endpoint                    = "s3.us-west-001.backblazeb2.com"
    region                      = "apt-southeast-3"
    bucket                      = "europe-terraform"
    key                         = "terraform.tfstate"
  }
}

endpoint: dari bucket yang baru dibuat, contoh s3.us-west-001.backblazeb2.com
bucket: nama bucket yang baru dibuat
skip_credentials_validation: mandatory
skip_metadata_api_check: mandatory
skip_region_validation: mandatory
region: mandatory, nilainya bisa apapun.
key: nama file terraform state

Setelah semua selesai, copy keyID dan applicationKey dari Application Key yang kita buat sebelumnya.

export AWS_ACCESS_KEY_ID=""
export AWS_SECRET_ACCESS_KEY=""
terraform apply

output

hcloud_placement_group.app: Refreshing state... [id=364869]
hcloud_ssh_key.default: Refreshing state... [id=22127137]
 
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create
 
...
...
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.

Setelah berhasil di deploy, lihat kembali bucket yang dibuat
terraform state on r2

Leave a comment

Your email address will not be published. Required fields are marked *