In diesem Dokument wird beschrieben, wie Sie Ihre interne DNS-Richtlinie aktualisieren, damit zonales DNS für neue Projekte verwendet wird. Zonales DNS verbessert die Zuverlässigkeit von Anwendungen, da Ausfälle auf Zonen beschränkt werden und Unterbrechungen kritischer Dienste wie das Erstellen von Instanzen und die automatische Reparatur verhindert werden.
Hinweise
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud -Dienste und APIs überprüft.
Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren.
<x0A>Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
-
Standardrichtlinie für globales DNS prüfen:
Administrator für Organisationsrichtlinien (
roles/orgpolicy.policyAdmin
) für den Ordner oder die Organisation -
Ermitteln, ob ein Ordner für die Migration zu zonalem DNS bereit ist:
Browser (
roles/browser
) für den Ordner oder die Organisation -
Einschränkung für Organisationsrichtlinie festlegen:
orgpolicy.*
- Ermitteln, ob ein Ordner für die Migration zu zonalem DNS bereit ist:
-
resourcemanager.folders.get
-
resourcemanager.folders.list
-
resourcemanager.organizations.get
-
resourcemanager.projects.get
-
resourcemanager.projects.list
-
-
Nach globalen DNS-Namen und VM-Metadaten suchen:
compute.projects.get
- Liste der Projekte und Ordner zusammenstellen: Erstellen Sie eine Liste aller Projekte und der zugehörigen Ordner in Ihrer Organisation.
- Ausnahmen für Ordner festlegen: Ermitteln Sie die Ordner, die die in Schritt 1 identifizierten inkompatiblen Projekte enthalten. Diese Ordner müssen vorübergehend von der zonalen DNS-Richtlinie ausgenommen werden.
- Organisationsrichtlinie festlegen: Erzwingen Sie die zonale DNS-Richtlinie auf Organisationsebene.
- Bestimmte Ordner ausnehmen: Wenden Sie Ausnahmen auf die in Schritt 3 ermittelten Ordner an. So können sie weiterhin globales DNS verwenden, während Sie die inkompatiblen Projekte darin bearbeiten.
- Flexible App Engine-Umgebung, Google Kubernetes Engine und in Compute Engine ausgeführte Container
- Cloud SQL, Cloud Run Functions und Batch
- Dataproc und Dataflow
Das Erstellungsdatum der Organisation:
- Nach dem 6. September 2018 erstellt: Ihre Organisation verwendet standardmäßig zonales DNS. Sie müssen dann nichts weiter tun.
- Vor dem 6. September 2018 erstellt: Ihre Organisation verwendet standardmäßig globales DNS. Sie sollten eine Migration zu zonalem DNS in Betracht ziehen.
Das Vorhandensein und die Erzwingung einer Einschränkung für Organisationsrichtlinien:
Auch wenn Ihre Organisation vor dem 6. September 2018 erstellt wurde, hat ein Administrator möglicherweise eine Richtlinie erzwungen, die zonales DNS für alle neuen Projekte verwendet, die in der Organisation erstellt werden. Um zu prüfen, ob eine solche Richtlinie vorhanden ist, können Sie die Google Cloud Console oder die Google Cloud CLI verwenden.
Gehen Sie zu IAM und Verwaltung> Identität und Organisation in der Console.
Prüfen Sie das Anmeldedatum der Organisation.
Wenn Ihre Organisation vor dem 6. September 2018 erstellt wurde, prüfen Sie, ob eine Organisationsrichtlinieneinschränkung den Standard-DNS-Typ für alle neu erstellten Projekte auf zonales DNS setzt.
- Rufen Sie in der Google Cloud Console die Seite IAM & Verwaltung>Organisationsrichtlinien auf.
- Geben Sie im Filter
constraints/compute.setNewProjectDefaultToZonalDNSOnly
ein: - Wenn die Einschränkung konfiguriert ist, klicken Sie auf den Namen Interne DNS-Einstellung für neue Projekte ausschließlich auf zonales DNS festlegen.
- Prüfen Sie auf der Seite Richtliniendetails den Status.
- Wenn der Status Erzwungen lautet, ist der interne DNS-Standardtyp für alle neuen Projekte, die in der Organisation erstellt werden, zonales DNS.
- Andernfalls wird der Standard-DNS-Typ für das Projekt weiterhin durch die Erstellungszeit der Organisation bestimmt.
- Wenn die Einschränkung nicht für die Organisation konfiguriert wurde, wird der Standard-DNS-Typ für das Projekt durch das Erstellungsdatum der Organisation bestimmt.
Prüfen Sie den Metadatenwert der Organisation
creationTime
.gcloud organizations describe ORGANIZATION_ID
Ersetzen Sie ORGANIZATION_ID durch die Organisations-ID oder den Organisationsdomainnamen.
Wenn Ihre Organisation vor dem 6. September 2018 erstellt wurde, prüfen Sie, ob eine Organisationsrichtlinieneinschränkung konfiguriert ist, um den Standard-DNS-Typ für alle neu erstellten Projekte auf zonales DNS festzulegen.
gcloud resource-manager org-policies list --organization=ORGANIZATION_ID \ --filter="constraints/compute"
Suchen Sie in der Ausgabe nach
constraints/compute.setNewProjectDefaultToZonalDNSOnly
.- Wenn die Einschränkung vorhanden ist und
Status
gleichEnforced
ist, verwenden alle neuen Projekte, die in der Organisation erstellt werden, standardmäßig zonales DNS. - Wenn die Einschränkung nicht vorhanden ist oder nicht erzwungen wird, wird der Standard-DNS-Typ anhand des Erstellungsdatums der Organisation bestimmt, wie im ersten Schritt beschrieben.
- Wenn die Einschränkung vorhanden ist und
- Erstellen Sie ein BigQuery-Dataset.
Assetmetadaten für Ihre Organisation in eine BigQuery-Tabelle exportieren
- Prüfen Sie, ob die Cloud Asset Inventory API aktiviert ist.
- Konfigurieren Sie die Berechtigungen, die zum Verwenden der Cloud Asset Inventory API erforderlich sind.
Verwenden Sie den folgenden gcloud CLI-Befehl, um das
compute.googleapis.com/Project
-Asset zu exportieren:gcloud asset export \ --content-type resource \ --organization 'ORGANIZATION_ID' \ --bigquery-table 'projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME' \ --asset-types='compute.googleapis.com/Project' \ --output-bigquery-force
Ersetzen Sie Folgendes:
- ORGANIZATION_ID: die Organisations-ID-Nummer
- PROJECT_ID: die Projekt-ID
- DATASET_ID: den Namen des BigQuery-Datasets
- TABLE_NAME: die Tabelle, in die Sie Ihre Metadaten exportieren. Wenn die Tabelle nicht vorhanden ist, wird sie von BigQuery erstellt.
Rufen Sie in derGoogle Cloud -Console die Seite BigQuery auf.
Klicken Sie auf
Neue Abfrage erstellen.Geben Sie im Textbereich des Abfrageeditors die folgende GoogleSQL-Abfrage ein und klicken Sie dann auf
Ausführen.SELECT JSON_VALUE(SAFE.PARSE_JSON(resource.data).vmDnsSetting) AS vmDnsSetting, count(*) as project_count FROM PROJECT_ID.DATASET_ID.TABLE_NAME GROUP BY 1
Ersetzen Sie Folgendes:
- PROJECT_ID: die Projekt-ID
- DATASET_ID: den Namen des BigQuery-Datasets
- TABLE_NAME: die Tabelle, die die exportierten Metadaten enthält, aus Schritt 2.
Für Projekte mit dem Wert
ZONAL_ONLY
fürvmDnsSetting
ist zonales DNS konfiguriert. Andernfalls wird für die Projekte standardmäßig globales DNS verwendet.Optional: Wenn Sie eine detaillierte Ansicht der
vmDnsSetting
für jedes Projekt aufrufen möchten, geben Sie die folgende GoogleSQL-Abfrage ein und klicken Sie dann auf Ausführen.SELECT SUBSTR(name,35) as project_id, JSON_VALUE(SAFE.PARSE_JSON(resource.data).vmDnsSetting) AS vmDnsSetting FROM PROJECT_ID.DATASET_ID.TABLE_NAME
- Der Ordner ist bereit, wenn in den letzten 30 Tagen in allen Projekten keine Abfragen ausgeführt wurden, die nicht mit zonalem DNS kompatibel sind.
- Wenn ein Ordner nicht für die Migration bereit ist, antwortet das Script mit den Projekt-IDs in dem Ordner, die dazu führen, dass der Ordner nicht für die Migration bereit ist. Die Projekte in dieser Ergebnisliste sind noch nicht mit zonalem DNS kompatibel und erfordern zusätzliche Maßnahmen.
- Rufen Sie die Ordner-ID ab. Wenn Sie die Ordner-ID nicht kennen, gehen Sie so vor:
- Rufen Sie in der Google Cloud Console die Seite Verwaltete Ressourcen auf.
- Wenden Sie den Filter
Name:FOLDER_NAME
an, um die Ordner-ID abzurufen.
Fragen Sie die BigQuery-Tabelle mit den exportierten
compute.Project assets
-Daten ab.Eine Anleitung zum Erstellen der BigQuery-Tabelle finden Sie unter Festlegen, welche Projekte in einem Ordner oder einer Organisation ein globales DNS verwenden.
Geben Sie die folgende GoogleSQL-Abfrage ein und klicken Sie auf
Ausführen:SELECT SUBSTR(name,35) AS project_id, FROM PROJECT_ID.DATASET_ID.TABLE_NAME WHERE CONTAINS_SUBSTR(ancestors, 'FOLDER_NUMBER')
Ersetzen Sie Folgendes:
- PROJECT_ID: die Projekt-ID
- DATASET_ID: den Namen des BigQuery-Datasets
- TABLE_NAME: die Tabelle mit den exportierten Metadaten.
- FOLDER_NUMBER: die Ordner-ID-Nummer
Kopieren Sie die Liste der Projekt-IDs und speichern Sie sie in einer Datei.
Führen Sie das folgende Script
bash
aus: Das Script durchläuft die Projekt-IDs in der gespeicherten Datei, um festzustellen, ob ein Ordner für die Migration bereit ist.- Benachrichtigen Sie für Ordner und Projekte, die sicher migriert werden können, die Projektinhaber, dass sie mit der Migration der Projekte beginnen können.
- Weisen Sie die Projektinhaber bei Ordnern, die Projekte enthalten, die nicht sicher migriert werden können, an, inkompatible Abfragen zu korrigieren.
- Melden Sie sich in der Google Cloud -Konsole als Super Admin für Google Workspace oder Cloud Identity an.
Wechseln Sie in der Konsole zur Seite Organisationsrichtlinien.
Klicken Sie auf Auswählen und wählen Sie die Ordner aus, die Sie von der Organisationsrichtlinie ausnehmen möchten.
In der Google Cloud Konsole wird eine Liste der Einschränkungen für Organisationsrichtlinien für diesen Ordner auf einer oder mehreren Seiten angezeigt.
So finden Sie die Einschränkung für die Organisationsrichtlinie, die zonales DNS erzwingt:
- Klicken Sie auf Filtern.
- Name auswählen.
- Setzen Sie den Filternamen auf Legt die interne DNS-Einstellung für neue Projekte so fest, dass nur zonales DNS verwendet wird.
Klicken Sie auf den Namen der Einschränkung für die Organisationsrichtlinie, um die Seite Richtliniendetails zu öffnen.
Klicken Sie auf Bearbeiten.
Wählen Sie auf der Seite Bearbeiten die Option Anpassen aus.
Wählen Sie unter Erzwingung die Option Aus aus, um die Erzwingung der Einschränkung zu deaktivieren. Das bedeutet, dass der interne DNS-Standardtyp für alle Projekte im Ordner durch das Erstellungsdatum der Organisation bestimmt wird.
Klicken Sie auf Speichern.
Melden Sie sich in der Google Cloud -Konsole als Super Admin für Google Workspace oder Cloud Identity an.
Wechseln Sie in der Konsole zur Seite Organisationsrichtlinien.
Wählen Sie den Ordner oder die Organisation aus, für die Sie Organisationsrichtlinien aufrufen möchten. In der Google Cloud Konsole wird eine Liste der verfügbaren Einschränkungen für Organisationsrichtlinien angezeigt. Die Liste kann sich über mehrere Seiten erstrecken.
Um die Richtlinie zum Erzwingen des zonalen DNS zu ermitteln, klicken Sie auf Filter und wählen Sie Name aus. Setzen Sie dann den Filternamen auf Legt die interne DNS-Einstellung für neue Projekte so fest, dass nur zonales DNS verwendet wird.
Klicken Sie auf den Richtliniennamen, um die Details aufzurufen.
Auf der Seite „Richtliniendetails“ finden Sie Informationen zur Einschränkung und zur aktuellen Anwendung der Einschränkung.
Standardmäßig ist die Erzwingung für einen Ordner oder eine Organisation nicht definiert. Wenn jedoch ein übergeordneter Ordner eine definierte Erzwingung hat, wird die Erzwingung vom nächstgelegenen übergeordneten Ordner übernommen, der eine definierte Erzwingung hat. Weitere Informationen finden Sie unter Informationen zu Evaluierungen der Hierarchie.
Klicken Sie auf Bearbeiten, um die Organisationsrichtlinie anzupassen.
Wählen Sie auf der Bearbeitungsseite Anpassen aus.
Wählen Sie unter Erzwingung die Option An aus.
Dadurch wird der interne DNS-Standardtyp für alle neuen Projekte in der Organisation auf zonales DNS festgelegt.
Klicken Sie auf Speichern.
Deaktivieren Sie die Organisationsrichtlinie
constraints/compute.setNewProjectDefaultToZonalDNSOnly
auf Organisations- oder Ordnerebene. Eine Anleitung zum Ändern dieser Richtlinie finden Sie unter Zonales DNS standardmäßig für neue Projekte erzwingen.Setzen Sie die Erzwingung von Legt die interne DNS-Einstellung für neue Projekte so fest, dass nur zonales DNS verwendet wird auf Aus.
Wenn Sie für die gesamte Organisation wieder globales DNS verwenden möchten, prüfen Sie, ob für einen der Ordner in der Organisation die Organisationsrichtlinie
constraints/compute.setNewProjectDefaultToZonalDNSOnly
erzwungen wird.Informationen dazu, wie Sie prüfen, ob globales DNS für Ihre Projekte und Instanzen konfiguriert ist, finden Sie unter Festlegen, welche Projekte in einem Ordner oder einer Organisation ein globales DNS verwenden.
- Alle vorhandenen Projekte, die globales DNS verwenden, müssen separat migriert werden. Weitere Informationen finden Sie unter Projekte für die Verwendung von zonalem DNS aktualisieren.
REST
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Aufrufen der organisationsweiten internen DNS-Nutzung und zum Aktualisieren der Standardrichtlinie benötigen:
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Aufrufen der organisationsweiten internen DNS-Nutzung und zum Aktualisieren der Standardrichtlinie erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um die organisationsweite interne DNS-Nutzung aufzurufen und die Standardrichtlinie zu aktualisieren:
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Übersicht über die Konfiguration
Wenn Sie eine Organisationsrichtlinie festlegen, um den internen DNS-Standardtyp zu überschreiben, verwenden neu erstellte Projekte standardmäßig zonales DNS. Die Organisationsrichtlinie wirkt sich nicht auf vorhandene Projekte aus, in denen die Compute Engine API bereits aktiviert ist. Informationen zum Umstellen vorhandener Projekte auf die Verwendung des zonalen DNS finden Sie unter Vorhandene Projekte auf zonales DNS umstellen.
Wir empfehlen, eine zonale DNS-Richtlinie auf Organisationsebene zu erzwingen. So wird sichergestellt, dass alle neuen Projekte, die in Ihrer Organisation erstellt werden, zonales DNS verwenden, was ihre Zuverlässigkeit und Stabilität verbessert. Möglicherweise müssen Sie jedoch einige Ordner von dieser organisationsweiten Richtlinie ausnehmen. Das Ausnehmen von Ordnern ist erforderlich, wenn neue Projekte in diesen Ordnern von vorhandenen Projekten abhängen, die nicht mit zonalem DNS kompatibel sind.
Das Erzwingen einer zonalen DNS-Richtlinie auf Organisationsebene umfasst die folgenden Schritte:
So wird sichergestellt, dass neue Projekte zonales DNS für eine höhere Zuverlässigkeit verwenden. Gleichzeitig werden bestehende Abhängigkeiten von älteren Projekten berücksichtigt, die möglicherweise noch nicht für eine sofortige Migration bereit sind.
Beschränkungen
Wenn Sie zonale DNS-Namen für Ihre gesamte Organisation aktivieren, werden zonale DNS-Einstellungen auf Instanzen in anderen Diensten angewendet, z. B.:
Prüfen Sie, ob Ihre Anwendungen einen dieser Dienste verwenden, und verwenden Sie die Analyse von Anfragen, um Kompatibilitätsprobleme mit zonalem DNS für die Ordner und Projekte zu ermitteln, die mit diesen Anwendungen verknüpft sind.
Prüfen, ob Ihre Organisation standardmäßig globales DNS verwendet
Die Standard-DNS-Einstellung für Ihre Organisation hängt von zwei Faktoren ab:
Console
gcloud
Verwenden Sie den Befehl
organizations describe
und den Befehlresource-manager org-policies list
, um den Standard-DNS-Typ für eine Organisation zu ermitteln.Festlegen, welche Projekte in einem Ordner oder einer Organisation ein globales DNS verwenden.
Wenn Sie herausfinden möchten, welche Projekte das globale DNS verwenden, empfehlen wir, in BigQuery eine Tabelle mit den zugehörigen Projekten für Ihre Organisation und ihren Metadaten zu erstellen. Anschließend können Sie diese Tabelle verwenden, um eine Abfrage auszuführen.
Migrationsbereitschaft eines Ordners ermitteln
In diesem Schritt werden ein
bash
-Script und die im vorherigen Abschnitt erstellte BigQuery-Tabelle verwendet, um die Migrationsbereitschaft des Ordners zu ermitteln.Gehen Sie folgendermaßen vor:
#!/bin/bash inaccessible_projects=() unready_projects=() for project in $(cat ~/FILENAME | tr '\n' ' '); do echo -e "Checking project $project..." ERROR=`curl -s --request POST "https://monitoring.googleapis.com/v3/projects/$project/timeSeries:query" -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Accept: application/json" -H "Content-Type: application/json" --data '{"query":"fetch compute.googleapis.com/Location | metric '"'"'compute.googleapis.com/global_dns/request_count'"'"' | filter metric.zonal_dns_readiness = '"'"'zonal_dns_risky'"'"' | every 30d | within 30d"}' --compressed | jq --raw-output '.error'` if ! [[ "$ERROR" -eq "null" ]]; then inaccessible_projects+=($project) continue fi QUERY_COUNT=`curl -s --request POST "https://monitoring.googleapis.com/v3/projects/$project/timeSeries:query" -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Accept: application/json" -H "Content-Type: application/json" --data '{"query":"fetch compute.googleapis.com/Location | metric '"'"'compute.googleapis.com/global_dns/request_count'"'"' | filter metric.zonal_dns_readiness = '"'"'zonal_dns_risky'"'"' | every 30d | within 30d"}' --compressed | jq --raw-output '.timeSeriesData[0].pointData[0].values[0].int64Value'` if [[ "$QUERY_COUNT" -ne "null" ]] && [[ "$QUERY_COUNT" -ne "0" ]]; then unready_projects+=($project) fi done error_len=${#inaccessible_projects[@]} unready_len=${#unready_projects[@]} echo -e "$error_len projects were inaccessible" echo -e "$unready_len projects were not ready for migration" if [ $error_len -ne 0 ]; then echo "Unable to access the following projects:" for project in "${inaccessible_projects[@]}"; do echo "$project" done fi if [ $unready_len -ne 0 ]; then echo "The following projects are not ready for migration:" for project in "${unready_projects[@]}"; do echo "$project" done fi if (( $error_len + $unready_len > 0 )); then echo "This folder is NOT ready for gDNS -> zDNS migration." else echo "This folder is ready for gDNS -> zDNS migration." fi
Ersetzen Sie FILENAME durch den Namen der Datei, in der Sie die Liste der Projekt-IDs gespeichert haben.
Teilen Sie die Ergebnisse der Migrationsbereitschaftsanalyse mit den Projektinhabern:
Ausgenommene Ordner sind nicht bereit, von der Organisationsrichtlinieneinschränkung zu einem zonalen DNS zu migrieren
Wenn Sie einen Ordner von der Organisationsrichtlinie ausnehmen möchten, führen Sie die folgenden Schritte aus, um die Erzwingungsoption für die Richtlinie auf Ordnerebene auf
Off
festzulegen.Weitere Informationen zum Anpassen von Einschränkungen für Organisationsrichtlinien finden Sie in der Resource Manager-Dokumentation unter Richtlinien für boolesche Einschränkungen anpassen.
Zonales DNS standardmäßig für neue Projekte erzwingen
Gehen Sie so vor, um die Organisationsrichtlinie für einen Ordner oder eine Organisation festzulegen:
Wenn Sie die Änderung der Organisationsrichtlinie validieren möchten, können Sie ein neues Projekt in dem Ordner oder der Organisation erstellen, dann eine VM-Instanz erstellen und starten sowie prüfen, ob Ihre VM für zonales DNS aktiviert ist.
Wenn das interne globale DNS erforderlich ist, um eine in Ihrer Arbeitslast integrierte DNS-Namensabfrage aufzulösen, können Sie diese Änderung auf Organisations- oder Ordnerebene rückgängig machen, indem Sie die Erzwingung deaktivieren.
Zur Verwendung des globalen DNS für eine Organisation oder einen Ordner zurückkehren
Wenn Sie für eine Organisation oder einen Ordner wieder globales DNS verwenden möchten, beenden Sie die Erzwingung der Organisationsrichtlinie für zonales DNS. Gehen Sie folgendermaßen vor:
Nächste Schritte
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-07-14 (UTC).
-