Penjual awan Google: Gunakan alat Terraform untuk membina seni bina rangkaian standard secara automatik di GCP dalam 10 minit

awan 2026-05-30 阅读 13
1

Dalam lingkaran operasi dan penyelenggaraan awan awam, ada pepatah terkenal yang dianggap sebagai standard:"

Sekiranya anda berulang kali mengklik butang yang sama di konsol lebih dari tiga kali, anda harus mengkodkannya.

Ramai rakan yang baru mengenal Google Cloud (GCP), ketika menghadapi projek komersial baru, sering masuk ke konsol dengan cara yang biasa dan mula mengklik tetikus: membina VPC tersuai dan membahagikan tiga subnet wilayah yang berbeza.), dengan sekumpulan firewall penanda rangkaian, akhirnya, ia dilengkapi dengan pintu masuk NAT dalaman untuk membolehkan mesin maya mengakses Internet dengan selamat.

Set proses ini akan memakan masa sekurang-kurangnya setengah jam. Apa yang lebih menyakitkan ialah apabila syarikat berada di persekitaran ujian, persekitaran pra-pembangunan, persekitaran pengeluaran dan juga kawasan luar negara yang baru

Pengeluaran semula yang sempurna

Apabila anda mempunyai rangkaian yang sama, anda hanya dapat berpeluh dan berdoa agar tidak salah membaca topeng IP semasa membaca dokumen. Selagi anda berjabat tangan dan membuat tempat yang salah, akan ada lubang panjang untuk kesalahan dan pembuangan ikan.

Dalam ekologi DevOps pengeluar moden, ada langkah terakhir untuk mengakhiri operasi dan penyelenggaraan gaya bengkel primitif ini, yang disebut

Terraform

Logik intinya diringkaskan dalam empat perkataan:

Infrastruktur sebagai kod (IaC,Infrastructure as Code)

。 Anda tidak perlu mengklik tetikus, anda hanya perlu menuliskan cetak biru rangkaian anda dalam fail teks, dan Terraform akan "mencetak" secara tepat dan berkumpulan untuk anda di GCP global seperti pencetak dalam 10 minit. Satu set seni bina rangkaian standard yang sama sekali tidak buruk.

Hari ini kita menolak sebarang khotbah konsep dan menolak omong kosong. Secara langsung menggunakan spesifikasi pengeluaran struktur transnasional kilang sebagai standard, dan membawa anda menggunakan Terraform untuk membina bangunan tinggi di tanah dalam masa 10 minit.

Tahap pertama: pembongkaran mendalam, "model dunia dari perspektif Tuhan" IaC

Sebelum menulis baris pertama kod, anda mesti membina model dunia fizikal di bawah Terraform dalam fikiran anda, jika tidak, anda pasti akan

. Tf

Fail diberikan kepada bulatan.

Interaksi antara Terraform dan GCP pada dasarnya adalah proses gelung tertutup "pernyataan-> pelaksanaan":

Lapisan lukisan (Configuration Files,. Tf): Lukisan seni bina rangkaian yang anda tulis dalam bahasa HCL (bahasa konfigurasi deklaratif yang mudah dibaca). Anda hanya perlu menyatakan "Saya mahukan rangkaian yang disebut prod-vpc", dan anda tidak perlu peduli bagaimana lapisan bawah Google dijadualkan melalui API.

Penyambung (Penyedia): Penterjemah GCP yang disediakan secara rasmi oleh Terraform. Ia bertanggungjawab untuk menterjemahkan gambar yang anda tulis ke dalam arahan API RESTful yang dapat difahami di latar belakang Google Cloud.

Maklum balas dunia sebenar (State File, terraform.tfsta

Te): Ini adalah "buku memori" Terraform. Ia akan merakam sumber sebenar dan IP semasa di awan dalam fail JSON. Ini adalah teras asas di mana Terraform dapat mencapai "pengubahsuaian tambahan dan tidak pernah bertindih".

Tahap kedua: menjelang pertempuran sebenar-membuka depot peluru tempatan

Pastikan anda telah memuat turun dan memasang Terraform CLI pada komputer tempatan anda dan telah dikonfigurasi

gcloud

Alat baris arahan.

Buat direktori kosong baru di komputer tempatan, namanya

Gcp-network-automation

。 Dalam katalog ini, kita perlu membuat tiga dokumen teras yang memenuhi spesifikasi seni bina pengeluar utama.

Dilarang keras memasukkan semuanya ke dalam fail

Kita mesti memutuskan modularnya:

Providers. tf: Digunakan untuk menyelaraskan kod dengan Google Cloud dan menyatakan di mana kita akan menggunakan sumber.

Variables. tf: Konsol berubah-ubah, semua wilayah, ID projek, dan segmen rangkaian IP diubah secara seragam di sini, sehingga satu set kod dapat digunakan kembali di mana-mana.

Utama. tf: Rangka tindakan rangkaian teras.

Tahap ketiga: latihan pertempuran sebenar-rangkaian pembinaan kumpulan kod tangan-tangan

Seterusnya, tinggalkan tetikus dengan kedua tangan dan bersiaplah untuk memulakan pertempuran kelajuan rangkaian selama 10 minit ini di IDE anda (seperti VS Code).

1. Tulis penyambung

Providers. tf

Fail ini bertanggungjawab untuk mengimpal Terraform dengan kuat pada projek GCP anda.

Terraform {

Required_version = ">= 1.5.0"

Required_providers {

Google = {

Sumber = "hashicorp/google"

Versi = "~> 5.0 "# Kunci versi besar untuk mengelakkan peningkatan rasmi masa depan menyebabkan ketidaksesuaian tatabahasa

}

}

}

Provider "google" {

Projek = var.project_id

Region = var.main_region

}

2. Tulis jadual pemboleh ubah

Variables. tf

Cabut semua parameter yang mungkin berubah, dan anda hanya perlu menukar baris dalam fail ini untuk menghantar kawasan baru pada masa akan datang, dan anda tidak perlu menggerakkan cetak biru inti.

Variable "project_id" {

Type & n

Bsp; = string

Description = "ID projek GCP anda"

Default = "my-automation-project-2026" # Tukar kepada ID projek sebenar anda sendiri

}

Variable "main_region" {

Type = string

Description = "Kawasan penyebaran perniagaan utama"

Default = "asia-east1" # Wilayah Taiwan, kelewatan akses domestik rendah

}

Variable "backup_region" {

Type = string

Sesi = "Kawasan pemulihan bencana"

Default = "asia-northeast1" # Kawasan Tokyo, sangat berguna untuk aktiviti berganda transnasional

}

3. Tulis rangka kerja rangkaian teras

Utama. tf

Ini adalah bahagian yang paling tegar. Kami mahu membina secara pukal di sini:

1 VPC tersuai, 2 subnet transnasional, 1 firewall keselamatan intranet yang terpencil sepenuhnya, dan satu set pintu masuk Cloud NAT yang membolehkan mesin intranet memuat turun patch tanpa rahsia

Terraform

#1. Membina belakang besar dalam kumpulan: Rangkaian VPC tersuai

Sumber "google_compute_network" "custom_vpc" {

Nama = "prod-standard-vpc"

Auto_create_subnetworks = false # Spesifikasi keselamatan peringkat kilang besar: Matikan rangkaian atom automatik dengan tegas, dan anda mesti membahagikan dan mengawal domain IP secara manual

Routing_mode = "GLOBAL" # Buka penghalaan global, supaya subnet transnasional dapat berkomunikasi antara satu sama lain di intranet

}

#2. Kedudukan 1: Subnet perniagaan utama Taiwan (front-end dan aplikasi)

Sumber "google_compute_subnetwork" "subnet_asia_east" {

Nama = "subnet-asia-east-prod"

Ip_cidr_range = "10.0.1.0/24" # Bahagikan 254 IP intranet yang tersedia

Region = var.main_region

Rangkaian = google_compute_network.custom_vpc.id

Private_ip_google_access = benar # Suntikan jiwa: Benarkan mesin intranet menyambung ke API rasmi Google dengan selamat tanpa IP rangkaian awam

}

#3. Pembahagian kedudukan dua: subnet pemulihan bencana jarak jauh Tokyo (pangkalan data teras dan sandaran)

Sumber "google_compute_subnetwork" "subnet_asia_northeast" {

Nama = "subnet-asia-tokyo-backup"

Ip_cidr_range = "10.0.2.0/24"

Region = var.backup_region

Rangkaian = google_compute_network.custom_vpc.id

Private_ip_google_access = benar

}

#4. Gerbang keselamatan kimpalan: mewujudkan firewall keselamatan intranet

Sumber "google_compute_firewall" "allow_internal" {

Nama = "allow-internal-mesh-raffic"

Rangkaian = google_compute_network.custom_vpc.name

Allow {

Protocol = "tcp"

}

Allow {

Protocol = "udp"

}

Allow {

Protocol = "icmp"

}

Source_ranges = ["10.0.0.0/16"] # Hanya melepaskan ketukan bersama di dalam segmen rangkaian besar kita sendiri, menyekat sepenuhnya semua pengesanan rangkaian awam

Sambungan = "Hanya membenarkan interoperabiliti rangkaian tulang belakang antara anggota intranet VPC"

}

#5. Pembinaan saluran paip laut: dilengkapi dengan penghala Cloud Router

Sumber "google_compute_router" "nat_router" {

Nama = "prod-nat-router"

wilayah = pemboleh.var_wilayah_utama

rangkaian = google_compute_network.custom_vpc.id

}

#6. Konfigurasi pintu masuk Cloud NAT yang dihoskan sepenuhnya

Sumber "google_compute_router_nat" "nat_gateway" {

Nama = "prod-cloud-nat"

Router = google_compute_router.nat_router.name

wilayah = pemboleh.var_wilayah_utama

Nat_ip_allocate_option = "AUTO_ONLY" # Google secara automatik memperuntukkan IP statik luaran dengan pertahanan tinggi

Source_subnetwork_ip_ranges_to_nat = "ALL_SUBNETWORKS_ALL_IP_RANGES"

}

Tahap keempat: momen menyaksikan keajaiban-awan "klik" pencetus barisan pemasangan satu klik

Kod sudah selesai. Seterusnya, kami pergi ke terminal, melakukan "Trilogi Pelepasan" Terraform.

Langkah 1: Perhimpunan pasukan (inisialisasi)

Ketik di direktori root projek terminal:

Bash

Init udara

Pada masa ini, Terraform secara automatik akan pergi ke stesen cermin rasmi untuk memuat turun pemalam Penyedia yang secara khusus berlabuh dengan GCP ke kawasan setempat, sehingga komputer tempatan memiliki kemampuan untuk mengendalikan awan Google.

Langkah 2: pemotongan meja pasir (rancangan pratonton)

Ini adalah langkah IaC yang paling tidak terkalahkan. Sebelum anda benar-benar pergi ke awan untuk memulakan latihan ketenteraan yang benar-benar selamat:

Bash

Rancangan terraform

Melihat output laporan terminal, ia akan menggunakan tanda tambah hijau skrin penuh (

) Beritahu anda dengan jelas:

"Jika anda menekan pengesahan, saya akan membuat 6 produk rangkaian baru untuk anda di latar belakang, 0 pengubahsuaian, dan 0 pemusnahan."

Langkah 3: Kekuatan api penuh (raungan satu klik ke awan)

Setelah mengesahkan bahawa gambar itu sempurna, perintah kematian terakhir dikeluarkan:

Bash

Terraform apply -auto-approve

Bar kemajuan pada skrin mula menatal liar. Terraform menggunakan frekuensi serentak yang sangat padat di latar belakang, dan pada masa yang sama memulakan panggilan ke API rangkaian tulang belakang global Google.

Biasanya hanya perlu

15 hingga 30 saat

, Terminal terakhir

Sebaris peringatan seperti emas akan ditunjukkan:

Apply complete! Resources: 6 added, 0 changed, 0 destroyed.

Anda log masuk

Konsol GCP

Melihat pasaran rangkaian, bahagian belakang rangkaian kelas industri yang sempurna dengan subnet multinasional, pintu masuk NAT dan firewall pengasingan, telah berdiri tegak di rangkaian awam. Keseluruhan proses tidak membuang setetes air liur, dan semuanya diselesaikan dalam masa kurang dari 1 minit.

Tahap kelima: sejarah pembangunan IaC berskala besar peringkat perusahaan

Penyelesaian automasi ini sangat menyegarkan untuk digunakan. Tetapi dalam persekitaran pengeluaran serentak dan multi-pasukan peringkat tinggi perusahaan yang sebenar, sebagai ketua arkitek, anda mesti segera mengimpal pasukan ke dua spesifikasi garis bawah berikut:

1. Pengekalan tempatan dilarang sama sekali

Terraform. tfstate

(Bencana kolaborasi berbilang orang)

Secara lalai, Terraform akan menghasilkan a

Terraform. tfstate

Fail.

Bencana berlaku: Sekiranya Zhang San dan Li Si dalam pasukan menjalankan aplikasi udara di komputer masing-masing, kerana lejar tempatan kedua orang itu tidak diselaraskan, Terraform akan menentukan bahawa apa yang ditulis oleh pihak lain adalah "pencerobohan haram", sehingga menjadi gila di latar belakang global. Hapus pelayan dan rangkaian yang baru dibina oleh pihak lain dengan satu klik.

Penyelesaian standard untuk pengeluar utama: "Kunci Jauh" mesti dikonfigurasi. Tambahkan beberapa baris kod ke providers.tf, dan kunci akaun status secara paksa di baldi GCS Google sendiri (Google Cloud Storage):

Terraform

Terraform {

Pakej "gcs" {

Bucket = "my-syarikat-tfstate-bucket" # Kunci lejar dalam laci selamat di awan

Prefix = "terraform/negeri/network"

}

}

Selepas konfigurasi, selagi Zhang San menjalankan kod, baldi awan akan dikunci secara automatik (Lock), dan Li Si tidak akan pernah bergerak pada masa yang sama, sepenuhnya menghilangkan kemalangan tragis yang disebabkan oleh konflik kod pelbagai pasukan.

2. Menguasai seni pemusnahan diri utama "super fizikal"

Apabila projek selesai atau persekitaran pembangunan dan ujian perlu ditutup sementara untuk mengembalikan dana setelah bekerja pada hari Jumaat, jangan pergi ke konsol untuk menghapusnya satu persatu.

Cadangan stop loss tegar: Ketik terus di terminal:

Hanya memerlukan 30 saat untuk aplikasi automatik-automatik Basterraform. Terraform akan menghapus 6 produk rangkaian pada gambar dengan bersih dari ruang komputer Google secara fizikal dan sepenuhnya, tanpa meninggalkan jalan buntu.

Hapuskan bil terbiar pada akhir bulan yang disebabkan oleh kehilangan pintu masuk tertentu.

Ringkasan

Menggunakan alat Terraform untuk membina seni bina rangkaian GCP secara automatik, inti pati industri terletak pada enam belas perkataan:

Penyataan lukisan, pemutusan pemboleh ubah, kunci awan, pemusnahan diri satu kunci

Anda benar-benar menyingkirkan keadaan operasi dan penyelenggaraan asal topeng dengan melihat konsol nasib pada masa lalu. Ubah semua infrastruktur menjadi kod bersih yang dapat mengendalikan versi (Git commit). Biarkan seni bina rangkaian disalin tanpa had dan digulung kembali dengan satu kekunci seperti perisian. Ini adalah postur kawalan panel yang paling sahih dan elegan dari arkitek awan moden ketika mereka berlayar ke laut.

cloud
← 返回新闻中心