Men-deploy VPC dengan Terraform

Pelajari cara menggunakan Infrastructure Manager untuk men-deploy Virtual Private Cloud (VPC).

Panduan memulai ini menggunakan konfigurasi Terraform yang disimpan di repositori GitHub publik. Konfigurasi menentukan VPC yang akan disediakan.

Sebelum memulai

  1. Login ke Akun Google Anda.

    Jika Anda belum memilikinya, Daftar untuk membuat akun baru.

  2. Instal Google Cloud CLI.

  3. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  4. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  5. Buat atau pilih Google Cloud project.

    Peran yang diperlukan untuk memilih atau membuat project

    • Pilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project mana pun yang telah diberi peran.
    • Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project (roles/resourcemanager.projectCreator), yang berisi izin resourcemanager.projects.create. Pelajari cara memberikan peran.
    • Buat Google Cloud project:

      gcloud projects create PROJECT_ID

      Ganti PROJECT_ID dengan nama untuk Google Cloud project yang Anda buat.

    • Pilih project Google Cloud yang Anda buat:

      gcloud config set project PROJECT_ID

      Ganti PROJECT_ID dengan nama project Google Cloud Anda.

  6. Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.

  7. Aktifkan Infrastructure Manager API:

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    gcloud services enable config.googleapis.com
  8. Menyiapkan autentikasi:

    1. Pastikan Anda memiliki peran IAM Create Service Accounts (roles/iam.serviceAccountCreator) dan peran IAM Project IAM Admin (roles/resourcemanager.projectIamAdmin). Pelajari cara memberikan peran.
    2. Buat akun layanan:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Ganti SERVICE_ACCOUNT_NAME dengan nama untuk akun layanan.

    3. Memberikan peran IAM roles/config.agent ke akun layanan.

      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/config.agent

      Ganti kode berikut:

      • SERVICE_ACCOUNT_NAME: nama dari akun layanan.
      • PROJECT_ID: project ID dimana Anda membuat akun layanan
  9. Instal Google Cloud CLI.

  10. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  11. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  12. Buat atau pilih Google Cloud project.

    Peran yang diperlukan untuk memilih atau membuat project

    • Pilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project mana pun yang telah diberi peran.
    • Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project (roles/resourcemanager.projectCreator), yang berisi izin resourcemanager.projects.create. Pelajari cara memberikan peran.
    • Buat Google Cloud project:

      gcloud projects create PROJECT_ID

      Ganti PROJECT_ID dengan nama untuk Google Cloud project yang Anda buat.

    • Pilih project Google Cloud yang Anda buat:

      gcloud config set project PROJECT_ID

      Ganti PROJECT_ID dengan nama project Google Cloud Anda.

  13. Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.

  14. Aktifkan Infrastructure Manager API:

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    gcloud services enable config.googleapis.com
  15. Menyiapkan autentikasi:

    1. Pastikan Anda memiliki peran IAM Create Service Accounts (roles/iam.serviceAccountCreator) dan peran IAM Project IAM Admin (roles/resourcemanager.projectIamAdmin). Pelajari cara memberikan peran.
    2. Buat akun layanan:

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Ganti SERVICE_ACCOUNT_NAME dengan nama untuk akun layanan.

    3. Memberikan peran IAM roles/config.agent ke akun layanan.

      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/config.agent

      Ganti kode berikut:

      • SERVICE_ACCOUNT_NAME: nama dari akun layanan.
      • PROJECT_ID: project ID dimana Anda membuat akun layanan

Memberikan izin untuk resource dalam konfigurasi

Anda telah memberikan izin yang diperlukan untuk menjalankan Infra Manager, tetapi Anda juga perlu memberikan izin khusus untuk resource yang dijelaskan dalam konfigurasi yang Anda deploy.

Berikan izin untuk VPC, yang merupakan resource yang ditentukan dalam konfigurasi Terraform.

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
    --role=roles/compute.networkAdmin

Ganti kode berikut:

  • SERVICE_ACCOUNT_NAME: nama akun layanan.
  • PROJECT_ID: project ID Anda.

Melihat pratinjau deployment

Sebelum membuat deployment, Anda dapat membuat pratinjau deployment. Anda dapat menggunakan pratinjau ini untuk memverifikasi resource yang direncanakan untuk disediakan.

Perintah berikut memiliki empat nilai yang diisi dan tidak memiliki nilai default. Nilai-nilai ini adalah: project ID Anda, nama akun layanan, lokasi us-central1, dan nama quickstart-vpc untuk jaringan yang Anda buat.

Untuk membuat pratinjau, gunakan perintah berikut:

    gcloud infra-manager previews create projects/PROJECT_ID/locations/us-central1/previews/quickstart-preview \
        --service-account projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
        --git-source-repo=https://github.com/terraform-google-modules/terraform-google-network \
        --git-source-directory=modules/vpc \
        --git-source-ref=main \
        --input-values=project_id=PROJECT_ID,network_name=quickstart-vpc

Setelah membuat pratinjau, Anda dapat meninjau hasil pratinjau. Panduan memulai cepat ini melewati langkah ini, tetapi Anda dapat melihat Mengekspor dan melihat hasil pratinjau jika Anda ingin mengetahui detail selengkapnya.

Membuat deployment

Gunakan Infra Manager untuk membuat deployment. Artinya, Infra Manager menyediakan resource yang ditentukan dalam konfigurasi Terraform.

Konfigurasi untuk panduan memulai ini memiliki empat nilai yang tidak memiliki nilai default. Perintah berikut menambahkan nilai-nilai ini: project ID Anda, nama akun layanan, lokasi us-central1, dan nama quickstart-vpc untuk jaringan yang Anda buat.

gcloud infra-manager deployments apply projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment \
    --service-account=projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
    --git-source-repo=https://github.com/terraform-google-modules/terraform-google-network \
    --git-source-directory=modules/vpc \
    --git-source-ref=main \
    --input-values=project_id=PROJECT_ID,network_name=quickstart-vpc

Setelah deployment selesai, Anda akan melihat:

Creating the deployment...done

VPC kini dibuat dan dikonfigurasi seperti yang dijelaskan dalam konfigurasi.

Melihat hasil build di Cloud Build

Untuk melihat tugas Cloud Build yang digunakan Infra Manager untuk membuat deployment, buka halaman Build History di konsol Google Cloud :

Buka halaman Histori Build

Melihat status deployment

Setelah deployment selesai, Anda dapat melihat deskripsinya untuk meninjau informasi tentang deployment tersebut, termasuk statusnya.

Lihat deskripsi deployment:

gcloud infra-manager deployments describe projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment

Output memiliki detail tentang deployment, termasuk stempel waktu deployment, nama revisi terbaru, dan status.

Untuk status, Anda akan melihat ACTIVE.

Melihat detail tentang VPC yang disediakan

Lihat detail tentang VPC yang disediakan:

gcloud infra-manager resources list --revision=projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment/revisions/REVISION_ID

Ganti REVISION_ID dengan ID revisi terbaru. ID ini adalah r-0, kecuali jika Anda men-deploy beberapa kali. Anda dapat melihat ID revisi terbaru di deskripsi deployment di bagian sebelumnya.

Melihat VPC di konsol

Lihat VPC di konsol:

Buka VPC networks

Anda akan melihat VPC bernama quickstart-vpc. Ini adalah VPC yang disediakan Infra Manager.

Pembersihan

Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan di halaman ini, pastikan Anda menghapus resource yang tidak lagi diperlukan.

Hapus VPC

Hapus VPC dan metadata tentang deployment:

gcloud infra-manager deployments delete projects/PROJECT_ID/locations/us-central1/deployments/quickstart-deployment

Opsional: Menghapus project

Jika Anda men-deploy solusi di project Google Cloud baru, dan tidak lagi memerlukan project tersebut, hapus dengan melakukan langkah-langkah berikut:

  1. Di Konsol Google Cloud , buka halaman Manage resources.

    Buka Kelola resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Hapus.
  3. Pada layar perintah, ketik project ID, lalu klik Matikan.

Langkah berikutnya