Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Auf dieser Seite wird die erforderliche Konfiguration zum Freigeben eines Dienstes der flexiblen App Engine-Umgebung nur über seine interne IP-Adresse gezeigt.
Standardmäßig erhalten Dienste in der flexiblen Umgebung sowohl eine interne als auch eine sitzungsspezifische externe IP-Adresse, wenn sie zum ersten Mal bereitgestellt werden. Die sitzungsspezifische externe IP-Adresse ermöglicht Ihrem Dienst, Anfragen mit benutzerdefinierten Domains und Ressourcen im Internet an App Engine-Dienste zu senden.
Für sitzungsspezifische externe IP-Adressen fallen Kosten an.
Wenn Ihr Dienst keine externe IP-Adresse erfordert, können Sie verhindern, dass der Dienst Anfragen an Ressourcen im Internet sendet. Außerdem können Sie die Kosten senken, indem Sie den Dienst auf die Nutzung seiner internen IP-Adresse beschränken. Dies verhindert nicht, dass Ihr Dienst Anfragen aus dem Internet oder von App Engine-Diensten mit benutzerdefinierten Domains empfängt, da der voll qualifizierte Domainname Ihres Dienstes noch immer extern sichtbar ist.
Beschränkungen
Das Deaktivieren von sitzungsspezifischen externen IP-Adressen unterliegt den folgenden Einschränkungen:
Dienste mit benutzerdefinierten Domains: Um Anfragen an App Engine-Dienste mit benutzerdefinierten Domains senden zu können, müssen Sie Cloud NAT konfigurieren.
Externe Ressourcen: Um Anfragen an externe Ressourcen senden zu können, müssen Sie Cloud NAT konfigurieren.
Abhängigkeit von privatem Google-Zugriff: Instanzen mit IP-Modus gesetzt auf internal erfordern privaten Google-Zugriff auf das Ziel-Subnetzwerk.
Legacy-Netzwerke:Legacy-Netzwerke können den privaten Google-Zugriff nicht verwenden und daher sitzungsspezifische externe IP-Adressen nicht deaktivieren.
Vorbereitung
Damit Anwendungen der flexiblen Umgebung ohne externe IP-Adressen bereitgestellt werden können, müssen Sie den privaten Google-Zugriff für das Zielsubnetzwerk aktivieren.
Weitere Informationen zum privaten Google-Zugriff finden Sie in der Übersicht.
Wenn Sie eine freigegebene VPC verwenden, gehen Sie so vor, um Ihr freigegebenes VPC-Netzwerk für die weitere Konfiguration vorzubereiten:
Prüfen Sie, ob Sie eine Route haben, die mit dem privaten Google-Zugriff kompatibel ist. In der Regel ist die Standardroute eines Netzwerks mit dem privaten Google-Zugriff kompatibel. Prüfen Sie bei anderen Routen, ob die Route so konfiguriert ist.
Network: SHARED_VPC_NETWORK_NAME
Destination IP address range: 0.0.0.0/0
Instance tags: INSTANCE_TAGS
Next hop: DEFAULT_INTERNET_GATEWAY
Dabei gilt:
SHARED_VPC_NETWORK_NAME: Der Name des freigegebenen VPC-Netzwerks.
INSTANCE_TAGS: Wenn Sie keine Instanz-Tags verwenden, geben Sie in diesem Feld nichts an. Wenn Sie Instanz-Tags verwenden, fügen Sie aef-instances in die Liste der Instanz-Tags ein.
DEFAULT_INTERNET_GATEWAY: Das Standard-Internet-Gateway
Weitere Informationen zu kompatiblen Routen für den privaten Google-Zugriff finden Sie in der Dokumentation zu privatem Google-Zugriff unter Routingoptionen.
Prüfen Sie, ob Sie eine Firewallregel haben, die mit dem privaten Google-Zugriff kompatibel ist. Die Firewallregel muss so konfiguriert werden.
Network: SHARED_VPC_NETWORK_NAME
Destination IP address range: 0.0.0.0/0
Destination filter: IP ranges
Direction of traffic: Egress
Attach on match: Allow
Instance tags: INSTANCE_TAGS
Dabei gilt:
SHARED_VPC_NETWORK_NAME: Der Name des freigegebenen VPC-Netzwerks.
INSTANCE_TAGS: Wenn Sie keine Instanz-Tags verwenden, geben Sie in diesem Feld nichts an. Wenn Sie Instanz-Tags verwenden, fügen Sie aef-instances in die Liste der Instanz-Tags ein.
Weitere Informationen zu kompatiblen Firewallregeln für den privaten Google-Zugriff finden Sie in der Dokumentation zum privaten Google-Zugriff unter Firewallkonfiguration.
Dienst so konfigurieren, dass nur seine interne IP-Adresse verwendet wird
Google Cloud-CLI aktualisieren Dadurch wird eine Version der gcloud-CLI verwendet, die private IP-Adressen für Anwendungen in der flexiblen Umgebung unterstützt.
gcloudcomponentsupdate
Fügen Sie in der Datei app.yaml das Feld instance_ip_mode dem Abschnitt network hinzu und setzen Sie es auf internal.
Wenn die Datei app.yaml bereits einen Abschnitt network enthält, fügen Sie die folgende Zeile im Abschnitt network hinzu:
instance_ip_mode:internal
Wenn die Datei app.yaml keinen Abschnitt network enthält, erstellen Sie den Abschnitt und geben Sie den Instanz-IP-Modus an. Fügen Sie dazu die folgenden Zeilen hinzu:
network:
instance_ip_mode:internal
Speichern Sie diese Änderungen.
Stellen Sie den Dienst bereit.
gcloudbetaappdeploy
Überprüfen Sie die Konfiguration auf der Seite „Instanzen“ der Google Cloud -Konsole.
Scrollen Sie nach unten zur Tabelle Instanzen (unter dem Diagramm Zusammenfassung). Bestätigen Sie in der Spalte Externe IP, dass keine IP-Adresse aufgeführt ist. Wenn keine IP-Adresse in dieser Spalte vorhanden ist, hat Ihre Instanz keine externe IP-Adresse. Auch wenn dieses Feld leer ist, hat Ihre Instanz weiterhin eine interne IP-Adresse.
Externe Anfragen ohne externe IP-Adresse senden
Wenn Ihr Dienst Anfragen an das Internet sendet, Sie dies jedoch auf die interne IP-Adresse beschränken möchten, können Sie mit Cloud NAT ein Gateway erstellen. Ihr Dienst kann externe Anfragen über das Cloud NAT-Gateway senden, ohne die standardmäßigen sitzungsspezifischen externen IP-Adressen zu verwenden.
[[["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-19 (UTC)."],[[["\u003cp\u003eThis guide outlines how to configure an App Engine flexible environment service to use only its internal IP address, thus preventing it from sending requests to resources on the internet and reducing costs associated with ephemeral external IP addresses.\u003c/p\u003e\n"],["\u003cp\u003eDisabling ephemeral external IP addresses requires enabling Private Google Access on the target subnetwork and has limitations, including the necessity to configure Cloud NAT for services with custom domains or those sending requests to external resources.\u003c/p\u003e\n"],["\u003cp\u003eTo prepare a Shared VPC network, it's essential to verify compatibility with Private Google Access by confirming the presence of a compatible default route and a firewall rule configured for egress traffic.\u003c/p\u003e\n"],["\u003cp\u003eConfiguring the service involves updating the Google Cloud CLI, adding the \u003ccode\u003einstance_ip_mode: internal\u003c/code\u003e line in the \u003ccode\u003enetwork\u003c/code\u003e section of the \u003ccode\u003eapp.yaml\u003c/code\u003e file, deploying the updated service, and verifying the absence of an external IP address on the Instances page in the Google Cloud console.\u003c/p\u003e\n"],["\u003cp\u003eServices limited to internal IPs needing to send requests to the internet can do so via setting up a Cloud NAT gateway, which acts as an intermediary allowing communication without the service utilizing an ephemeral external IP.\u003c/p\u003e\n"]]],[],null,["# Configure private internal-only services\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nThis page shows the required configuration for exposing an App Engine flexible environment\nservice only on its internal IP address.\n\nBy default, flexible environment services receive both an internal IP address\nand an ephemeral external IP address when they are first deployed. The\nephemeral external IP address allows your service to send requests to\nApp Engine services with custom domains, and resources on the internet.\nEphemeral external IP addresses incur [costs](/vpc/network-pricing#ipaddress).\n\nIf your service does not require an external IP address, you can prevent your\nservice from sending requests to resources on the internet and reduce costs by\nlimiting your service to using only its internal IP address. This does not\nprevent your service from receiving requests from the internet or\nApp Engine services with custom domains, because the fully qualified\ndomain name of your service is still externally visible.\n\nLimitations\n-----------\n\nDisabling ephemeral external IP addresses has the following limitations:\n\n- **Services with custom domains:** To send requests to App Engine services with custom domains you must [configure Cloud NAT](/nat/docs/set-up-manage-network-address-translation).\n- **External resources:** To send requests to external resources you must [configure Cloud NAT](/nat/docs/set-up-manage-network-address-translation).\n- **Private Google Access dependency:** Instances with IP mode set to `internal` require [Private Google Access](/vpc/docs/private-google-access#pga-supported) on the target subnetwork.\n- **Legacy networks:** [Legacy networks](/vpc/docs/legacy) cannot use Private Google Access, and thus cannot disable ephemeral external IP addresses.\n\nBefore you begin\n----------------\n\nTo deploy flexible environment apps without external IP addresses, you must\nenable Private Google Access on the target subnetwork.\n\n- To learn about Private Google Access, see the [Overview](/vpc/docs/private-google-access#pga-supported).\n- For step-by-step configuration instructions, see [Enabling Private Google Access](/vpc/docs/configure-private-google-access#enabling-pga).\n\n### Prepare your Shared VPC network\n\nIf you use Shared VPC, follow these steps to prepare your\nShared VPC network for further configuration.\n\n1. Verify that you have a route that is compatible with\n Private Google Access. Typically the\n [default route](/vpc/docs/routes#routingpacketsinternet) of a network is\n compatible with Private Google Access. For other routes, confirm that\n the route is configured as follows.\n\n ```sh\n Network: SHARED_VPC_NETWORK_NAME\n Destination IP address range: 0.0.0.0/0\n Instance tags: INSTANCE_TAGS\n Next hop: DEFAULT_INTERNET_GATEWAY\n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eSHARED_VPC_NETWORK_NAME\u003c/var\u003e: The name of your Shared VPC network.\n - \u003cvar translate=\"no\"\u003eINSTANCE_TAGS\u003c/var\u003e: If you do not use any instance tags, do not specify anything in this field. If you do use instance tags, include `aef-instances` in your list of instance tags.\n - \u003cvar translate=\"no\"\u003eDEFAULT_INTERNET_GATEWAY\u003c/var\u003e: The default internet gateway.\n\n To learn more about compatible routes for Private Google Access, see\n the Private Google Access documentation on\n [routing options](/vpc/docs/configure-private-google-access#config-routing).\n2. Verify that you have a firewall rule that is compatible with\n Private Google Access. The firewall rule must be configured as\n follows.\n\n ```sh\n Network: SHARED_VPC_NETWORK_NAME\n Destination IP address range: 0.0.0.0/0\n Destination filter: IP ranges\n Direction of traffic: Egress\n Attach on match: Allow\n Instance tags: INSTANCE_TAGS\n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eSHARED_VPC_NETWORK_NAME\u003c/var\u003e: The name of your Shared VPC network.\n - \u003cvar translate=\"no\"\u003eINSTANCE_TAGS\u003c/var\u003e: If you do not use any instance tags, do not specify anything in this field. If you do use instance tags, include `aef-instances` in your list of instance tags.\n\n To learn more about compatible firewall rules for\n Private Google Access, see the Private Google Access\n documentation on\n [firewall configuration](/vpc/docs/configure-private-google-access#config-firewall).\n\nConfigure your service to use only its internal IP address\n----------------------------------------------------------\n\n1. Update the Google Cloud CLI. This ensures that you are using a version of the\n gcloud CLI that supports private IP addresses for\n flexible environment apps.\n\n ```bash\n gcloud components update\n ```\n2. In your `app.yaml` file, add the `instance_ip_mode` field to the\n [`network` section](/appengine/docs/flexible/reference/app-yaml#network_settings)\n and set it to `internal`.\n\n - If your `app.yaml` file already has a `network` section, add the following\n line inside the `network` section:\n\n ```bash\n instance_ip_mode: internal\n ```\n\n \u003cbr /\u003e\n\n - If your `app.yaml` file doesn't have a `network` section, create the\n section and specify the instance IP mode by adding the following lines:\n\n ```bash\n network:\n instance_ip_mode: internal\n ```\n\n \u003cbr /\u003e\n\n Save these changes.\n3. Deploy the service.\n\n ```bash\n gcloud beta app deploy\n ```\n4. Verify configuration by checking the Instances page of the Google Cloud console.\n\n [Go to Instances](https://console.cloud.google.com/appengine/instances)\n\n Scroll down to the **Instances** table (below the **Summary** chart). In the\n **External IP** column, confirm that there is no IP address listed. The\n absence of an IP address in this column means that your instance has no\n external IP address. Even though this field is empty, your instance still has\n an internal IP address.\n\nSend external requests without an external IP address\n-----------------------------------------------------\n\nIf your service sends requests to the internet but you want to limit it to using\nonly its internal IP address, you can use [Cloud NAT](/nat/docs/overview) to\ncreate a gateway. Your service can send external requests through the\nCloud NAT gateway without using the default ephemeral external IP addresses.\n\n1. Follow the steps in the section\n [Configure your service to use only its internal IP address](#limit-to-internal).\n\n2. Follow the steps to\n [Configure Cloud NAT](/nat/docs/set-up-manage-network-address-translation).\n\nTo learn more about this approach, see the Cloud Architecture Center\ndocumentation on\n[Deploying Cloud NAT for fetching](/architecture/building-internet-connectivity-for-private-vms#deploying_cloud_nat_for_fetching)."]]