Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Infrastruktur als Code (IaC) ist der Prozess der Bereitstellung und Verwaltung der Infrastruktur von Softwareanwendungen mit Code anstelle von grafischen Benutzeroberflächen oder Befehlszeilenskripts.
Die Bereitstellung von Anwendungsinfrastruktur umfasst in der Regel das Einrichten und Verwalten von virtuellen Maschinen, Datenbankverbindungen, Speichern und anderen Infrastrukturelementen. Die manuelle Verwaltung dieser Infrastruktur ist zeitaufwendig und fehleranfällig, insbesondere bei der Verwaltung von Anwendungen in großem Umfang.
Mit IaC können Sie Ihre Infrastruktur mit Konfigurationsdateien definieren, mit denen Sie Ihre Infrastruktur sicher und wiederholbar erstellen, ändern und verwalten können. Sie können Ressourcenkonfigurationen definieren, die Sie versionieren, wiederverwenden und freigeben können. Mit IaC können Sie den gewünschten Status Ihrer Infrastruktur angeben. Sie können dann dieselbe Konfiguration mehrmals bereitstellen, um reproduzierbare Entwicklungs-, Test- und Produktionsumgebungen zu erstellen.
Mit IaC können Sie Ihre Infrastrukturbereitstellung und -konfiguration genauso wie Anwendungscode behandeln. Sie können Ihre Bereitstellungskonfigurationslogik in der Versionsverwaltung speichern und CI/CD-Pipelines (Continuous Integration/Continuous Deployment) nutzen.
Vorteile von IaC
Die Verwendung von IaC zum Einrichten und Verwalten Ihrer Anwendungsinfrastruktur ist eine Best Practice für eine Reihe gängiger Anwendungsfälle. Google verwaltet seine Systeme mit IaC und hat es intern als Standardpraxis festgelegt.
IaC bietet folgende Vorteile:
Sie können die Infrastruktur anhand Ihrer Anforderungen definieren und dieselbe Konfiguration wiederverwenden, um mehrere Umgebungen konsistent zu erstellen.
Sie können die Erstellung und Verwaltung Ihrer Cloud-Ressourcen automatisieren, einschließlich für Bereitstellungs- und Testumgebungen.
Sie können Infrastrukturänderungen wie Anwendungsänderungen behandeln. Sie können beispielsweise dafür sorgen, dass Änderungen an der Konfiguration geprüft und automatisch validiert werden. Eine Best Practice besteht in der Verwaltung von Produktionsumgebungen über änderungsgesteuerte Prozesse mithilfe von IaC.
Sie können einen Verlauf aller Konfigurationsänderungen speichern. Änderungen können geprüft und rückgängig gemacht werden.
Sie können eine einzige Datenquelle für Ihre Cloud-Infrastruktur haben.
IaC-Tools für Google Cloud
Google Cloud ist eng in viele IaC-Tools eingebunden. Wählen Sie je nach Anwendungsfall eines der folgenden Tools aus:
Terraform
Verwenden Sie im Allgemeinen zum Konfigurieren und Verwalten der Google Cloud -Infrastruktur mit Code den Terraform-Anbieter für Google Cloud.
HashiCorp Terraform ist ein IaC-Tool, mit dem Sie Ressourcen in der Cloud und lokal in für Menschen lesbaren Konfigurationsdateien definieren können, die Sie versionieren, wiederverwenden und freigeben können. Sie können dann einen konsistenten Workflow verwenden, um Ihre gesamte Infrastruktur während ihres gesamten Lebenszyklus bereitzustellen und zu verwalten. Weitere Informationen finden Sie unter Terraform in Google Cloud.
Infrastructure Manager
Wenn Sie die Bereitstellung Ihrer Terraform-Konfiguration automatisieren möchten, verwenden Sie Infrastructure Manager (Infra Manager).
Infra Manager automatisiert die Bereitstellung und Verwaltung vonGoogle Cloud -Infrastrukturressourcen mit Terraform.
Mit Infra Manager können Sie programmatisch inGoogle Cloudbereitstellen. Dadurch können Sie diesen Dienst verwenden, anstatt eine andere Toolchain für die Arbeit mit Terraform in Google Cloudzu verwalten. Weitere Informationen finden Sie in der Infra Manager-Übersicht.
Terraform Cloud und Terraform Enterprise
Wenn Sie in Ihrer gesamten Organisation ein vollständiges Änderungsmanagement mit Terraform benötigen, verwenden Sie Terraform Cloud oder Terraform Enterprise.
Terraform Cloud ist eine SaaS-Anwendung (Software as a Service), die Terraform in einer stabilen Remote-Umgebung ausführt und den Status sowie Secrets sicher speichert. Terraform Cloud ist auch in die Terraform-Befehlszeile eingebunden und stellt eine Verbindung zu gängigen Versionsverwaltungssystemen (VCS) wie GitHub, GitLab und Bitbucket her. Wenn Sie einen Terraform Cloud-Arbeitsbereich mit einem VCS-Repository verbinden, können neue Commits und Änderungen automatisch Terraform-Pläne auslösen. Terraform Cloud bietet auch eine API, mit der Sie sie in vorhandene Workflows einbinden können.
Mit Terraform Enterprise können Sie eine selbst gehostete Verteilung von Terraform Cloud einrichten. Es bietet anpassbare Ressourcenlimits und ist ideal für Organisationen mit strengen Sicherheits- und Compliance-Anforderungen.
Wenn Sie eine Infrastruktur mit einer allgemeinen Programmiersprache generieren möchten, anstatt Hashicorp Configuration Language (HCL) zu verwenden, verwenden Sie das Cloud Development Kit für Terraform (CDKTF).
Mit CDKTF können Sie Terraform mit einer Programmiersprache konfigurieren, um die Google Cloud Infrastruktur zu definieren und bereitzustellen. Außerdem können Sie Ihre vorhandene Toolchain für Prozesse wie Test- und Abhängigkeitsmanagement verwenden.
Pulumi
Pulumi ist ein weiteres Tool, mit dem Sie eine Infrastruktur mit Programmiersprachen bereitstellen können. Sie können den Google Cloud -Anbieter für Pulumi verwenden, um Infrastrukturcode mit Programmiersprachen wie TypeScript, Python, Go, C#, Java oder YAML zu erstellen.
Config Controller und Config Connector
Verwenden Sie Config Controller und Config Connector, um Google Cloud -Ressourcen über Kubernetes zu verwalten.
Mit Config Controller und Config Connector können SieGoogle Cloud Dienste und Ressourcen mithilfe von Kubernetes-Tools konfigurieren. Sie können GitOps-Tools wie Config Sync und Kubernetes APIs verwenden. Außerdem können Sie Platform-Engineering-Primitive wie Zulassungs-Webhooks und -Operatoren konfigurieren und verwenden.
Eine weitere Option zum Verwalten von Google Cloud Ressourcen über Kubernetes ist die Verwendung von Crossplane.
Crossplane verbindet Ihren Kubernetes-Cluster mit externen Nicht-Kubernetes-Ressourcen und ermöglicht Plattformteams das Erstellen benutzerdefinierter Kubernetes APIs, um diese Ressourcen zu nutzen. Crossplane fungiert als Kubernetes-Controller, um den Status der externen Ressourcen zu überwachen und die Statuserzwingung bereitzustellen.
Wenn Crossplane in einem Kubernetes-Cluster installiert ist, kommunizieren Nutzer nur mit Kubernetes. Crossplane verwaltet die Kommunikation mit externen Ressourcen wie Google Cloud. Wenn eine Ressource außerhalb von Kubernetes geändert oder gelöscht wird, macht Crossplane die Änderung rückgängig oder erstellt die gelöschte Ressource neu.
Verwenden Sie Ansible, wenn Sie Bereitstellung, Konfigurationsverwaltung, Anwendungsbereitstellung, Orchestrierung und andere IT-Prozesse automatisieren möchten. Weitere Informationen finden Sie unter Ansible fürGoogle Cloud.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 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)"]]