Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Infrastructure as Code (IaC) adalah proses penyediaan dan pengelolaan infrastruktur
aplikasi software menggunakan kode, bukan antarmuka pengguna grafis atau
skrip command line.
Menyediakan infrastruktur aplikasi biasanya melibatkan penyiapan dan
pengelolaan virtual machine, koneksi database, penyimpanan, dan elemen
infrastruktur lainnya. Mengelola infrastruktur ini secara manual akan memakan waktu
dan rentan error, terutama saat mengelola aplikasi dalam skala besar.
IaC memungkinkan Anda menentukan infrastruktur dengan file konfigurasi, yang memungkinkan
Anda mem-build, mengubah, dan mengelola infrastruktur dengan cara yang aman dan berulang. Anda dapat menentukan konfigurasi resource yang dapat Anda buat versinya, gunakan kembali, dan
bagikan. IaC memungkinkan Anda menentukan status infrastruktur yang diinginkan. Kemudian, Anda dapat
men-deploy konfigurasi yang sama beberapa kali untuk membuat lingkungan pengembangan, pengujian, dan produksi
yang dapat direproduksi.
IaC memungkinkan Anda memperlakukan penyediaan dan konfigurasi infrastruktur dengan cara yang sama seperti Anda menangani kode aplikasi. Anda dapat menyimpan logika konfigurasi
penyediaan di kontrol sumber dan memanfaatkan pipeline
continuous integration dan continuous deployment (CI/CD).
Manfaat IaC
Menggunakan IaC untuk menyiapkan dan mengelola infrastruktur aplikasi adalah praktik terbaik untuk sejumlah kasus penggunaan umum. Google mengelola
sistemnya dengan
IaC,
dan menetapkannya sebagai praktik
standar secara internal.
IaC menawarkan manfaat berikut:
Anda dapat menentukan infrastruktur berdasarkan persyaratan dan
menggunakan kembali konfigurasi yang sama untuk membuat beberapa lingkungan secara konsisten.
Anda dapat mengotomatiskan pembuatan dan pengelolaan resource cloud, termasuk untuk lingkungan deployment dan pengujian.
Anda dapat memperlakukan perubahan infrastruktur seperti Anda memperlakukan perubahan aplikasi. Misalnya, Anda dapat memastikan bahwa perubahan pada konfigurasi ditinjau dan
divalidasi secara otomatis. Mengelola lingkungan produksi melalui
proses yang dikontrol perubahan menggunakan IaC adalah praktik terbaik.
Anda dapat menyimpan histori semua perubahan konfigurasi. Perubahan dapat diaudit
dan dikembalikan.
Anda dapat memiliki satu sumber tepercaya untuk infrastruktur cloud Anda.
Alat IaC untuk Google Cloud
Google Cloud terintegrasi erat dengan banyak alat IaC. Pilih salah satu
alat berikut, bergantung pada kasus penggunaan Anda:
Terraform
Secara umum, untuk mengonfigurasi dan mengelola infrastruktur Google Cloud menggunakan kode, gunakan penyedia Terraform untuk Google Cloud.
HashiCorp Terraform adalah alat IaC yang memungkinkan Anda menentukan resource di cloud dan di lokasi dengan file konfigurasi yang dapat dibaca manusia yang dapat Anda buat versinya, gunakan kembali, dan bagikan. Kemudian, Anda dapat menggunakan alur kerja
yang konsisten untuk menyediakan dan mengelola semua infrastruktur selama
siklus prosesnya. Untuk informasi selengkapnya, lihat Ringkasan Terraform di Google Cloud.
Infrastructure Manager
Jika Anda ingin mengotomatiskan deployment konfigurasi Terraform, gunakan Infrastructure Manager (Infra Manager).
Infra Manager mengotomatiskan deployment dan pengelolaan resource infrastrukturGoogle Cloud menggunakan Terraform.
Infra Manager memungkinkan Anda men-deploy secara terprogram ke
Google Cloud, sehingga Anda dapat menggunakan layanan ini, bukan mempertahankan
toolchain yang berbeda untuk bekerja dengan Terraform di Google Cloud. Untuk informasi
selengkapnya, lihat ringkasan
Infra Manager.
Terraform Cloud dan Terraform Enterprise
Jika Anda memerlukan pengelolaan perubahan penuh dengan Terraform di seluruh organisasi, gunakan Terraform Cloud atau Terraform Enterprise.
Terraform Cloud adalah aplikasi software as a service (SaaS) yang menjalankan Terraform di lingkungan jarak jauh yang stabil dan menyimpan status dan secret dengan aman. Terraform Cloud juga terintegrasi dengan Terraform CLI dan terhubung ke sistem kontrol versi umum (VCS) seperti GitHub, GitLab, dan Bitbucket. Saat Anda menghubungkan
ruang kerja Terraform Cloud ke repositori VCS, commit dan perubahan baru dapat
otomatis memicu rencana Terraform. Terraform Cloud juga menawarkan API,
yang memungkinkan Anda mengintegrasikannya ke dalam alur kerja yang ada.
Terraform Enterprise memungkinkan Anda menyiapkan distribusi Terraform Cloud yang dihosting sendiri. Layanan ini menawarkan batas resource yang dapat disesuaikan dan ideal untuk organisasi
dengan persyaratan keamanan dan kepatuhan yang ketat.
Jika Anda ingin membuat infrastruktur dengan bahasa pemrograman umum, bukan menggunakan Hashicorp Configuration Language (HCL), gunakan Cloud Development Kit for Terraform (CDKTF).
CDKTF
memungkinkan Anda mengonfigurasi Terraform menggunakan bahasa pemrograman untuk menentukan dan
menyediakan infrastruktur Google Cloud serta memungkinkan Anda menggunakan toolchain
yang ada untuk proses seperti pengujian dan pengelolaan dependensi.
Pulumi
Pulumi adalah alat lain yang dapat Anda gunakan untuk menyediakan infrastruktur menggunakan bahasa pemrograman. Anda dapat menggunakan Google Cloud penyedia untuk Pulumi guna menulis
kode infrastruktur menggunakan bahasa pemrograman seperti TypeScript, Python,
Go, C#, Java, atau YAML.
Pengontrol Konfigurasi dan Config Connector
Untuk mengelola Google Cloud resource melalui Kubernetes, gunakan
Config Controller dan Config Connector.
Config Controller dan Config Connector memungkinkan Anda mengonfigurasi
layanan dan resourceGoogle Cloud menggunakan alat Kubernetes. Anda dapat
menggunakan alat GitOps seperti
Config Sync, dan
Kubernetes API, serta mengonfigurasi dan menggunakan primitif
engineering platform seperti webhook dan operator izin.
Opsi lain untuk mengelola resource Google Cloud melalui Kubernetes adalah dengan menggunakan Crossplane.
Crossplane menghubungkan cluster Kubernetes Anda ke resource eksternal non-Kubernetes, dan memungkinkan tim platform membuat Kubernetes API kustom untuk menggunakan resource tersebut. Crossplane bertindak sebagai
pengontrol Kubernetes
untuk memantau status resource eksternal dan memberikan penerapan status.
Dengan Crossplane yang diinstal di cluster Kubernetes, pengguna hanya berkomunikasi
dengan Kubernetes. Crossplane mengelola komunikasi ke resource eksternal
seperti Google Cloud. Jika ada yang mengubah atau menghapus resource di luar Kubernetes, Crossplane akan membalikkan perubahan atau membuat ulang resource yang dihapus.
Jika Anda ingin mengotomatiskan penyediaan, pengelolaan konfigurasi, deployment aplikasi, orkestrasi, dan proses IT lainnya, gunakan Ansible. Untuk informasi
selengkapnya, lihat Ansible untuk
Google Cloud.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-18 UTC."],[[["\u003cp\u003eInfrastructure as Code (IaC) allows for the management of software application infrastructure through code, enabling safer and more repeatable processes than manual methods.\u003c/p\u003e\n"],["\u003cp\u003eUsing IaC involves defining infrastructure with configuration files, allowing for versioning, reuse, and sharing, and enabling the creation of reproducible environments.\u003c/p\u003e\n"],["\u003cp\u003eIaC enables the management of infrastructure changes similarly to application code changes, allowing for review, automated validation, and historical tracking.\u003c/p\u003e\n"],["\u003cp\u003eGoogle Cloud integrates with numerous IaC tools, including Terraform, Infrastructure Manager, Cloud Development Kit for Terraform (CDKTF), Pulumi, and others, each catering to different use cases.\u003c/p\u003e\n"],["\u003cp\u003eTools like Config Controller, Config Connector, Crossplane, and Ansible provide options to use IaC through Kubernetes or for broader automation of IT processes.\u003c/p\u003e\n"]]],[],null,["# Infrastructure as Code on Google Cloud\n\nInfrastructure as Code (IaC) is the process of provisioning and managing software\napplication infrastructure using *code* instead of graphical user interfaces or\ncommand-line scripts.\n\nProvisioning application infrastructure typically involves setting up and\nmanaging virtual machines, database connections, storage, and other\ninfrastructure elements. Manually managing this infrastructure is time consuming\nand error prone, especially when managing applications at scale.\n\nIaC lets you define your infrastructure with configuration files, which allow\nyou to build, change, and manage your infrastructure in a safe and repeatable\nway. You can define resource configurations that you can version, reuse, and\nshare. IaC lets you specify the desired state of your infrastructure. You can\nthen deploy the same configuration multiple times to create reproducible\ndevelopment, test, and production environments.\n\nIaC allows you to treat your infrastructure provisioning and configuration in\nthe same manner as you handle application code. You can store your provisioning\nconfiguration logic in source control and you can take advantage of continuous\nintegration and continuous deployment (CI/CD) pipelines.\n\nBenefits of IaC\n---------------\n\nUsing IaC to set up and manage your application infrastructure is a best\npractice for a number of common use cases. [Google manages its\nsystems with\nIaC](https://www.usenix.org/publications/loginonline/prodspec-and-annealing-intent-based-actuation-google-production),\nand established it as a [standard\npractice](https://sre.google/workbook/configuration-design/) internally.\n\nIaC offers the following benefits:\n\n- You can define your infrastructure based on your requirements and reuse the same configuration to create multiple environments consistently.\n- You can automate the creation and management of your cloud resources, including for deployment and test environments.\n- You can treat infrastructure changes like you treat application changes. For example, you can ensure that changes to the configuration are reviewed and automatically validated. Managing production environments through change-controlled processes using IaC is a best practice.\n- You can keep a history of all configuration changes. Changes can be audited and reverted.\n- You can have a single source of truth for your cloud infrastructure.\n\nIaC tools for Google Cloud\n--------------------------\n\nGoogle Cloud is tightly integrated with many IaC tools. Choose one of the\nfollowing tools depending on your use case:\n\n- **Terraform**\n\n In general, to configure and manage Google Cloud infrastructure using\n code, use the Terraform provider for Google Cloud.\n\n HashiCorp Terraform is an IaC tool that lets you define\n resources in cloud and on-premises in human-readable configuration files\n that you can version, reuse, and share. You can then use a consistent\n workflow to provision and manage all of your infrastructure throughout its\n lifecycle. For more information, see\n [Overview of Terraform on Google Cloud](/docs/terraform/terraform-overview).\n- **Infrastructure Manager**\n\n If you're looking to automate the deployment of your Terraform\n configuration, use Infrastructure Manager (Infra Manager).\n\n Infra Manager automates the deployment and management of\n Google Cloud infrastructure resources using Terraform.\n Infra Manager lets you deploy programmatically to\n Google Cloud, allowing you to use this service rather than maintaining\n a different toolchain to work with Terraform on Google Cloud. For more\n information, see [Infra Manager\n overview](/infrastructure-manager/docs/overview).\n- **Terraform Cloud and Terraform Enterprise**\n\n If you require full change management with Terraform across your\n organization, use Terraform Cloud or Terraform Enterprise.\n\n Terraform Cloud is a software as a service (SaaS) application that runs Terraform in a stable,\n remote environment and securely stores state and secrets. Terraform Cloud\n also integrates with the Terraform CLI and connects to common version\n control systems (VCS) like GitHub, GitLab, and Bitbucket. When you connect a\n Terraform Cloud workspace to a VCS repository, new commits and changes can\n automatically trigger Terraform plans. Terraform Cloud also offers an API,\n allowing you to integrate it into existing workflows.\n\n Terraform Enterprise lets you set up a self-hosted distribution of Terraform\n Cloud. It offers customizable resource limits and is ideal for organizations\n with strict security and compliance requirements.\n\n For more information, see the [Terraform Editions page in the Hashicorp\n documentation](https://developer.hashicorp.com/terraform/intro/terraform-editions).\n- **Cloud Development Kit for Terraform**\n\n If you want to generate infrastructure with a general-purpose programming\n language instead of using Hashicorp Configuration Language (HCL), use Cloud\n Development Kit for Terraform (CDKTF).\n\n [CDKTF](https://developer.hashicorp.com/terraform/cdktf)\n lets you configure Terraform using a programming language to define and\n provision Google Cloud infrastructure and lets you use your existing\n toolchain for processes like testing and dependency management.\n- **Pulumi**\n\n [Pulumi](https://www.pulumi.com/docs/clouds/gcp/)\n is another tool you can use to provision infrastructure using programming\n languages. You can use Google Cloud provider for Pulumi to author\n infrastructure code using programming languages such as TypeScript, Python,\n Go, C#, Java or YAML.\n- **Config Controller and Config Connector**\n\n To manage Google Cloud resources through Kubernetes, use\n Config Controller and Config Connector.\n\n Config Controller and Config Connector let you configure\n Google Cloud services and resources using Kubernetes tooling. You can\n use GitOps tools like\n [Config Sync](/anthos-config-management/docs/config-sync-overview), and\n Kubernetes APIs, and you can configure and use platform-engineering\n primitives such as admission webhooks and operators.\n\n For more information see the\n [Config Controller overview](/anthos-config-management/docs/concepts/config-controller-overview)\n and [Config Connector overview](/config-connector/docs/overview).\n- **Crossplane**\n\n Another option to manage Google Cloud resources through Kubernetes is\n by using Crossplane.\n\n Crossplane connects your Kubernetes cluster to external, non-Kubernetes\n resources, and allows platform teams to build custom Kubernetes APIs to\n consume those resources. Crossplane acts as a\n [Kubernetes controller](https://kubernetes.io/docs/concepts/architecture/controller/)\n to watch the state of the external resources and provide state enforcement.\n With Crossplane installed in a Kubernetes cluster, users only communicate\n with Kubernetes. Crossplane manages the communication to external resources\n like Google Cloud. If something modifies or deletes a resource outside\n of Kubernetes, Crossplane reverses the change or recreates the deleted\n resource.\n\n For more information, see the\n [Crossplane documentation](https://docs.crossplane.io/v1.18/).\n- **Ansible**\n\n If you want to automate provisioning, configuration management, application\n deployment, orchestration, and other IT processes, use Ansible. For more\n information, see [Ansible for\n Google Cloud](https://docs.ansible.com/ansible/latest/collections/google/cloud/).\n\nWhat's next\n-----------\n\n- Learn more about [Terraform](/docs/terraform/terraform-overview)\n- Learn how to [create a basic web server on Compute Engine using Terraform](/docs/terraform/get-started-with-terraform)\n- Learn how to [store Terraform state in a Cloud Storage bucket](/docs/terraform/resource-management/store-state)"]]