Attiva indirizzi IP

Puoi abilitare qualsiasi istanza di macchina virtuale (VM) in modo che sia raggiungibile dalla rete esterna o da un'altra organizzazione, operazione nota come ingresso VM. Un carico di lavoro VM in un progetto dell'organizzazione può raggiungere la rete esterna o la VM corrente esposta ai servizi in altre organizzazioni, noto come uscita VM.

Puoi utilizzare VirtualMachineExternalAccess (VMEA) per controllare insieme l'ingresso e l'uscita delle VM. Puoi trovare gli indirizzi IP in entrata e in uscita che hai abilitato per un'istanza VM nell'API VMM air-gap di Google Distributed Cloud (GDC) o tramite la console GDC.

Prima di iniziare

Per utilizzare i comandi dell'interfaccia a riga di comando (CLI) gdcloud, assicurati di aver scaricato, installato e configurato la CLI gdcloud. Tutti i comandi per Distributed Cloud utilizzano la CLI gdcloud o kubectl e richiedono un ambiente del sistema operativo.

Recupera il percorso del file kubeconfig

Per eseguire comandi sul server API Management, assicurati di disporre delle seguenti risorse:

  1. Accedi e genera il file kubeconfig per il server API Management se non ne hai uno.

  2. Utilizza il percorso del file kubeconfig del server API Management per sostituire MANAGEMENT_API_SERVER in queste istruzioni.

Richiedere autorizzazioni e accesso

Per eseguire le attività elencate in questa pagina, devi disporre del ruolo Amministratore macchina virtuale progetto. Segui i passaggi per verificare di disporre del ruolo Amministratore VirtualMachine progetto (project-vm-admin) nello spazio dei nomi del progetto in cui si trova la VM.

Per le operazioni sulle VM che utilizzano la console GDC o gcloud CLI, chiedi all'amministratore IAM del progetto di assegnarti sia il ruolo Project VirtualMachine Admin sia il ruolo Project Viewer (project-viewer).

Configura l'accesso esterno alla VM

VirtualMachineExternalAccess (VMEA) controlla l'ingresso e l'uscita delle VM. VMEA non può controllare separatamente l'ingresso e l'uscita delle VM. L'ingresso e l'uscita di una VM devono essere abilitati o disabilitati contemporaneamente.

Puoi configurare e controllare VMEA dall'interfaccia utente o dall'API Distributed Cloud VMM. Una VM può avere un solo VMEA. Se una VM non ha un VMEA, sia l'ingresso che l'uscita sono disattivati per impostazione predefinita.

Attiva l'accesso esterno

Per abilitare una VM con accesso esterno per il trasferimento dei dati in entrata e in uscita, puoi configurare VMEA dalla console GDC o dall'API Virtual Machine Manager di Distributed Cloud.

Per impostazione predefinita, il traffico di rete intraprogetto è consentito e puoi accedere direttamente alla tua VM all'interno del progetto. Una policy di rete blocca tutto il traffico in entrata alla VM dall'esterno del progetto. Devi creare manualmente un nuovo criterio di rete per consentire all'indirizzo IP di origine di accedere alla VM tramite il trasferimento dei dati in entrata. Questa policy di rete può essere una policy di rete per il traffico tra progetti o una policy di rete per il traffico tra organizzazioni. La posizione dipende da dove vuoi accedere alla VM.

Puoi attivare e disattivare l'accesso esterno di una VM specificando true o false nel campo enabled della specifica VMEA. Per l'ingresso VM, puoi configurare il trasferimento dei dati nelle porte specificando il nome, il protocollo e il numero di porta per ogni porta che vuoi aggiungere nel campo ports della specifica VMEA.

Per abilitare l'accesso esterno di una VM creando un nuovo VMEA, completa i seguenti passaggi:

Console

  1. Durante la procedura di creazione della VM utilizzando la console, vai alla pagina Dettagli di rete dalla pagina Crea istanza VM.
  2. Individua Rete nel menu di navigazione verticale della pagina.
  3. Seleziona Consenti accesso esterno per attivare l'accesso esterno sulla VM.

Abilita l'accesso esterno durante la creazione della VM

API

Esegui questo comando:

kubectl --kubeconfig MANAGEMENT_API_SERVER apply -n PROJECT -f - <<EOF
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineExternalAccess
metadata:
   name: VM_NAME
spec:
   enabled: true
   ports:
     - name: PORT_NAME
       protocol: PROTOCOL
       port: PORT_NUMBER
EOF

Sostituisci le seguenti variabili:

  • MANAGEMENT_API_SERVER: il file kubeconfig del server dell'API Management.
  • VM_NAME: il nome della VM.
  • PORT_NAME: il nome della porta.
  • PROTOCOL: il protocollo che vuoi che utilizzi il servizio di ingresso. Il nome del protocollo deve essere scritto in maiuscolo e deve essere un protocollo supportato da Kubernetes, ad esempio TCP, UDP o SCTP.
  • PORT_NUMBER: il numero di porta.

Per abilitare l'accesso esterno di una VM modificando un VMEA esistente tramite l'API VMM, esegui questo comando:

kubectl --kubeconfig MANAGEMENT_API_SERVER edit virtualmachineexternalaccesses.virtualmachine.gdc.goog VM_NAME -n PROJECT

Disattivare l'accesso esterno

Se una VM non ha un VMEA corrispondente, sia l'ingresso che l'uscita sono disattivati. Se una VM ha un VMEA corrispondente, puoi disattivarlo impostando il campo enabled su false o eliminando direttamente il VMEA. Puoi eseguire queste operazioni tramite l'API Distributed Cloud VMM.

Per disattivare l'accesso esterno, completa i seguenti passaggi:

API

Disattiva l'accesso esterno eliminando un VMEA:

kubectl --kubeconfig MANAGEMENT_API_SERVER delete virtualmachineexternalaccesses.virtualmachine.gdc.goog VM_NAME -n PROJECT

Sostituisci quanto segue:

  • MANAGEMENT_API_SERVER: il file kubeconfig del server dell'API Management.
  • VM_NAME: il nome della VM.
  • PROJECT: il progetto Distributed Cloud in cui si trova la VM.

Disattiva l'accesso esterno modificando un VMEA:

kubectl --kubeconfig MANAGEMENT_API_SERVER edit virtualmachineexternalaccesses.virtualmachine.gdc.goog VM_NAME -n PROJECT

Aggiorna il campo enabled su false.

In entrata

Visualizzare gli indirizzi IP in entrata

Se una VM è abilitata con Ingress, dopo la creazione viene visualizzato un indirizzo IP Ingress nella console GDC. Puoi trovare questo indirizzo IP di ingresso nella pagina Dettagli VM della console GDC.

Per recuperare l'indirizzo IP, utilizza l'API Distributed Cloud VMM. Completa i seguenti passaggi:

API

Recupera l'indirizzo IP:

kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachineexternalaccesses.virtualmachine.gdc.goog VM_NAME -n PROJECT -ojsonpath='{.status.ingressIP}'

Per una VM con un sistema operativo diverso, utilizza il comando ssh per accedere alla VM con l'indirizzo IP di ingresso con la porta che hai attivato con TCP.

Modifica Ingress

Dopo aver abilitato VMEA per una VM, puoi personalizzare l'ingresso modificando VMEA. Puoi modificare direttamente la specifica dell'ingresso VM dalla console GDC. Puoi anche utilizzare l'interfaccia a riga di comando kubectl per modificare l'ingresso VM dalle specifiche di VMEA.

Per modificare il VMEA per personalizzare l'ingresso, completa i seguenti passaggi:

Ad esempio, utilizza i seguenti comandi per aggiungere la porta PORT_NUMBER a un ingresso VM esistente utilizzando il protocollo TCP:

Console

Modifica direttamente le porte nel servizio di ingresso VM dalla console GDC:

  1. Nel menu di navigazione verticale, fai clic su Istanze.
  2. Nella pagina, scorri fino a Dettagli della rete.
  3. Fai clic sull'icona di modifica in Porte di ingresso per modificare la porta di ingresso.

    Interfaccia utente della console che mostra l&#39;elenco dei dettagli di rete con l&#39;icona di modifica sulle porte Ingress

API

kubectl --kubeconfig MANAGEMENT_API_SERVER patch virtualmachineexternalaccesses.virtualmachine.gdc.goog VM_NAME -n PROJECT --type "json" -p '[{"op":"add","path":"/spec/ports/-","value": {"name":"PORT_NAME","port":PORT_NUMBER, "Protocol":"TCP"}}]'

Sostituisci quanto segue:

  • MANAGEMENT_API_SERVER: il file kubeconfig del server dell'API Management.
  • VM_NAME: il nome della VM.
  • PROJECT: il progetto Distributed Cloud in cui si trova la VM.
  • PORT_NAME: il nome della porta da aggiungere.
  • PORT_NUMBER: il numero di porta.

Abilita Ingress con protocollo non TCP

Distributed Cloud ti consente di abilitare l'ingresso della VM con protocolli diversi. Per impostazione predefinita, un servizio di ingresso VM utilizza il protocollo TCP. Puoi aggiungere il tuo ingresso del protocollo non TCP per la tua VM. Distributed Cloud supporta i seguenti protocolli:

  • Transmission Control Protocol (TCP).
  • User Datagram Protocol (UDP).
  • Stream Control Transmission Protocol (SCTP).

Puoi abilitare il trasferimento dei dati in entrata con un protocollo non TCP specificando nomi di protocollo diversi durante la creazione di VMEA.

In uscita

Un workload VM in un progetto dell'organizzazione può raggiungere la rete esterna o essere esposto a servizi in altre organizzazioni. Se attivi il trasferimento dei dati in uscita per la VM, viene generato un indirizzo IP di uscita. La VM si connette ai servizi esterni con questo indirizzo IP.

Per eseguire il trasferimento dei dati in uscita da questo indirizzo IP dalla rete esterna, potresti dover applicare criteri di rete del progetto. Per ulteriori informazioni, consulta le norme di rete per il traffico in uscita tra organizzazioni.

Visualizzare l'indirizzo IP di uscita

Se una VM è abilitata con Egress, un indirizzo IP di uscita viene visualizzato nella console GDC dopo la creazione. Puoi trovare questo indirizzo IP di uscita anche nella pagina Dettagli VM.

Per visualizzare l'indirizzo IP di uscita:

API

Recupera l'indirizzo IP:

kubectl --kubeconfig MANAGEMENT_API_SERVER get virtualmachineexternalaccesses.virtualmachine.gdc.goog VM_NAME -n PROJECT -ojsonpath='{.status.egressIP}'

Sostituisci quanto segue:

  • MANAGEMENT_API_SERVER: il file kubeconfig del server dell'API Management.
  • VM_NAME: il nome della VM.
  • PROJECT: il progetto Distributed Cloud in cui si trova la VM.

Il traffico in uscita della VM si basa su un progetto. Le VM all'interno dello stesso progetto contengono lo stesso indirizzo IP in uscita.

Controllo del traffico in uscita

Nelle versioni precedenti di Distributed Cloud, era necessario riavviare la VM per riflettere le modifiche all'uscita di una VM in esecuzione. Nella versione 1.11, puoi attivare e disattivare l'uscita della VM senza riavviarla. Questa modifica ha effetto subito dopo l'aggiornamento del VMEA.