Memperkenalkan AWS Landing Zone yang dapat diprogram dalam modul Terraform

Halo semua! Pada bulan Desember, OTUS meluncurkan kursus baru - Arsitektur Solusi Cloud. Untuk mengantisipasi dimulainya kursus ini, kami membagikan kepada Anda terjemahan materi menarik tentang topik tersebut.

Memperkenalkan AWS Landing Zone yang dapat diprogram dalam modul Terraform

Zona Pendaratan AWS adalah solusi yang membantu pelanggan dengan cepat menyiapkan lingkungan AWS multi-akun yang aman berdasarkan praktik terbaik.

Selama lebih dari lima tahun, tim kami di Mitoc Group telah bekerja tanpa kenal lelah untuk membantu organisasi besar agar berhasil melakukan transformasi digital dan membangun atau memigrasikan jejak digital mereka ke cloud AWS. Dengan kata lain, mengutip teman-teman kami di AWS: “Pelanggan kami mengubah diri mereka dengan AWS.” Ini adalah upaya tanpa akhir untuk menemukan kembali dan menyederhanakan mekanisme atas nama pelanggan itu sendiri, dan AWS melakukan pekerjaan yang baik dalam memecahkan masalah kompleks dengan solusi yang mudah dipelajari.

Memperkenalkan AWS Landing Zone yang dapat diprogram dalam modul Terraform
Zona Pendaratan AWS (sumber)

Apa itu Zona Pendaratan AWS?

Menurut informasi dari sumber resmi:

AWS Landing Zone adalah solusi yang membantu pelanggan dengan cepat menyiapkan lingkungan AWS yang aman dengan banyak akun berdasarkan praktik terbaik AWS. Dengan begitu banyak pilihan, menyiapkan lingkungan multi-akun dapat memakan waktu, memerlukan konfigurasi beberapa akun dan layanan, dan memerlukan pemahaman mendalam tentang layanan AWS.

AWS Landing Zone telah secara signifikan mengurangi kompleksitas dan konsistensi pola desain serupa yang dikirimkan ke pelanggan berbeda. Di sisi lain, tim kami harus mengonfigurasi ulang beberapa komponen CloudFormation sebagai komponen Terraform agar dapat digunakan lebih lanjut untuk otomatisasi.

Jadi kami bertanya pada diri sendiri, mengapa tidak membangun seluruh solusi AWS Landing Zone di Terraform? Bisakah kita melakukan ini dan apakah ini akan menyelesaikan masalah pelanggan kita? Spoiler: itu akan dan sudah memutuskan! 🙂

Kapan sebaiknya Anda tidak menggunakan AWS Landing Zone?

Jika Anda berurusan dengan layanan cloud reguler dan sumber daya cloud dalam satu atau dua akun AWS, tindakan ini mungkin berlebihan. Siapa pun yang tidak memahami hal ini dapat melanjutkan membaca :)

Apa yang harus Anda pertimbangkan sebelum mulai bekerja?

Banyak organisasi besar yang pernah bekerja sama dengan kami sudah memiliki strategi cloud. Perusahaan kesulitan untuk berhasil mengimplementasikan layanan cloud tanpa visi dan harapan yang jelas. Harap luangkan waktu untuk menentukan strategi Anda dan memahami bagaimana AWS cocok dengan strategi tersebut.

Saat menetapkan strategi, pelanggan AWS Landing Zone yang sukses secara aktif fokus pada hal berikut:

  • Otomatisasi bukanlah suatu pilihan. Otomatisasi cloud native lebih disukai.
  • Tim secara konsisten menggunakan mekanisme yang sama dengan seperangkat alat yang sama untuk menyediakan sumber daya cloud. Lebih baik menggunakan Terraform.
  • Pengguna cloud yang paling produktif memiliki kemampuan untuk membuat proses yang dapat digunakan kembali dan menyajikannya sebagai layanan yang dapat digunakan kembali, bukan sebagai kode yang dapat digunakan kembali. Arsitektur tanpa server lebih disukai.

Memperkenalkan Modul Terraform untuk AWS Landing Zone

Setelah beberapa bulan bekerja keras, dengan senang hati saya persembahkan kepada Anda Modul Terraform untuk AWS Landing Zone. Sumber disimpan di GitHub, dan versi rilis stabil dipublikasikan di Terraform Module Registry.

Untuk memulai, cukup aktifkan main.tf ke kode Anda:

module "landing_zone" {
  source     = "TerraHubCorp/landing-zone/aws"
  version    = "0.0.6"
  root_path  = "${path.module}"
  account_id = "${var.account_id}"
  region     = "${var.region}"
  landing_zone_components = "${var.landing_zone_components}"
}

Catatan: Pastikan untuk mengaktifkan variables.tf dan semua yang mungkin Anda perlukan outputs.tf.

Untuk membuatnya lebih mudah dipahami, kami telah menambahkan nilai default terraform.tfvars:

account_id = "123456789012"
region = "us-east-1"
landing_zone_components = {
  landing_zone_pipeline_s3_bucket = "s3://terraform-aws-landing-zone/mycompany/landing_zone_pipeline_s3_bucket/default.tfvars"
  [...]
}

Artinya saat menggunakan modul ini terraform Anda akan membutuhkan:

  1. Ubah nilai account_id и region milik Anda sendiri, yang sesuai dengan data di Organisasi AWS;
  2. Ubah nilai landing_zone_components yang cocok dengan kasus penggunaan AWS Landing Zone Anda;
  3. merubah s3://terraform-aws-landing-zone/mycompany ke blok Anda S3 dan awalan kunci S3tempat Anda akan menyimpan file .tfvars (atau jalur absolut ke file .tfvars di penyimpanan lokal Anda).

Modul ini mungkin memiliki puluhan, ratusan, atau ribuan komponen yang dapat diterapkan, namun tidak semuanya harus atau akan diterapkan. Saat runtime, komponen yang bukan bagian dari variabel dipetakan landing_zone_components akan diabaikan.

Kesimpulan

Kami sangat senang dan bangga membagikan hasil upaya kami dalam membantu pelanggan membangun otomatisasi cloud native. Modul Terraform untuk AWS Landing Zone adalah solusi lain yang membantu organisasi dengan cepat menyiapkan lingkungan AWS yang aman dengan banyak akun berdasarkan praktik terbaik AWS. Kami sangat menyadari bahwa AWS tumbuh dengan kecepatan yang luar biasa cepat, dan kami berkomitmen untuk juga mengembangkan secara cepat solusi terraform yang mencakup semua basis dan juga terintegrasi dengan solusi produksi AWS lainnya.

Itu saja. Kami menunggu komentar Anda dan mengundang Anda untuk melakukannya webinar gratis di dalamnya kita Kami akan mempelajari desain arsitektur domain Cloud Landing Zone dan mempertimbangkan pola arsitektur domain utama.

Sumber: www.habr.com

Tambah komentar