Skip to Content
Dismiss
Innovation
Eine AIVision für alle

Eine einheitliche, automatisierte Grundlage für die Umwandlung von Daten in Intelligenz im großen Maßstab.

Erfahren Sie, wie das geht
Dismiss
16. bis 18. Juni, Las Vegas
Pure//Accelerate® 2026

Entdecken Sie, wie Sie den wahren Wert Ihrer Daten erschließen können.

Jetzt anmelden
Dismiss
Gartner® Magic Quadrant™-Bericht 2025
Beste Umsetzungsfähigkeit und beste Vision

Everpure wurde im Gartner® Magic Quadrant™ 2025 für Enterprise Storage-Plattformen als Leader genannt und als das Unternehmen mit der besten Umsetzungsfähigkeit und der besten Vision eingestuft.

Report downloaden

Was ist Terraform Output?

Abbildung mehrerer abstrakter Server-Stacks in einer digitalen Umgebung auf blauem Hintergrund.

Terraform ist ein weithin anerkanntes Tool zum Definieren und Bereitstellen von Infrastrukturen als Code . Eine der wichtigsten Funktionen dieses Tools ist die Terraform-Ausgabe, mit der Benutzer nützliche Informationen aus Terraform-Konfigurationen extrahieren und anzeigen können.

Dieser Artikel befasst sich mit der Bedeutung der Terraform-Ausgabe, seiner Syntax und Nutzung sowie mit Best Practices zur Verbesserung Ihrer Infrastructure-as-Code-Projekte.

Terraform-Output verstehen

Angenommen, Sie verwalten eine komplexe Infrastruktur und müssen kritische Daten zwischen verschiedenen Ressourcen oder externen Systemen austauschen. Terraform-Ausgabe ist eine Funktion, mit der Sie genau das tun können. Diese Funktion extrahiert und zeigt mühelos wertvolle Informationen aus Ihren Terraform-Konfigurationen an und ermöglicht es Ihnen, sie zwischen verschiedenen Modulen, Arbeitsbereichen und externen Systemen zu teilen.

Terraform-Ausgaben enthalten wertvolle Informationen über die von Terraform verwalteten Ressourcen. Mit dem Befehlszeilentool für Terraform-Ausgaben können Sie dann diese Ausgabewerte abrufen und anzeigen, die andere Komponenten Ihrer Infrastruktur oder externer Systeme dann nutzen können.

Die Funktion der Terraform-Ausgabe bietet mehrere Vorteile, in erster Linie:

  • Datenaustausch: Terraform-Ausgaben zeichnen sich durch die gemeinsame Nutzung von Attributen dynamisch generierter Ressourcen zwischen Terraform-Konfigurationen und anderen Systemen aus. Angenommen, Sie erstellen mit Terraform eine EC2-Instanz. Der Ausgabeblock kann die öffentliche IP-Adresse erfassen, die dann von einer anderen Terraform-Konfiguration verwendet werden kann, um eine Sicherheitsgruppenregel einzurichten oder an ein externes Konfigurationsmanagement-Tool weiterzuleiten.
  • Automatisierung: Die Ausgänge ermöglichen ein automatisiertes Konfigurationsmanagement, indem sie dynamische Werte für abhängige Ressourcen bereitstellen. Wenn Sie beispielsweise einen Datenbankserver mit Terraform bereitstellen und der Datenbankport dynamisch zugewiesen wird, kann der Ausgabeblock diesen Port erfassen. Dieser erfasste Port kann dann in einer anderen Konfiguration verwendet werden, um eine Verbindung zur Datenbank von einer Webanwendung herzustellen.
  • Debugging und Verifizierung: Outputs gehen über die bloße Überprüfung des Ressourcenstatus hinaus. Während der Fehlerbehebung können Sie die Ausgabewerte überprüfen, um Inkonsistenzen oder unerwartete Ressourcenkonfigurationen zu lokalisieren, die möglicherweise Probleme mit abhängigen Prozessen verursachen.
  • Konsistenz: Outputs fördern die Konsistenz in allen Umgebungen. Durch den Verweis auf Ausgaben anstelle von festkodierten Werten können Sie eine identische Konfigurationslogik in Entwicklungs-, Test- und Produktionsumgebungen beibehalten.
  • Dokumentation: Outputs können als eine Form der Dokumentation dienen und klare und präzise Informationen über die von Terraform bereitgestellte Infrastruktur liefern. Dies kann besonders wertvoll für andere Ingenieure oder Teams sein, die das System verstehen müssen.

Syntax und Nutzung von Terraform-Outputs

Terraform-Ausgänge werden in Konfigurationsdateien mithilfe des Ausgabeblocks definiert. Hier die Syntaxaufschlüsselung:

output "<name>" {
  value = <expression>
}
  • <name>: Dies ist ein benutzerdefinierter Name für die Ausgabevariable. Wählen Sie einen beschreibenden Namen, der die darin gespeicherten Daten wiedergibt.
  • <expression>: Dies ist ein Terraform-Ausdruck, der den Wert bewertet, den Sie aufdecken möchten. Sie kann auf Attribute von Ressourcen verweisen, Funktionen nutzen oder Berechnungen durchführen.

Beispiele für Ausgaben

Die folgenden AWSAWSInstanzbeispiele zeigen, wie Sie Terraform-Ausgänge als unterschiedliche Datentypen anzeigen können:

  • Zeichenfolge-Ausgabe:

output "instance_id" {
  value = aws_instance.example.id
}
  • Zahlenausgabe:

output "instance_count" {
  value = length(aws_instance.example)
}
  • Ausgabe auflisten:

output "instance_ips" {
  value = aws_instance.example[*].public_ip
}
  • Kartenausgabe:

output "instance_tags" {
  value = {
    for instance in aws_instance.example :
    instance.id => instance.tags
  }
}

Auf Ergebnisse in Ihrem Code verweisen

Nach der Definition können Sie die Ausgaben innerhalb Ihres Terraform-Codes mit ihren Namen referenzieren. Hier ein Beispiel:

module "example_module" {
  source  = "./modules/example"
  # Reference the output from another module
  instance_id = var.other_module_name.instance_id
}

In diesem Beispiel verweist das example_module auf den instance_id-Ausgang eines anderen Moduls namens other_module_name. Dies zeigt, wie Outputs die Kommunikation und den Datenaustausch zwischen Modulen erleichtern.

Ausgabevariablen vs. Datenquellen

Terraform-Ausgaben und Datenquellen mögen auf den ersten Blick ähnlich erscheinen, aber sie dienen in Ihren IaC-Workflows (Infrastructure-as-Code). Hier ist eine Aufschlüsselung, um die Unterschiede zu klären:

Terraform-Ausgangsvariablen

Terraform-Ausgaben enthalten Informationen über Ressourcen, die von Terraform verwaltet werden. Die Ausgabewerte werden aus Attributen bestehender Ressourcen innerhalb Ihrer Terraform-Konfiguration abgeleitet. Outputs werden in der Regel in folgenden Fällen verwendet:

  • Datenaustausch zwischen Terraform-Modulen oder -Konfigurationen
  • Weitergabe von Informationen an externe Systeme zum Konfigurationsmanagement oder zur Überwachung
  • Vereinfachung der Konfigurationslogik durch Referenzierung dynamischer Werte anstelle von festcodierten Daten

Ein Beispiel für ein solches Szenario ist das Extrahieren der öffentlichen IP-Adresse einer EC2-Instanz und die Verwendung dieser, um eine Sicherheitsgruppenregel in einem anderen Terraform-Modul zu konfigurieren.

Datenquellen für Terraform

Datenquellen beziehen Daten aus externen Quellen. Es interagiert mit APIs oder Plug-ins, um Informationen von Cloud-Anbietern, Konfigurationsmanagementtools oder anderen externen Systemen abzurufen. Datenquellen werden in folgenden Fällen verwendet:

  • Zugriff auf Informationen über vorhandene Ressourcen, die nicht von Terraform selbst verwaltet werden
  • Verwendung externer Daten zur dynamischen Konfiguration von Terraform-Ressourcen
  • Integration Ihres IaC mit anderen Tools und Plattformen

Ein Beispiel ist die Verwendung einer Datenquelle, um eine Liste der verfügbaren Regionen in einem Cloud-Anbieter abzurufen, bevor Ressourcen in diesen Regionen erstellt werden.

Einfach ausgedrückt hängt die Wahl zwischen einer Ausgabevariablen oder einer Datenquelle vom Ursprung der benötigten Daten ab:

  • Wenn die Daten von Ressourcen stammen, die in Ihrer Terraform-Konfiguration verwaltet werden, verwenden Sie eine Ausgabevariable.
  • Wenn sich die Daten in einem externen System befinden oder dynamisch abgerufen werden müssen, verwenden Sie eine Datenquelle.

Best Practices für die Nutzung von Terraform-Outputs

Bei der Verwendung von Terraform-Ausgaben sollten Sie die folgenden Best Practices berücksichtigen:

  • Verwenden Sie beschreibende Namen: Wählen Sie klare und prägnante Namen aus, die die Daten widerspiegeln, die durch die Ausgabevariable offengelegt werden. Vermeiden Sie allgemeine Namen wie „output1“ oder „data“. Verwenden Sie stattdessen Namen wie „rds_instance_public_ip“ oder „webserver_security_group_id“. Dies verbessert die Lesbarkeit und Wartung Ihrer Konfigurationen.
  • Verwenden Sie eine konsistente Namenskonvention: Behalten Sie in Ihrer gesamten Terraform-Codebasis eine konsistente Namenskonvention bei. Dies kann die Verwendung von Unterstrichen oder Bindestrichen zur Trennung und die Ausrichtung des Benennungsschemas über alle Module und Konfigurationen hinweg umfassen.
  • Gruppenbezogene Ausgaben: Gruppieren Sie die zugehörigen Ergebnisse logisch. Wenn Sie beispielsweise mehrere Ausgaben in Bezug auf eine Datenbankinstanz (IP-Adresse, Port, Benutzername) haben, gruppieren Sie sie in Ihrer Konfigurationsdatei unter einer einzigen Überschrift. Dies verbessert die Organisation und erleichtert das Auffinden bestimmter Informationen.
  • Verwenden Sie Kommentare: Fügen Sie klare Kommentare hinzu, um den Zweck und die Verwendung jeder Ausgabevariable zu erläutern. Dies ist besonders hilfreich für Ergebnisse, die nicht sofort selbsterklärend sind oder von anderen Modulen oder Teams verwendet werden.
  • Vermeiden Sie unnötige Ausgaben: Vermeiden Sie es, Ergebnisse für Daten zu definieren, die nicht wirklich erforderlich sind. Übermäßige Ausgänge können den Ausgang überlasten und die Identifizierung der relevantesten Informationen erschweren. Bewerten Sie, ob die Daten direkt in Ihrer Terraform-Konfiguration verwendet werden können oder ob ein alternativer Ansatz effizienter sein könnte.
  • Vermeiden Sie Ergebnisse für Geheimnisse: Vermeiden Sie es, wenn möglich, sensible Daten vollständig in Terraform-Konfigurationen zu speichern. Entdecken Sie alternative Methoden zum Verwalten von Geheimnissen, z. B. die Nutzung von HashiCorp Vault oder Umgebungsvariablen.
  • Verwenden Sie das sensible Terraform-Attribut: Wenn die Verwendung von Ausgängen für Geheimnisse unvermeidlich ist, markieren Sie sie mit dem sensiblen Attribut im Ausgabeblock als sensibel. Dies weist den Terraform-Ausgabebefehl an, den Wert bei der Anzeige der Ausgabe zu unterdrücken.

Hier ist ein Beispiel mit dem hinzugefügten sensiblen Attribut:

output "db_password" {
  value     = aws_db_instance.example.password
  sensitive = true
}

Fazit

Mit Terraform Output können Sie die Lücke zwischen statischen Konfigurationen und dynamischer Infrastruktur schließen. Durch die Nutzung von Outputs können Sie den Datenaustausch optimieren, Aufgaben automatisieren und die Verifizierung vereinfachen.

Um das volle Potenzial Ihrer Infrastruktur auszuschöpfen, sollten Sie die Verwendung von Pure Storage-Lösungen wie Portworx® in Betracht ziehen, um persistenten Storage für Ihre Terraform Kubernetes-Implementierungen zu ermöglichen, sowie Pure Cloud Block Store™, um die ideale Storage-Lösung für Ihre Cloud-basierten Anwendungen bereitzustellen.

10/2025
Virtual Machine Provisioning at Enterprise Scale | Everpure
Sizing and scaling Red Hat OpenShift Virtualization with Portworx.
White Paper
22 pages

Wichtige Ressourcen und Veranstaltungen durchsuchen

VIDEO
Sehen Sie selbst: Der Wert einer Enterprise Data Cloud

Charlie Giancarlo erklärt, warum die Zukunft in der Verwaltung von Daten und nicht in der Verwaltung von Storage liegt. Erfahren Sie, wie ein einheitlicher Ansatz IT-Abläufe in Unternehmen transformiert.

Jetzt ansehen
RESSOURCE
Herkömmlicher Storage kann die Zukunft nicht beflügeln.

Moderne Workloads erfordern KI-fähige Geschwindigkeit, Sicherheit und Skalierbarkeit. Ist Ihr Stack darauf vorbereitet?

Bewertung durchführen
PURE360-DEMOS
Pure Storage erkunden, kennenlernen und erleben.

Überzeugen Sie sich mit On-Demand-Videos und -Demos von den Möglichkeiten von Pure Storage.

Demos ansehen
THOUGHT LEADERSHIP
Der Innovationswettlauf

Branchenführer, die an vorderster Front der Storage-Innovationen stehen, geben Einblicke und Ausblicke.

Mehr erfahren
Ihr Browser wird nicht mehr unterstützt!

Ältere Browser stellen häufig ein Sicherheitsrisiko dar. Um die bestmögliche Erfahrung bei der Nutzung unserer Website zu ermöglichen, führen Sie bitte ein Update auf einen dieser aktuellen Browser durch.

Personalize for Me
Steps Complete!
1
2
3
Personalize your Everpure experience
Select a challenge, or skip and build your own use case.
Zukunftssichere Virtualisierungsstrategien

Storage-Optionen für alle Ihre Anforderungen.

KIAIProjekte in beliebigem Umfang ermöglichen

Hochleistungs-Storage für Datenpipelines, Training und Inferenz.

Verhindern Sie Datenverluste

Cyber-Resilienz-Lösungen, die Ihr Risiko senken.

Senken Sie die Kosten für Cloud-Operationen

Kosteneffizienter Storage für Azure, AWS und Private Clouds.

Beschleunigen Sie die Performance von Anwendungen und Datenbanken

Storage mit geringer Latenz zur Beschleunigung der Anwendungs-Performance.

Verringern Sie den Stromverbrauch und den Platzbedarf von Rechenzentren

Ressourceneffizienter Storage zur Verbesserung der Rechenzentrumsauslastung.

Confirm your outcome priorities
Your scenario prioritizes the selected outcomes. You can modify or choose next to confirm.
Primary
Reduce My Storage Costs
Lower hardware and operational spend.
Primary
Strengthen Cyber Resilience
Detect, protect against, and recover from ransomware.
Primary
Simplify Governance and Compliance
Easy-to-use policy rules, settings, and templates.
Primary
Deliver Workflow Automation
Eliminate error-prone manual tasks.
Primary
Use Less Power and Space
Smaller footprint, lower power consumption.
Primary
Boost Performance and Scale
Predictability and low latency at any size.
What’s your role and industry?
We've inferred your role based on your scenario. Modify or confirm and select your industry.
Select your industry
Financial services
Government
Healthcare
Education
Telecommunications
Automotive
Hyperscaler
Electronic design automation
Retail
Service provider
Transportation
Which team are you on?
Technical leadership team
Defines the strategy and the decision making process
Infrastructure and Ops team
Manages IT infrastructure operations and the technical evaluations
Business leadership team
Responsible for achieving business outcomes
Security team
Owns the policies for security, incident management, and recovery
Application team
Owns the business applications and application SLAs
Describe your ideal environment
Tell us about your infrastructure and workload needs. We chose a few based on your scenario.
Select your preferred deployment
Hosted
Dedicated off-prem
On-prem
Your data center + edge
Public cloud
Public cloud only
Hybrid
Mix of on-prem and cloud
Select the workloads you need
Databases
Oracle, SQL Server, SAP HANA, open-source

Key benefits:

  • Instant, space-efficient snapshots

  • Near-zero-RPO protection and rapid restore

  • Consistent, low-latency performance

 

AI/ML and analytics
Training, inference, data lakes, HPC

Key benefits:

  • Predictable throughput for faster training and ingest

  • One data layer for pipelines from ingest to serve

  • Optimized GPU utilization and scale
Data protection and recovery
Backups, disaster recovery, and ransomware-safe restore

Key benefits:

  • Immutable snapshots and isolated recovery points

  • Clean, rapid restore with SafeMode™

  • Detection and policy-driven response

 

Containers and Kubernetes
Kubernetes, containers, microservices

Key benefits:

  • Reliable, persistent volumes for stateful apps

  • Fast, space-efficient clones for CI/CD

  • Multi-cloud portability and consistent ops
Cloud
AWS, Azure

Key benefits:

  • Consistent data services across clouds

  • Simple mobility for apps and datasets

  • Flexible, pay-as-you-use economics

 

Virtualization
VMs, vSphere, VCF, vSAN replacement

Key benefits:

  • Higher VM density with predictable latency

  • Non-disruptive, always-on upgrades

  • Fast ransomware recovery with SafeMode™

 

Data storage
Block, file, and object

Key benefits:

  • Consolidate workloads on one platform

  • Unified services, policy, and governance

  • Eliminate silos and redundant copies

 

What other vendors are you considering or using?
Thinking...
Your personalized, guided path
Get started with resources based on your selections.