Servizio di indirizzo IP pubblico

Il servizio di rete di indirizzi IP pubblici (esterni) ti consente di connetterti da internet a una macchina virtuale (VM) dei carichi di lavoro, un'appliance di gestione o un bilanciatore del carico in esecuzione nel tuo cloud privato. Ad esempio, se esegui un server web sul tuo per i carichi di lavoro, puoi gestire il traffico web utilizzando un indirizzo IP pubblico internet. Per impostazione predefinita, il servizio di rete con IP pubblico è disabilitato.

L'allocazione di un indirizzo IP pubblico a una risorsa fornisce inoltre quanto segue: vantaggi:

  • Prevenzione degli attacchi DDoS (Distributed Denial of Service). Questa protezione è è abilitato automaticamente per l'indirizzo IP pubblico.
  • Monitoraggio del traffico sempre attivo e mitigazione in tempo reale dei comuni a livello di rete attacchi informatici.
  • Protezione e mitigazione degli attacchi su tutta la scala globale in ogni rete. La rete può essere utilizzata per distribuire e mitigare il traffico dagli attacchi tra regioni diverse.

Comportamento

Un indirizzo IP pubblico può essere assegnato a un solo indirizzo IP privato e l'indirizzo IP pubblico è dedicato a quell'indirizzo IP privato finché non annulli l'assegnazione li annotino. Una risorsa associata a un indirizzo IP pubblico utilizza sempre l'indirizzo IP pubblico per l'accesso a internet. Puoi prenotare fino a 100 indirizzi IP pubblici per la rete VPC principale collegata a VMware Engine.

Per impostazione predefinita, il traffico in entrata su un indirizzo IP pubblico viene negato e viene consentito solo l'accesso internet in uscita. Per consentire il traffico in entrata, crea una regola firewall. per l'indirizzo IP pubblico alla porta specifica.

Prerequisiti di gcloud e API

Per utilizzare lo strumento a riga di comando gcloud o l'API per gestire VMware Engine per le risorse, consigliamo di configurare gli strumenti come descritto di seguito.

gcloud

  1. Imposta l'ID progetto predefinito:

    gcloud config set project PROJECT_ID
    
  2. Imposta una regione e/o una zona predefinite:

    gcloud config set compute/region REGION
    gcloud config set compute/zone ZONE

Per ulteriori informazioni sullo strumento gcloud vmware, esaminare i documenti di riferimento di Cloud SDK.

API

Gli esempi di API in questo set di documentazione utilizzano lo strumento a riga di comando cURL per eseguire una query sull'API. Nell'ambito della richiesta cURL è necessario un token di accesso valido. Esistono molti modi per ottenere un token di accesso valido. I passaggi che seguono utilizzano lo strumento gcloud per generare un token di accesso:

  1. Accedi a Google Cloud

    gcloud auth login
    
  2. Genera token di accesso ed esporta in TOKEN

    export TOKEN=`gcloud auth print-access-token`
    
  3. Verifica che TOKEN sia impostato correttamente

    echo $TOKEN
    
    Output:
    TOKEN
    

Ora utilizza il token di autorizzazione nelle richieste all'API. Ad esempio:

curl -X GET -H "Authorization: Bearer \"$TOKEN\""  -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations

Python

Gli esempi di codice Python in questa documentazione utilizzano la libreria VMware Engine per comunicare con l'API. Per poter utilizzare questo approccio, è necessario installare la libreria e configurare le Credenziali predefinite dell'applicazione.

  1. Scarica e installa la libreria Python

     pip install google-cloud-vmwareengine
    
  2. Configura le informazioni ADC eseguendo questi comandi nella shell

      gcloud auth application-default login
    

    o usa un file di chiavi dell'account di servizio

      export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
    

Per maggiori informazioni sulla libreria, visita la pagina di riferimento o visualizza gli esempi di codice su GitHub.

Abilitazione del servizio di rete IP pubblico in una regione

Prima di poter allocare un indirizzo IP pubblico a una VM del carico di lavoro, devi abilitare il servizio di rete IP pubblico della regione:

Console

  1. Accedi al portale VMware Engine.
  2. Vai a Rete > Impostazioni regionali.
  3. Nella riga corrispondente alla regione che ti interessa, seleziona Modifica. Se La regione non è elencata nella tabella di riepilogo, aggiungi la regione facendo clic Aggiungi regione.
  4. Imposta Servizio IP pubblico su Abilitato.
    • Per abilitare il servizio IP pubblico, devi abilitare anche il servizio di rete per l'accesso a internet.
    • È possibile abilitare il servizio di accesso a internet e lasciare l'IP pubblico è disabilitato. In questo caso, VPN point-to-site e allocazione di IP pubblici non sono disponibili.
  5. Nel campo CIDR dei servizi Edge, inserisci l'intervallo di indirizzi da utilizzare quando indirizzando il gateway IP pubblico VMware Engine (indirizzo /26 ).
  6. Fai clic su Invia.

Lo stato del servizio di rete diventa Attivato quando l'operazione viene vengono completate, in genere dopo alcuni minuti.

gcloud

Utilizzando lo strumento gcloud, esegui questo comando per creare il criterio di rete:

gcloud vmware network-policies create NETWORK_POLICY_NAME \
    --vmware-engine-network NETWORK_NAME --edge-services-cidr IP_RANGE \
    --location REGION --external-ip-access --internet-access

Sostituisci quanto segue:

  • NETWORK_POLICY_NAME: il nome di questa rete norme
  • NETWORK_NAME: la rete per questa richiesta, deve essere nel formato REGION-default
  • IP_RANGE: l'intervallo CIDR da utilizzare per internet e gateway di accesso IP esterni, in notazione CIDR. Un RFC Blocco CIDR del 1918 con "/26" il prefisso è obbligatorio
  • REGION: la regione della rete

API

curl -X POST -H "Authorization: Bearer TOKEN"  -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/networkPolicies?networkPolicyId=NETWORK_POLICY_NAME -d '{
  "vmwareEngineNetwork":"projects/PROJECT_ID/locations/REGION/vmwareEngineNetworks/NETWORK_NAME",
  "edgeServiceCidr":IP_RANGE,
  "internetAccess: {
    "enabled": true
   },
   "externalIp": {
     "enabled": true
   }
 }

Sostituisci quanto segue:

  • NETWORK_POLICY_NAME: il nome di questa rete .
  • PROJECT_ID: l'ID progetto per questa richiesta
  • REGION: la regione della rete
  • IP_RANGE: l'intervallo CIDR da utilizzare per internet e gateway di accesso IP esterni, in notazione CIDR. Un RFC Blocco CIDR del 1918 con "/26" è obbligatorio.
  • NETWORK_NAME: la rete di questo criterio di rete a cui si applica, deve essere nel formato >REGION-default

Python

Crea un nuovo criterio di rete con external_ip e internet_access impostati su True con la seguente funzione:

from google.api_core import operation
from google.cloud import vmwareengine_v1


def create_network_policy(
    project_id: str,
    region: str,
    ip_range: str,
    internet_access: bool,
    external_ip: bool,
) -> operation.Operation:
    """
    Creates a new network policy in a given network.

    Args:
        project_id: name of the project you want to use.
        region: name of the region you want to use. I.e. "us-central1"
        ip_range: the CIDR range to use for internet access and external IP access gateways,
            in CIDR notation. An RFC 1918 CIDR block with a "/26" suffix is required.
        internet_access: should internet access be allowed.
        external_ip: should external IP addresses be assigned.

    Returns:
        An operation object representing the started operation. You can call its .result() method to wait for
        it to finish.

    Raises:
        ValueError if the provided ip_range doesn't end with /26.
    """
    if not ip_range.endswith("/26"):
        raise ValueError(
            "The ip_range needs to be an RFC 1918 CIDR block with a '/26' suffix"
        )

    network_policy = vmwareengine_v1.NetworkPolicy()
    network_policy.vmware_engine_network = f"projects/{project_id}/locations/{region}/vmwareEngineNetworks/{region}-default"
    network_policy.edge_services_cidr = ip_range
    network_policy.internet_access.enabled = internet_access
    network_policy.external_ip.enabled = external_ip

    request = vmwareengine_v1.CreateNetworkPolicyRequest()
    request.network_policy = network_policy
    request.parent = f"projects/{project_id}/locations/{region}"
    request.network_policy_id = f"{region}-default"

    client = vmwareengine_v1.VmwareEngineClient()
    return client.create_network_policy(request)

Allocazione di un indirizzo IP pubblico

Per allocare un indirizzo IP pubblico per una VM del carico di lavoro:

  1. Accedi al portale Google Cloud VMware Engine
  2. Vai a Rete > Indirizzi IP pubblici.
  3. Fai clic su Assegna.
  4. Nel campo Nome, inserisci un nome per identificare la voce dell'indirizzo IP pubblico.
  5. Seleziona il Cloud privato che contiene la VM del carico di lavoro.
  6. Seleziona la località in cui vuoi gestire l'IP pubblico allocato.
  7. Nel campo Indirizzo locale collegato, inserisci l'indirizzo IP locale della VM che desideri assegnare a questo indirizzo IP pubblico.
  8. Fai clic su Invia per iniziare l'attività di allocazione dell'indirizzo IP pubblico.

Puoi controllare lo stato dell'attività nella Pagina Attività > Attività. Quando l'allocazione è completa, la nuova voce viene visualizzata nella pagina IP pubblici con lo stato Operativo.