Traffine I/O

Bahasa Indonesia

2022-11-10

Mengelola Resource AWS Multi-Region di Terraform

Terraform untuk Penciptaan Resource AWS Multi-Region

Artikel ini bertujuan untuk memandu Anda dalam proses menggunakan Terraform untuk penciptaan resource multi-region di AWS, dengan fokus pada definisi wilayah AWS, pembuatan resource, dan modul di berbagai wilayah.

Mendefinisikan Wilayah AWS di Terraform

Wilayah AWS berfungsi sebagai area geografis yang terdiri dari dua atau lebih Availability Zone. Sebuah wilayah AWS adalah area geografis terpisah dan memiliki resource di wilayah AWS yang berbeda memberikan tingkat toleransi kesalahan yang tinggi.

Untuk bekerja dengan beberapa wilayah AWS, Anda perlu mendefinisikan setiap wilayah secara terpisah dalam konfigurasi Terraform Anda.

Berikut adalah contoh bagaimana Anda dapat menentukan wilayah AWS menggunakan penyedia AWS di Terraform:

provider "aws" {
  region  = "ap-northeast-1"
}

provider "aws" {
  region  = "us-east-1"
  alias   = "virginia"
}

Dalam kode di atas, penyedia AWS dikonfigurasi dua kali, masing-masing dengan wilayah yang berbeda - ap-northeast-1 (Asia Pasifik (Tokyo)) dan us-east-1 (US Timur (N. Virginia)).

Untuk penyedia kedua, atribut alias ditambahkan untuk membedakannya dari yang pertama.

Membuat Resource di Berbagai Wilayah

Setelah Anda telah mendefinisikan berbagai wilayah AWS sebagai penyedia dalam konfigurasi Terraform Anda, Anda dapat mulai membuat resource di wilayah-wilayah ini.

Untuk membuat resource di wilayah yang berbeda, Anda dapat menggunakan atribut provider untuk menentukan penyedia mana (dan dengan demikian wilayah mana) yang harus digunakan untuk resource tersebut.

Berikut adalah contoh bagaimana Anda dapat menggunakan atribut provider untuk membuat bucket AWS S3 di wilayah us-east-1:

resource "aws_s3_bucket" "bucket_virginia" {
  bucket = "my_bucket"
  acl    = "private"
  provider = aws.virginia
}

Pada contoh ini, atribut provider diatur menjadi aws.virginia, menunjukkan bahwa bucket harus dibuat di wilayah us-east-1.

Membuat Modul di Berbagai Wilayah

Selain membuat resource individu, Anda juga dapat menggunakan modul untuk membuat kelompok resource di berbagai wilayah.

Ketika mendeklarasikan modul di wilayah yang berbeda, Anda akan menggunakan atribut providers untuk menentukan penyedia mana yang harus digunakan untuk resource di dalam modul tersebut.

Berikut adalah contoh bagaimana Anda dapat menggunakan atribut providers dalam deklarasi modul:

module "my_module_virginia" {
  source = "./path/to/module"
  variable_value = "my_value"
  providers = {
    aws = aws.virginia
  }
}

Pada contoh ini, atribut providers diatur menjadi aws.virginia, yang berarti bahwa semua resource di dalam modul akan dibuat di wilayah us-east-1.

Referensi

https://developer.hashicorp.com/terraform/language/providers/configuration

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!