In diesem Artikel wird erläutert, wie Sie eine Website in Google Cloud hosten. Google Cloud bietet eine robuste, flexible, zuverlässige und skalierbare Plattform für die Bereitstellung von Websites. Google hat Google Cloud mithilfe derselben Infrastruktur entwickelt, die Google zum Bereitstellen von Inhalten von Websites wie Google.com, YouTube und Gmail verwendet. Sie können den Inhalt Ihrer Website bereitstellen, indem Sie die Art und das Design der Infrastruktur verwenden, die Ihren Anforderungen am besten entspricht Sie könnten diesen Artikel nützlich finden, wenn Sie: - Sie wissen, wie man eine Website erstellt, und haben bereits einige Webserver-Infrastrukturen bereitgestellt und ausgeführt - Bewertung, ob und wie Sie Ihre Website zu Google Cloud migrieren Wenn Sie eine einfache Website erstellen möchten, sollten Sie die Verwendung von Google Sites in Betracht ziehen, einem strukturierten Tool zum Erstellen von Wikis und Webseiten. Weitere Informationen finden Sie in der Sites-Hilfe ## Auswahl einer Option Wenn Sie neu in der Verwendung von Google Cloud sind, ist es ein vernünftiger Ansatz, mit der Art von Technologie zu beginnen, mit der Sie bereits vertraut sind. Wenn Sie beispielsweise derzeit Hardwareserver oder virtuelle Maschinen (VMs) verwenden, um Ihre Website zu hosten, vielleicht bei einem anderen Cloud-Anbieter oder auf Ihrer eigenen Hardware, bietet Compute Engine ein vertrautes Paradigma für Sie. Wenn Sie bereits ein Platform-as-a-Service-Angebot (PaaS) wie Heroku oder Engine Yard nutzen, ist App Engine möglicherweise der beste Ausgangspunkt. Wenn Sie serverloses Computing bevorzugen, ist Cloud Run wahrscheinlich eine gute Option für Sie Nachdem Sie sich mit Google Cloud vertraut gemacht haben, können Sie die Vielfalt der Produkte und Dienste erkunden, die Google Cloud bietet. Wenn Sie beispielsweise mit Compute Engine begonnen haben, können Sie die Funktionen Ihrer Website mithilfe von Google Kubernetes Engine (GKE) erweitern oder einige oder alle Funktionen zu App Engine und Cloud Run migrieren Die folgende Tabelle fasst Ihre Hosting-Optionen in Google Cloud zusammen: |Option||Produkt||Datenspeicherung||Lastausgleich||Skalierbarkeit||Protokollierung und Überwachung| |Statische Website|| | Cloud-Speicher Firebase-Hosting |Cloud Storage-Bucket|| | HTTP(S) optional |Automatisch| |Virtuelle Maschinen||Compute Engine|| | Cloud SQL Admin API, Cloud Storage API, Datastore API und Cloud Bigtable API, oder Sie können einen anderen externen Speicheranbieter verwenden Festplattenbasierte persistente Speicher, genannt | | HTTP(S) TCP-Proxy SSL-Proxy IPv6-Terminierung Netzwerk Überregional Intern |Automatisch mit verwalteten Instanzgruppen| |Container||GKE||Ähnlich wie Compute Engine, interagiert jedoch anders mit persistenten Festplatten||Netzwerk | HTTP(S) |Cluster-Autoscaler| |Verwaltete Plattform|| | App-Engine |Google Cloud-Dienste wie Cloud SQL, Firestore, Cloud Storage und zugängliche Datenbanken von Drittanbietern|| | HTTP(S) Von Google verwaltet |Von Google verwaltet| |Serverlos|| | Cloud-Run |Google Cloud-Dienste wie Cloud SQL, Firestore, Cloud Storage und zugängliche Datenbanken von Drittanbietern|| | HTTP(S) Von Google verwaltet |Von Google verwaltet| Dieser Artikel kann Ihnen helfen, die wichtigsten Technologien zu verstehen, die Sie für die Webbereitstellung in Google Cloud verwenden können, und Ihnen einen Einblick in die Funktionsweise der Technologien geben. Der Artikel enthält Links zu vollständigen Dokumentationen, Lernprogrammen und Lösungsartikeln, die Ihnen helfen können, ein tieferes Verständnis aufzubauen, wenn Sie bereit sind ## Kosten verstehen Da es so viele Variablen gibt und jede Implementierung anders ist, würde es den Rahmen dieses Artikels sprengen, spezifische Ratschläge zu den Kosten zu geben. Informationen zu den Grundsätzen von Google zur Funktionsweise der Preisgestaltung in Google Cloud finden Sie auf der Preisseite. Informationen zu den Preisen für einzelne Dienste finden Sie im Abschnitt Produktpreise. Sie können auch den Preisrechner verwenden, um abzuschätzen, wie Ihre Google Cloud-Nutzung aussehen könnte. Sie können Details zu den Diensten angeben, die Sie verwenden möchten, und dann eine Preisschätzung anzeigen ## Domänennamendienste einrichten Normalerweise möchten Sie einen Domainnamen für Ihre Website registrieren. Sie können eine öffentliche Registrierungsstelle für Domainnamen wie Google Domains verwenden, um einen eindeutigen Namen für Ihre Website zu registrieren. Wenn Sie die vollständige Kontrolle über Ihr eigenes Domain Name System (DNS) haben möchten, können Sie Cloud DNS als Ihren DNS-Anbieter verwenden. Die Cloud DNS-Dokumentation enthält einen Schnellstart, um Ihnen den Einstieg zu erleichtern Wenn Sie einen bestehenden DNS-Anbieter verwenden möchten, müssen Sie dies im Allgemeinen tun Erstellen Sie ein paar Datensätze mit diesem Anbieter. Für einen Domainnamen wie z example.com erstellen Sie eine Ein Eintrag bei Ihrem DNS-Anbieter. Für die www.example.com-Subdomain erstellen Sie eine CNAME-Eintrag für www zu zeigen es zum example.com-Domain. Das Ein Datensatz ordnet einen Hostnamen einer IP-Adresse zu Das Der CNAME-Eintrag erstellt einen Alias ​​für die Ein Rekord Wenn Ihr Domainnamen-Registrar auch Ihr DNS-Anbieter ist, ist das wahrscheinlich alles, was Sie tun müssen. Wenn Sie separate Anbieter für Registrierung und DNS verwenden, stellen Sie sicher, dass Ihr Domainnamen-Registrar die richtigen Nameserver mit Ihrer Domain verknüpft hat Nachdem Sie Ihre DNS-Änderungen vorgenommen haben, kann es je nach Ihren Time-to-Live-Werten (TTL) in Ihrer Zone einige Zeit dauern, bis die Datensatzaktualisierungen weitergegeben werden. Wenn es sich um einen neuen Hostnamen handelt, treten die Änderungen schnell in Kraft, da die DNS-Resolver keine vorherigen Werte zwischengespeichert haben und den DNS-Anbieter kontaktieren können, um die erforderlichen Informationen zum Weiterleiten von Anforderungen zu erhalten ## Hosten einer statischen Website Die einfachste Möglichkeit, Website-Inhalte über HTTP(S) bereitzustellen, ist das Hosten *statische Webseiten*. Statische Webseiten werden bereitgestellt unverändert, wie sie geschrieben wurden, normalerweise unter Verwendung von HTML. Verwendung einer statischen Website ist eine gute Option, wenn sich die Seiten Ihrer Website selten ändern, nachdem sie geändert wurden veröffentlicht, z. B. Blogbeiträge oder Seiten, die Teil eines Kleinunternehmens sind Webseite. Sie können viel mit statischen Webseiten machen, aber wenn Sie Ihre Website brauchen robuste Interaktionen mit Benutzern über serverseitigen Code haben, sollten Sie Ziehen Sie die anderen in diesem Artikel beschriebenen Optionen in Betracht Hosten einer statischen Website mit Cloud Storage Um eine statische Site in Cloud Storage zu hosten, müssen Sie eine Cloud Storage-Bucket, Laden Sie den Inhalt hoch und testen Sie Ihre neue Website. Sie können dienen Ihre Daten direkt aus storage.googleapis.com, oder du kannst bestätigen Sie, dass Sie Eigentümer Ihrer Domain sind und verwenden Ihr Domainname Sie können Ihre statischen Webseiten nach Belieben erstellen. Zum Beispiel könnten Sie Seiten per Hand mit HTML und CSS erstellen. Sie können eine verwenden *Static-Site-Generator*, wie zum Beispiel Jekyll, Geist, oder Hugo, den Inhalt zu erstellen Mit Static-Site-Generatoren erstellen Sie eine statische Website Verfassen ein Abschlag, und Bereitstellung von Vorlagen und Tools. Site-Generatoren im Allgemeinen Stellen Sie einen lokalen Webserver bereit, mit dem Sie eine Vorschau Ihrer Inhalte anzeigen können Nachdem Ihre statische Site funktioniert, können Sie die statischen Seiten mithilfe von any aktualisieren verarbeiten Sie mögen. Dieser Vorgang kann so einfach sein wie das Kopieren von Hand aktualisierte Seite zum Bucket. Sie können sich für einen stärker automatisierten Ansatz entscheiden, wie das Speichern Ihrer Inhalte auf GitHub und die anschließende Verwendung von a Webhook laufen Skript, das den Bucket aktualisiert. Ein noch fortschrittlicheres System könnte a verwenden Continuous-Integration/Continuous-Delivery (CI/CD)-Tool, wie z Jenkins, um den Inhalt in der zu aktualisieren Eimer. Jenkins hat einen Cloud-Speicher Plugin das bietet a Google Cloud Storage Uploader-Post-Build-Schritt zum Veröffentlichen des Builds Artefakte in Cloud Storage Wenn Sie eine Web-App haben, die statische Inhalte oder vom Benutzer hochgeladene statische Medien bereitstellen muss, kann die Verwendung von Cloud Storage eine kostengünstige und effiziente Möglichkeit sein, diese Inhalte zu hosten und bereitzustellen und gleichzeitig die Anzahl dynamischer Anfragen an Ihre Web-App zu reduzieren Darüber hinaus kann Cloud Storage vom Benutzer übermittelte Inhalte direkt akzeptieren. Mit dieser Funktion können Benutzer große Mediendateien direkt und sicher hochladen, ohne über Ihre Server zu leiten Informationen zum Erzielen der besten Leistung Ihrer statischen Website finden Sie unter Best Practices für Cloud Storage Weitere Informationen finden Sie auf den folgenden Seiten: - Hosten einer statischen Website - J steht für Jenkins (Blogbeitrag) - Band Aid 30 auf Google Cloud (Blogbeitrag) - Cloud Storage-Dokumentation Hosten einer statischen Website mit Firebase HostingFirebase Hosting bietet schnelles und sicheres statisches Hosting für Ihre Web-App.Mit Firebase Hosting können Sie Web-Apps und statische Inhalte in einem globalen Content-Delivery-Network (CDN) bereitstellen, indem Sie einen einzigen Befehl verwendenHier sind einige Vorteile, die Sie erhalten, wenn Sie Verwenden Sie Firebase Hosting:– Zero-Configuration SSL ist in Firebase Hosting integriert.Stellt kostenlos SSL-Zertifikate für benutzerdefinierte Domains bereit– Alle Ihre Inhalte werden über HTTPS bereitgestellt– Ihre Inhalte werden Ihren Benutzern bereitgestellt von CDN-Kanten auf der ganzen Welt– Mit der Firebase CLI können Sie Ihre App in Sekundenschnelle zum Laufen bringen.Verwenden Sie Befehlszeilentools, um Bereitstellungsziele in Ihren Build-Prozess einzufügen.– Sie erhalten Release-Management-Funktionen wie atomare Bereitstellung neuer Assets, vollständige Versionsverwaltung und One-Click Rollbacks- Hosting bietet eine Konfiguration, die für Single-Page-Apps und andere Websites, die mehr App-ähnlich sind, nützlich ist.- Hosting ist so konzipiert, dass es nahtlos mit verwendet werden kann andere Firebase-FunktionenWeitere Informationen finden Sie auf den folgenden Seiten:## Virtuelle Maschinen mit Compute Engine verwendenFür IaaS-Anwendungsfälle (Infrastructure as a Service). stellt Google Cloud Compute Engine bereit.Compute Engine bietet eine robuste Recheninfrastruktur, aber Sie müssen die Plattformkomponenten auswählen und konfigurieren, die Sie verwenden möchten.Bei Compute Engine liegt es in Ihrer Verantwortung, die Systeme zu konfigurieren, zu verwalten und zu überwachen.Google stellt sicher, dass Ressourcen verfügbar, zuverlässig und einsatzbereit sind, aber es liegt an Ihnen, sie bereitzustellen und zu verwalten.Der Vorteil hierbei ist, dass Sie die vollständige Kontrolle über die Systeme und unbegrenzte Flexibilität haben.Verwenden Sie Compute Engine, um nahezu jedes gewünschte System zur Bereitstellung von Websites zu entwerfen und bereitzustellen.Sie können VMs, sogenannte Instanzen, verwenden, um Ihre App zu erstellen, ähnlich wie Sie es mit Ihrer eigenen Hardwareinfrastruktur tun würden.Compute Engine bietet eine Vielzahl von Maschinentypen, mit denen Sie Ihre Konfiguration an Ihre Anforderungen und Ihr Budget anpassen können.Sie können auswählen, welche Betriebssysteme, Entwicklungsstacks, Sprachen, Frameworks, Dienste und andere Softwaretechnologien Sie bevorzugenAutomatische Einrichtung mit Google Cloud MarketplaceDie Der einfachste Weg, einen vollständigen Webserver-Stack bereitzustellen, ist die Verwendung von Google Cloud Marketplace.Mit nur wenigen Klicks können Sie jede der über 100 vollständig realisierten Lösungen mit Google Click to Deploy oder Bitnami bereitstellenBeispielsweise können Sie einen LAMP-Stack oder WordPress einrichten mit Cloud Marketplace.Das System stellt einen vollständigen, funktionierenden Software-Stack in nur wenigen Minuten auf einer einzigen Instanz bereit.Cloud Marketplace zeigt Ihnen vor der Bereitstellung Kostenschätzungen für den Betrieb der Website an, gibt Ihnen klare Informationen darüber, welche Versionen der Softwarekomponenten für Sie installiert werden, und lässt Sie Ihre Konfiguration anpassen, indem Sie die Namen der Komponenteninstanzen ändern und die auswählen Maschinentyp und Auswählen einer Festplattengröße.Nach der Bereitstellung haben Sie die vollständige Kontrolle über die Compute Engine-Instanzen, ihre Konfigurationen und die SoftwareManuelle EinrichtungSie können auch Ihre Infrastruktur erstellen Compute Engine manuell, indem Sie entweder Ihre Konfiguration von Grund auf neu erstellen oder auf einer Google Cloud Marketplace-Bereitstellung aufbauen.Beispielsweise möchten Sie möglicherweise eine Version einer Softwarekomponente verwenden, die nicht von Cloud Marketplace angeboten wird, oder vielleicht möchten Sie lieber alles selbst installieren und konfigurierenBereitstellung einer vollständigen Rahmenbedingungen und Best Practices zum Einrichten einer Website würde den Rahmen dieses Artikels sprengen.Aber aus allgemeiner Sicht erfordert die technische Seite der Einrichtung einer Webserver-Infrastruktur auf Compute Engine, dass Sie:die Anforderungen verstehen.Wenn Sie eine neue Website erstellen, vergewissern Sie sich, dass Sie die benötigten Komponenten verstehen, z. B. Instanzen, Speicherbedarf und Netzwerkinfrastruktur.Wenn Sie Ihre Anwendung von einer vorhandenen Lösung migrieren, kennen Sie diese Anforderungen wahrscheinlich bereits, aber Sie müssen sich überlegen, wie Ihre vorhandene Einrichtung den Google Cloud-Diensten zugeordnet wird.Planen Sie das Design.Denke über deine Architektur nach und schreibe dein Design auf.Seien Sie so deutlich wie möglich.Erstellen Sie die Komponenten.Die Komponenten, die Sie normalerweise als physische Assets betrachten, wie Computer und Netzwerk-Switches, werden über Dienste in Compute Engine bereitgestellt.Wenn Sie beispielsweise einen Computer möchten, müssen Sie eine Compute Engine-Instanz erstellen.Wenn Sie eine permanente Festplatte wollen, erstellen Sie auch diese.Cloud Deployment Manager oder Terraform machen dies zu einem einfachen und wiederholbaren Prozess.Konfigurieren und anpassen.Nachdem Sie über die gewünschten Komponenten verfügen, müssen Sie diese konfigurieren, Software installieren und konfigurieren sowie erforderlichen Anpassungscode schreiben und bereitstellen.Sie können die Konfiguration replizieren, indem Sie Shell-Skripts ausführen, wodurch zukünftige Bereitstellungen beschleunigt werden.Deployment Manager hilft auch hier, indem er deklarative, flexible Konfigurationsvorlagen für das automatische Deployment von Ressourcen bereitstellt.Sie können auch IT-Automatisierungstools wie Puppet und Chef nutzen.Stellen Sie die Assets bereit.Vermutlich haben Sie Webseiten und Bilder.Test.Stellen Sie sicher, dass alles wie erwartet funktioniert.In der Produktion bereitstellen.Machen Sie Ihre Website für die ganze Welt sichtbar und nutzbarUm Ihnen den Einstieg zu erleichtern und zu verstehen, wie es ist, Compute Engine-Instanzen manuell einzurichten, probieren Sie eine oder mehrere der folgenden Möglichkeiten aus die folgenden Tutorials:Speichern von Daten mit Compute Engine Die meisten Websites benötigen eine Art Speicher. Möglicherweise benötigen Sie Speicherplatz aus verschiedenen Gründen, z. B. zum Speichern von Dateien, die Ihre Benutzer hochladen, und natürlich der von Ihrer Website verwendeten Assets Google Cloud bietet eine Vielzahl von verwalteten Speicherdiensten, darunter: - Eine SQL-Datenbank in Cloud SQL, die auf MySQL basiert - Zwei Optionen für die NoSQL-Datenspeicherung: Firestore und Cloud Bigtable - Konsistenter, skalierbarer Objektspeicher mit großer Kapazität in Cloud-Speicher Cloud Storage gibt es in mehreren Klassen: - Standard bietet maximale Verfügbarkeit - Nearline ist eine kostengünstige Wahl, die sich ideal für Daten eignet, auf die weniger als einmal im Monat zugegriffen wird - Coldline ist eine kostengünstige Wahl, die sich ideal für Daten eignet, auf die weniger als einmal im Quartal zugegriffen wird - Archive bietet die kostengünstigste Wahl für Archivierung, Backup und Disaster Recovery - Nichtflüchtige Festplatten in Compute Engine zur Verwendung als Primärspeicher für Ihre Instanzen. Compute Engine-Angebote beides festplattenbasierte persistente Speicher, genannt persistente Standardfestplatten und persistente Solid-State-Festplatten (SSD). Sie können auch Ihre bevorzugte Speichertechnologie in Compute Engine einrichten, indem Sie persistente Festplatten verwenden. Sie können beispielsweise PostgreSQL als Ihre SQL-Datenbank oder MongoDB als Ihren NoSQL-Speicher einrichten. Informationen zum vollständigen Angebot und den Vorteilen von Speicherdiensten in Google Cloud finden Sie unter Speicheroption auswählen Lastenausgleich mit Compute Engine Für jede Website, die in großem Maßstab betrieben wird, ist die Verwendung von Lastausgleichstechnologien zur Verteilung der Arbeitslast auf die Server häufig eine Voraussetzung. Bei der Architektur Ihrer Load-Balancing-Webserver in Compute Engine stehen Ihnen verschiedene Optionen zur Verfügung, darunter: - HTTP(S)-Load-Balancing Erläutert die Grundlagen der Verwendung von Cloud Load Balancing - Inhaltsbasierter Lastenausgleich. Veranschaulicht, wie Datenverkehr basierend auf der eingehenden URL auf verschiedene Instanzen verteilt wird - Regionsübergreifendes Load-Balancing. Demonstriert die Konfiguration von VM-Instanzen in verschiedenen Regionen und die Verwendung von HTTP- oder HTTPS-Load-Balancing zur Verteilung des Datenverkehrs auf die Regionen - TCP-Proxy-Lastenausgleich. Veranschaulicht das Einrichten eines globalen TCP-Proxy-Lastenausgleichs für einen Dienst, der in mehreren Regionen vorhanden ist - SSL-Proxy-Lastenausgleich. Demonstriert die Einrichtung eines globalen SSL-Proxy-Lastausgleichs für einen Dienst, der in mehreren Regionen vorhanden ist - IPv6-Terminierung für HTTP(S), SSL-Proxy und TCP-Proxy-Load-Balancing. Erläutert die IPv6-Beendigung und die Optionen zum Konfigurieren von Load Balancern zur Verarbeitung von IPv6-Anforderungen - Netzwerklastenausgleich. Zeigt ein einfaches Szenario, das eine Layer-3-Load-Balancing-Konfiguration einrichtet, um den HTTP-Datenverkehr auf fehlerfreie Instanzen zu verteilen - Regionsübergreifender Lastenausgleich mit Microsoft IIS-Backends. Zeigt, wie der Compute Engine-Load-Balancer verwendet wird, um Datenverkehr auf Microsoft Internet Information Services (IIS)-Server zu verteilen - Einrichten des internen Lastenausgleichs Sie können einen Lastenausgleich einrichten, der den Netzwerkdatenverkehr in einem privaten Netzwerk verteilt, das nicht dem Internet ausgesetzt ist. Der interne Lastenausgleich ist nicht nur für Intranet-Apps nützlich, bei denen der gesamte Datenverkehr in einem privaten Netzwerk verbleibt, sondern auch für komplexe Web-Apps, bei denen ein Front-End Back-End-Server über ein privates Netzwerk anfordert Die Lastenausgleichsbereitstellung ist flexibel und Sie können Compute Engine mit Ihren vorhandenen Lösungen verwenden. HTTP(S)-Load-Balancing mit Nginx ist beispielsweise eine mögliche Lösung, die Sie anstelle des Compute Engine-Load-Balancers verwenden könnten Inhaltsverteilung mit Compute Engine Da die Antwortzeit eine grundlegende Metrik für jede Website ist, ist die Verwendung eines CDN zur Verringerung der Latenz und zur Steigerung der Leistung häufig eine Voraussetzung, insbesondere für eine Website mit globalem Webverkehr Cloud CDN verwendet die global verteilten Edge Points of Presence von Google, um Inhalte von Cache-Standorten bereitzustellen, die den Benutzern am nächsten sind. Cloud CDN arbeitet mit HTTP(S)-Load-Balancing. Um Inhalte aus Compute Engine, Cloud Storage oder beiden über eine einzige IP-Adresse bereitzustellen, aktivieren Sie Cloud CDN für einen HTTP(S)-Load-Balancer Autoscaling mit Compute Engine Sie können Ihre Architektur so einrichten, dass je nach Bedarf Server hinzugefügt und entfernt werden. Dieser Ansatz kann dazu beitragen, dass Ihre Website unter Spitzenlast gut funktioniert und gleichzeitig die Kosten in typischeren Nachfragezeiten unter Kontrolle hält. Compute Engine stellt einen Autoscaler bereit, den Sie für diesen Zweck verwenden können Autoscaling ist eine Funktion verwalteter Instanzgruppen. Eine verwaltete Instanzgruppe ist ein Pool homogener VM-Instanzen, die aus einer gemeinsamen Instanzvorlage erstellt wurden. Ein Autoscaling fügt Instanzen in einer verwalteten Instanzgruppe hinzu oder entfernt sie. Obwohl Compute Engine sowohl verwaltete als auch nicht verwaltete Instanzgruppen hat, können Sie nur verwaltete Instanzgruppen mit einem Autoscaling verwenden. Weitere Informationen finden Sie unter Autoscaling in Compute Engine Einen ausführlichen Blick darauf, was zum Erstellen einer skalierbaren und ausfallsicheren Web-App-Lösung erforderlich ist, finden Sie unter Erstellen von skalierbaren und ausfallsicheren Web-Apps Protokollierung und Überwachung mit Compute Engine Google Cloud enthält Funktionen, mit denen Sie im Auge behalten können, was mit Ihrer Website passiert Cloud Logging erfasst und speichert Protokolle von Apps und Diensten in Google Cloud. Sie können Protokolle anzeigen oder exportieren und Protokolle von Drittanbietern integrieren, indem Sie einen Protokollagenten verwenden Cloud Monitoring bietet Dashboards und Warnungen für Ihre Website.Sie konfigurieren Monitoring mit der Google Cloud-Konsole.Sie können Leistungsmetriken für Cloud-Dienste, virtuelle Maschinen und gängige Open-Source-Server wie MongoDB, Apache, Nginx und Elasticsearch überprüfen.Sie können die Cloud Monitoring API verwenden, um Überwachungsdaten abzurufen und benutzerdefinierte Messwerte zu erstellen.Cloud Monitoring bietet auch Verfügbarkeitsdiagnosen, die Anfragen an Ihre Websites senden, um zu sehen, ob sie antworten.Sie können die Verfügbarkeit einer Website überwachen, indem Sie eine Benachrichtigungsrichtlinie bereitstellen, die einen Vorfall auslöst, wenn die Verfügbarkeitsdiagnose fehlschlägtVerwalten von DevOps mit Compute EngineInformationen zum Verwalten von DevOps mit Compute Engine finden Sie in den folgenden Artikeln:– Verteilte Lasttests mit Kubernetes– Ausführen von Spinnaker auf Compute Engine– Verwalten von Bereitstellungen in Google Cloud mit Spinnaker# # Container mit GKE verwendenMöglicherweise verwenden Sie bereits Container, z. B. Docker-Container.Für das Webserving bieten Container mehrere Vorteile, darunter:Komponentenisierung.Sie können Container verwenden, um die verschiedenen Komponenten Ihrer Web-App zu trennen.Angenommen, auf Ihrer Website werden ein Webserver und eine Datenbank ausgeführt.Sie können diese Komponenten in separaten Containern ausführen und eine Komponente ändern und aktualisieren, ohne die andere zu beeinflussen.Da das Design Ihrer App komplexer wird, eignen sich Container gut für eine serviceorientierte Architektur, einschließlich Microservices.Diese Art von Design unterstützt unter anderem die Skalierbarkeit.Portabilität.Ein Container enthält alles, was er zum Ausführen Ihrer App benötigt, und seine Abhängigkeiten sind gebündelt.Sie können Ihre Container auf einer Vielzahl von Plattformen ausführen, ohne sich Gedanken über die zugrunde liegenden Systemdetails machen zu müssen.Schnelle Bereitstellung.Wenn es Zeit für die Bereitstellung ist, wird Ihr System aus einer Reihe von Definitionen und Images erstellt, sodass die Teile schnell, zuverlässig und automatisch bereitgestellt werden können.Container sind in der Regel klein und werden viel schneller bereitgestellt als beispielsweise virtuelle MaschinenContainer-Computing in Google Cloud bietet noch mehr Vorteile für das Webserving, darunter:Orchestrierung.GKE ist ein verwalteter Dienst, der auf Kubernetes basiert, dem von Google eingeführten Open-Source-Container-Orchestrierungssystem.Mit GKE wird Ihr Code in Containern ausgeführt, die Teil eines Clusters sind, der aus Compute Engine-Instanzen besteht.Anstatt einzelne Container zu verwalten oder jeden Container manuell zu erstellen und herunterzufahren, können Sie den Cluster automatisch über GKE verwalten, das die von Ihnen definierte Konfiguration verwendet.Bildregistrierung.Container Registry oder Artifact Registry bietet privaten Speicher für Docker-Images in Google Cloud.Sie können über einen HTTPS-Endpunkt auf die Registrierung zugreifen, sodass Sie Images von jedem Computer abrufen können, unabhängig davon, ob es sich um eine Compute Engine-Instanz oder Ihre eigene Hardware handelt.Der Registrierungsdienst hostet Ihre benutzerdefinierten Images in Cloud Storage unter Ihrem Google Cloud-Projekt.Dieser Ansatz stellt standardmäßig sicher, dass Ihre benutzerdefinierten Images nur für Prinzipale zugänglich sind, die Zugriff auf Ihr Projekt haben.Mobilität.Dies bedeutet, dass Sie die Flexibilität haben, Workloads mit anderen Cloud-Anbietern zu verschieben und zu kombinieren oder Cloud-Computing-Workloads mit lokalen Implementierungen zu mischen, um eine Hybridlösung zu erstellen, mit derDaten speichern GKEDa GKE auf Google Cloud ausgeführt wird und Compute Engine-Instanzen als Knoten verwendet, haben Ihre Speicheroptionen viel mit dem Speicher auf Compute Engine gemeinsam.Sie können über ihre APIs auf Cloud SQL, Cloud Storage, Datastore und Bigtable zugreifen oder einen anderen externen Speicheranbieter verwenden, wenn Sie dies wünschen.GKE interagiert jedoch anders mit nichtflüchtigen Compute Engine-Festplatten als eine normale Compute Engine-InstanzEine Compute Engine-Instanz enthält eine angehängte Festplatte.Wenn SieCompute Engine verwenden, verbleibt das Datenträgervolumen bei der Instanz, solange die Instanz vorhanden ist.Sie können die Festplatte sogar trennen und mit einer anderenInstanz verwenden.Aber in einem Container sind Dateien auf der Festplatte kurzlebig.Wenn ein Containerneu gestartet wird, z. B. nach einem Absturz, gehen die Dateien auf der Festplatte verloren.Kubernetes löstdieses Problem, indem es eineVolume--Abstraktion verwendet, und ein Volume-Typ istgcePersistentDiskDas bedeutet, dass Sie nichtflüchtige Compute Engine-Festplatten mit Containern verwenden können,zu verhindern, dass Ihre Datendateien gelöscht werden, wenn Sie GKE verwendenUm die Funktionen und Vorteile eines Volumes zu verstehen , sollten Sie zunächst etwas über Pods verstehen.Sie können sich einen Pod als anwendungsspezifischen logischen Host für einen oder mehrere Container vorstellen.Ein Pod wird auf einer Knoteninstanz ausgeführt.Wenn Container Mitglieder eines Pods sind, können sie mehrere Ressourcen gemeinsam nutzen, einschließlich einer Reihe gemeinsam genutzter Speichervolumes.Diese Volumes ermöglichen es Daten, Containerneustarts zu überstehen und von den Containern innerhalb des Pods gemeinsam genutzt zu werden.Natürlich können Sie auch einen einzelnen Container und ein Volume in einem Pod verwenden, aber der Pod ist eine erforderliche Abstraktion, um diese Ressourcen logisch miteinander zu verbinden.Als Beispiel , siehe das Tutorial Persistente Festplatten mit WordPress und MySQL verwendenLastenausgleich mit GKEViele große Webserver-Architekturen müssen mehrere Server ausführen, die die Verkehrsanforderungen teilen können.Da Sie mit GKE mehrere Container, Knoten und Pods erstellen und verwalten können, eignet es sich hervorragend für ein Webserver-System mit LastenausgleichVerwendung von NetzwerklastenausgleichDie einfachste Methode zum Erstellen eines Load-Balancers in GKE ist die Verwendung des Netzwerk-Load-Balancing von Compute Engine.Network Load Balancing kann die Last Ihrer Systeme basierend auf eingehenden Internetprotokolldaten wie Adresse, Port und Protokolltyp ausgleichen.Netzwerklastenausgleich verwendet Weiterleitungsregeln.Diese Regeln verweisen auf Zielpools, die auflisten, welche Instanzen für den Lastenausgleich verfügbar sind Mit dem Netzwerklastenausgleich können Sie zusätzliche TCP/UDP-basierte Protokolle wie SMTP-Datenverkehr ausgleichen, und Ihre App kann die Pakete direkt untersuchen Sie können Netzwerklastenausgleich bereitstellen, indem Sie einfach die hinzufügen Typ: LoadBalancer Feld in Ihre Dienstkonfigurationsdatei Verwendung von HTTP(S)-Load-Balancing Wenn Sie erweiterte Load-Balancing-Funktionen wie HTTPS-Load-Balancing, inhaltsbasiertes Load-Balancing oder regionsübergreifendes Load-Balancing benötigen, können Sie Ihren GKE-Dienst in das HTTP/HTTPS-Load-Balancing-Feature von Compute Engine integrieren. Kubernetes stellt die Ingress-Ressource bereit, die eine Sammlung von Regeln zum Weiterleiten von externem Datenverkehr an Kubernetes-Endpunkte kapselt. In GKE übernimmt eine Ingress-Ressource die Bereitstellung und Konfiguration des Compute Engine-HTTP/HTTPS-Load-Balancers Weitere Informationen zur Verwendung von HTTP/HTTPS-Load-Balancing in GKE finden Sie unter HTTP-Load-Balancing mit Ingress einrichten Skalierung mit GKE Für die automatische Größenanpassung von Clustern können Sie den Cluster Autoscaler verwenden. Diese Funktion prüft regelmäßig, ob es Pods gibt, die auf einen Knoten mit freien Ressourcen warten, aber nicht geplant sind. Wenn solche Pods vorhanden sind, passt das Autoscaler die Größe des Knotenpools an, wenn eine Größenanpassung die Planung der wartenden Pods ermöglichen würde Cluster Autoscaler überwacht auch die Nutzung aller Knoten. Wenn ein Knoten längere Zeit nicht benötigt wird und alle seine Pods anderweitig geplant werden können, wird der Knoten gelöscht Weitere Informationen zu Cluster Autoscaler, seinen Einschränkungen und Best Practices finden Sie in der Dokumentation zu Cluster Autoscaler Protokollierung und Überwachung mit GKE Wie bei Compute Engine stellen Protokollierung und Überwachung Ihre Protokollierungs- und Überwachungsdienste bereit. Logging sammelt und speichert Protokolle von Apps und Diensten. Sie können Protokolle anzeigen oder exportieren und Protokolle von Drittanbietern integrieren, indem Sie einen Protokollagenten verwenden Monitoring bietet Dashboards und Warnungen für Ihre Site. Sie konfigurieren Monitoring mit der Google Cloud-Konsole. Sie können Leistungsmetriken für Cloud-Dienste, virtuelle Maschinen und gängige Open-Source-Server wie MongoDB, Apache, Nginx und Elasticsearch überprüfen. Sie können die Monitoring-API verwenden, um Überwachungsdaten abzurufen und benutzerdefinierte Metriken zu erstellen Verwalten von DevOps mit GKE Wenn Sie GKE verwenden, erhalten Sie bereits viele der Vorteile, an die die meisten Menschen denken, wenn sie an DevOps denken. Dies gilt insbesondere, wenn es um die einfache Paketierung, Bereitstellung und Verwaltung geht. Für Ihre CI/CD-Workflow-Anforderungen können Sie beliebte Tools wie Jenkins nutzen. Siehe die folgenden Artikel: ## Aufbauend auf einer verwalteten Plattform mit App Engine Bei Google Cloud heißt die verwaltete Plattform als Dienst (PaaS) App Engine. Wenn Sie Ihre Website auf App Engine erstellen, können Sie sich auf das Programmieren Ihrer Funktionen konzentrieren und Google die Verwaltung der unterstützenden Infrastruktur überlassen. App Engine bietet eine breite Palette von Funktionen, die Skalierbarkeit, Lastausgleich, Protokollierung, Überwachung und Sicherheit viel einfacher machen, als wenn Sie sie selbst erstellen und verwalten müssten. Mit App Engine können Sie in einer Vielzahl von Programmiersprachen programmieren und eine Vielzahl anderer Google Cloud-Dienste verwenden App Engine stellt die Standardumgebung bereit, mit der Sie Apps in einer sicheren Sandbox-Umgebung ausführen können. Die App Engine-Standardumgebung verteilt Anfragen auf mehrere Server und skaliert Server, um die Verkehrsanforderungen zu erfüllen. Ihre App wird in ihrer eigenen sicheren, zuverlässigen Umgebung ausgeführt, die unabhängig von der Hardware, dem Betriebssystem oder dem physischen Standort des Servers ist Um Ihnen mehr Optionen zu bieten, bietet App Engine die flexible Umgebung. Wenn Sie die flexible Umgebung verwenden, wird Ihre Anwendung auf konfigurierbaren Compute Engine-Instanzen ausgeführt, aber App Engine verwaltet die Hosting-Umgebung für Sie. Das bedeutet, dass Sie zusätzliche Laufzeiten, einschließlich benutzerdefinierter Laufzeiten, für mehr Programmiersprachenoptionen verwenden können. Sie können auch einen Teil der Flexibilität nutzen, die Compute Engine bietet, z. B. die Auswahl aus einer Vielzahl von CPU- und Speicheroptionen Programmiersprachen Die App Engine-Standardumgebung stellt Standardlaufzeiten bereit und Sie schreiben Quellcode in bestimmten Versionen der unterstützten Programmiersprachen Mit der flexiblen Umgebung schreiben Sie Quellcode in einer Version einer der unterstützten Programmiersprachen. Sie können diese Laufzeiten anpassen oder Ihre eigene Laufzeit mit einem benutzerdefinierten Docker-Image oder Dockerfile bereitstellen Wenn die von Ihnen verwendete Programmiersprache im Vordergrund steht, müssen Sie entscheiden, ob die von der App Engine-Standardumgebung bereitgestellten Laufzeiten Ihren Anforderungen entsprechen. Wenn dies nicht der Fall ist, sollten Sie die Verwendung der flexiblen Umgebung in Betracht ziehen Informationen dazu, welche Umgebung die Anforderungen Ihrer App am besten erfüllt, finden Sie unter Auswählen einer App Engine-Umgebung Erste-Schritte-Tutorials nach Sprache Die folgenden Tutorials können Ihnen bei den ersten Schritten mit der App Engine-Standardumgebung helfen: - Hallo Welt in Python - Hallo Welt in Java - Hallo Welt in PHP - Hallo Welt in Rubin - Hallo Welt in Go - Hallo Welt in Node.js Die folgenden Tutorials können Ihnen bei den ersten Schritten mit der flexiblen Umgebung helfen: - Erste Schritte mit Python - Erste Schritte mit Java - Erste Schritte mit PHP - Erste Schritte mit Go - Erste Schritte mit Node.js - Erste Schritte mit Ruby - Erste Schritte mit .NET Speichern von Daten mit App Engine App Engine bietet Ihnen Optionen zum Speichern Ihrer Daten: |Name||Struktur||Konsistenz| |Firestore||Schemalos||Stark konsistent.| |Cloud SQL||Relational||Stark konsistent.| |Cloud Storage||Dateien und ihre zugehörigen Metadaten||Streng konsistent, außer wenn Listenoperationen ausgeführt werden, die eine Liste von Buckets oder Objekten abrufen.| Sie können auch mehrere Datenbanken von Drittanbietern mit der Standardumgebung verwenden Weitere Einzelheiten zur Speicherung in App Engine finden Sie unter Auswählen einer Speicheroption und wählen Sie dann Ihre bevorzugte Programmiersprache aus Wenn Sie die flexible Umgebung verwenden, können Sie dieselben Speicheroptionen wie in der Standardumgebung und auch eine größere Auswahl an Datenbanken von Drittanbietern verwenden. Weitere Informationen zu Datenbanken von Drittanbietern in der flexiblen Umgebung finden Sie unter Verwenden von Datenbanken von Drittanbietern Load-Balancing und Autoscaling mit App Engine Standardmäßig leitet App Engine eingehende Anfragen automatisch an die entsprechenden Back-End-Instanzen weiter und übernimmt den Lastenausgleich für Sie. Wenn Sie jedoch die Vorteile der voll ausgestatteten HTTP(S)-Load-Balancing-Funktionen der Enterprise-Klasse von Google Cloud nutzen möchten, können Sie serverlose Netzwerk-Endpunktgruppen verwenden Zur Skalierung kann App Engine automatisch Instanzen erstellen und herunterfahren, wenn der Datenverkehr schwankt, oder Sie können eine Anzahl von Instanzen angeben, die unabhängig von der Menge des Datenverkehrs ausgeführt werden sollen Protokollierung und Überwachung mit App Engine In App Engine werden Anfragen automatisch protokolliert und Sie können diese anzeigen meldet sich in der Google Cloud-Konsole an. App Engine funktioniert auch mit standardmäßige, sprachspezifische Bibliotheken, die Protokollierungsfunktionen bereitstellen und leitet die Protokolleinträge an die Protokolle in der Google Cloud-Konsole weiter. Zum Beispiel, in Python Sie können das Standard-Python-Protokollierungsmodul und verwenden auf Java Sie können den Logback-Appender integrieren oder java.util.logging mit Cloud-Logging. Dieser Ansatz ermöglicht alle Funktionen von Cloud Logging und erfordert nur wenige Zeilen Google Cloud-spezifischen Code Cloud Monitoring bietet Funktionen zum Überwachen Ihrer App Engine-Anwendungen. Über die Google Cloud-Konsole können Sie Vorfälle, Verfügbarkeitsdiagnosen und andere Details überwachen ## Aufbauend auf einer serverlosen Plattform mit Cloud Run Mit der serverlosen Plattform von Google Cloud können Sie Code nach Ihren Wünschen schreiben, ohne sich Gedanken über die zugrunde liegende Infrastruktur machen zu müssen. Mit dem Speicher, den Datenbanken, dem maschinellen Lernen und mehr von Google Cloud können Sie serverlose Full-Stack-Anwendungen erstellen Sie können Ihre Container-Websites zusätzlich zur Verwendung von GKE auch in Cloud Run bereitstellen. Cloud Run ist eine vollständig verwaltete serverlose Plattform, mit der Sie hochgradig skalierbare containerisierte Anwendungen in Google Cloud ausführen können. Sie zahlen nur für die Zeit, in der Ihr Code ausgeführt wird Durch die Verwendung von Containern mit Cloud Run können Sie ausgereifte Technologien wie Nginx, Express.js und Django nutzen, um Ihre Websites zu erstellen, auf Ihre SQL-Datenbank in Cloud SQL zuzugreifen und dynamische HTML-Seiten zu rendern Die Cloud Run-Dokumentation enthält einen Schnellstart, um Ihnen den Einstieg zu erleichtern Daten speichern mit Cloud Run Cloud Run-Container sind ephemer und Sie müssen ihre Kontingente und Limits für Ihre Anwendungsfälle verstehen. Dateien können zur Verarbeitung vorübergehend in einer Containerinstanz gespeichert werden, aber diese Speicherung erfolgt aus dem verfügbaren Arbeitsspeicher für den Dienst, wie im Laufzeitvertrag beschrieben Für dauerhaften Speicher können Sie, ähnlich wie bei App Engine, die Dienste von Google Cloud wie Cloud Storage, Firestore oder Cloud SQL auswählen. Alternativ können Sie auch eine Speicherlösung eines Drittanbieters verwenden Load-Balancing und Autoscaling mit Cloud Run Wenn Sie auf Cloud Run aufbauen, leitet es standardmäßig eingehende Anfragen automatisch an die entsprechenden Back-End-Container weiter und übernimmt den Lastenausgleich für Sie. Wenn Sie jedoch die Vorteile der voll ausgestatteten HTTP(S)-Load-Balancing-Funktionen der Enterprise-Klasse von Google Cloud nutzen möchten, können Sie serverlose Netzwerk-Endpunktgruppen verwenden Mit HTTP(S)-Load-Balancing können Sie Cloud CDN aktivieren oder Traffic aus mehreren Regionen bereitstellen. Darüber hinaus können Sie Middleware wie API Gateway verwenden, um Ihren Service zu verbessern Für Cloud Run verwaltet Google Cloud die automatische Skalierung von Containerinstanzen für dich. Jede Überarbeitung wird automatisch auf die Anzahl der zu handhabenden Containerinstanzen skaliert alle eingehenden Anfragen. Wenn eine Überarbeitung standardmäßig keinen Datenverkehr empfängt es ist auf null Containerinstanzen skaliert. Wenn Sie möchten, können Sie dies jedoch tun Ändern Sie diese Standardeinstellung, um eine Instanz anzugeben, die im Leerlauf gehalten werden soll, oder *warm* mit die Einstellung für die Mindestanzahl von Instanzen Protokollierung und Überwachung mit Cloud Run Cloud Run hat zwei Arten von Logs, die automatisch an Cloud Logging gesendet werden: - Anfrageprotokolle: Protokolle von Anfragen, die an Cloud Run-Dienste gesendet werden. Diese Protokolle werden automatisch erstellt - Containerprotokolle: Protokolle, die von den Containerinstanzen ausgegeben werden, normalerweise von Ihrem eigenen Code, und an unterstützte Speicherorte geschrieben werden, wie unter Schreiben von Containerprotokollen beschrieben Sie können Protokolle für Ihren Dienst auf verschiedene Arten anzeigen: - Verwenden Sie die Cloud Run-Seite in der Google Cloud-Konsole - Verwenden Sie den Cloud Logging Logs Explorer in der Google Cloud-Konsole Beide Anzeigemethoden untersuchen dieselben in Cloud Logging gespeicherten Protokolle, aber der Protokoll-Explorer bietet mehr Details und mehr Filterfunktionen Cloud Monitoring bietet Cloud Run-Leistungsüberwachung, Metriken und Verfügbarkeitsprüfungen sowie Warnungen zum Senden von Benachrichtigungen, wenn bestimmte Schwellenwerte für Metriken überschritten werden. Es gelten die Preise der Operations-Suite von Google Cloud, was bedeutet, dass für Messwerte in der vollständig verwalteten Version von Cloud Run keine Gebühren anfallen. Beachten Sie, dass Sie auch benutzerdefinierte Cloud Monitoring-Messwerte verwenden können Cloud Run ist in Cloud Monitoring integriert *ohne Einrichtung oder Konfiguration erforderlich*. Dies bedeutet, dass Metriken Ihrer Cloud Run-Dienste werden automatisch erfasst, wenn sie ausgeführt werden ## Erstellen von Content-Management-Systemen Das Bereitstellen einer Website bedeutet, Ihre Website-Assets zu verwalten. Cloud Storage bietet ein globales Repository für diese Assets. Eine gängige Architektur stellt statische Inhalte in Cloud Storage bereit und synchronisiert sie dann mit Compute Engine, um dynamische Seiten zu rendern. Cloud Storage funktioniert mit vielen Content-Management-Systemen von Drittanbietern wie WordPress, Drupal und Joomla. Cloud Storage bietet auch eine Amazon S3-kompatible API, sodass jedes System, das mit Amazon S3 funktioniert, mit Cloud Storage arbeiten kann Das folgende Diagramm ist eine Beispielarchitektur für ein Content-Management-System ## Was kommt als nächstes - Sehen Sie sich Referenzarchitekturen, Diagramme, Tutorials und Best Practices zu Google Cloud an. Werfen Sie einen Blick in unser Cloud Architecture Center.