Lavorare con la connettività in uscita in Code Engine

La funzione connessioni in uscita di IBM Cloud® Code Engine consente di definire gli endpoint raggiungibili per i progetti Code Engine.

  • Utilizzare gli intervalli di indirizzi IP di destinazione consentiti per le connessioni in uscita in notazione CIDR.
  • Collegare il progetto Code Engine con la VPC IBM Cloud Servizi di Sentieri Privati utilizzando la console Code Engine o la CLI.

È possibile creare connessioni in uscita utilizzando la console o la CLI.

Intervalli di indirizzi IP di destinazione consentiti per le connessioni in uscita

Gli intervalli di indirizzi IP di destinazione consentiti assicurano che il traffico in uscita sia limitato agli indirizzi definiti come sicuri. In questo modo si impedisce l'accesso indesiderato a Internet e si migliora la conformità e la sicurezza.

Le specifiche dell'intervallo CIDR non influiscono sulla comunicazione interna al progetto, sulle connessioni di percorso private o sulle connessioni di servizio private, che sono sempre destinazioni consentite. Di conseguenza, la limitazione del traffico in uscita basata su intervalli CIDR non impedisce alle applicazioni all'interno del progetto Code Engine di comunicare tra loro, o di comunicare con un servizio di percorso privato collegato, o con un endpoint privato di un'API del servizio IBM Cloud.

Il caso d'uso può determinare le specifiche della connessione in uscita. I tipici casi d'uso sono i seguenti:

  • Specificando nessuna regola (cioè nessun indirizzo IP consentito), se le applicazioni Code Engine all'interno di un progetto non devono raggiungere alcun endpoint esterno.
  • Specificando un singolo intervallo di indirizzi IP di destinazione consentiti (0.0.0.0/0), è possibile consentire tutti i possibili endpoint. Per impostazione predefinita, esiste una regola, denominata allow-all, impostata con un intervallo IP di 0.0.0.0/0.
  • Specificare una regola con un intervallo di indirizzi IP di destinazione consentiti che permetta al carico di lavoro all'interno del progetto Code Engine di raggiungere solo l'intervallo di endpoint specificato (ad esempio, verso il data center in sede).

Connessioni di percorsi privati

Private Path consente le connessioni tra un servizio IBM Cloud come Code Engine e il vostro VPC senza compromettere la sicurezza o mettere a rischio il vostro VPC. Vedere Abilitazione di un servizio IBM Cloud a connettersi alla VPC di un provider.

Questo diagramma illustra come stabilire un servizio Private Path con connessioni al gateway VPE di un'applicazione Code Engine e al vostro VPC. Innanzitutto, l'applicazione Code Engine si connette al gateway VPE all'interno della VPC di Code Engine. Quindi, il gateway VPE si collega al Private Path NLB nel VPC del provider. A sua volta, il Private Path NLB si collega all'applicazione del provider. L'applicazione del provider risponde quindi alla richiesta. Questa attività di servizio Private Path è completamente contenuta in una singola regione (ad esempio, us-south) in una rete privata IBM Cloud.

Usare Percorso privato per collegare il progetto Code Engine al VPC su rete privata.
Usare Percorso privato per collegare il progetto Code Engine al VPC su rete privata.

Il diagramma seguente mostra ulteriori esempi di come Private Path possa aiutare a collegare il vostro progetto Code Engine:

Utilizzate Private Path per collegare il vostro progetto Code Engine a vari target nella vostra VPC o in altre reti esterne.
Utilizzare il percorso privato per collegare il progetto Code Engine a vari target nella VPC o in altre reti esterne

Connessioni di servizio private

La connessione a endpoint privati di un insieme di servizi comuni della piattaforma IBM Cloud è abilitata come parte delle destinazioni in uscita consentite di tutti i progetti Code Engine. L'insieme dei servizi di piattaforma abilitati varia a seconda della regione, come illustrato nella tabella seguente.

Servizi di piattaforma con endpoint privati abilitati per regione
Servizio piattaforma Endpoint privato disponibile nelle regioni
Ricerca globale (Endpoint URL ) e Tagging globale (Endpoint URL ) au-syd, br-sao, ca-tor, eu-de, eu-es, eu-gb, in-che, jp-osa, jp-tok, us-east, us-south
Catalogo globale (Endpoint URL ) au-syd, br-sao, eu-de, jp-osa, us-east, us-south
Gestione degli account (Endpoint URL (https://private.accounts.cloud.ibm.com) ) eu-de, us-east, us-south
Misurazione del consumo (Endpoint URL ) eu-de, us-east, us-south
Gestione aziendale (Endpoint URL ) eu-de, us-east, us-south
Controllore delle risorse (Endpoint URL ) eu-de, us-east, us-south
Gestione degli utenti (Endpoint URL ) eu-de, us-east, us-south

Gestione delle destinazioni in uscita consentite tramite la console

Aggiunta di un intervallo di indirizzi IP di destinazione consentiti per la connettività in uscita

È possibile creare intervalli di indirizzi IP di destinazione consentiti per limitare la connessione del carico di lavoro a una rete esterna.

  1. Vai alla pagina "Connettività":
    1. Selezionate il progetto dalla pagina Progetti della console Code Engine.
    2. Fare clic su Impostazioni progetto > Connettività > scheda Intervalli CIDR per visualizzare un elenco degli intervalli di indirizzi IP di destinazione consentiti esistenti.
  2. Fare clic su Aggiungi per creare un intervallo di indirizzi IP di destinazione consentiti.
  3. Fornisci un nome.
  4. Specificare un intervallo di indirizzi IP in notazione CIDR.
  5. Confermare la configurazione.

Aggiunta di una connessione al percorso privato per la connettività in uscita

È possibile stabilire una connessione Private Path tra il progetto Code Engine e il VPC.

  1. Vai alla pagina "Connettività":
    1. Selezionate il progetto dalla pagina Progetti della console Code Engine.
    2. Fare clic su Impostazioni progetto > Connettività > Scheda Connessioni percorso privato per visualizzare un elenco delle connessioni di percorso privato esistenti.
  2. Fare clic su Aggiungi per creare una connessione al percorso privato.
  3. Fornisci un nome.
  4. Si specifica l'istanza del servizio Percorso privato a cui connettersi per nome o per CRN.
    1. Per Nome, selezionare l'istanza del servizio Percorso privato dall'elenco a discesa.
    2. Per CRN, fornire l'istanza del servizio Percorso privato CRN.
  5. Selezionare il criterio di isolamento:
    1. Condivisa- Consente di riutilizzare la connessione del percorso privato tra i progetti Code Engine che risiedono nello stesso account IBM Cloud della VPC di destinazione o negli account della stessa famiglia di account Enterprise.
    2. Dedicato- Limita l'uso di questa connessione al Percorso privato a un solo progetto Code Engine.
  6. Confermare la configurazione.

Una volta creata la connessione alla VPC, il proprietario del servizio Private Path riceverà una richiesta di connessione. Il proprietario può esaminare, autorizzare o rifiutare la richiesta di allacciamento. Utilizzare i consumer Code Engine account ID e VPE gateway creation timestamp visualizzati nella vista dei dettagli della connessione del percorso privato per identificare la richiesta di connessione all'interno del servizio Percorso privato.

Aggiornamento di un intervallo di indirizzi IP di destinazione consentiti per la connettività in uscita

È possibile modificare gli intervalli di indirizzi IP di destinazione consentiti per impedire al carico di lavoro di connettersi a endpoint non desiderati (ad esempio, per connettersi a Internet pubblico).

  1. Vai alla pagina "Connettività":
    1. Selezionate il progetto dalla pagina Progetti della console Code Engine.
    2. Fare clic su Impostazioni progetto > Connettività > scheda Intervalli CIDR per visualizzare un elenco degli intervalli di indirizzi IP di destinazione consentiti esistenti.
  2. Fare clic sulla riga con l'intervallo di indirizzi IP di destinazione consentiti che si desidera modificare.
  3. Fornire l'intervallo di indirizzi IP aggiornato e salvare le modifiche.

Quando si aggiornano le regole di connettività in uscita, tenere presente:

  • Gli intervalli di indirizzi IP di destinazione consentiti non sono in conflitto; sono additivi. Quando si definiscono più intervalli, le destinazioni consentite creano un'unione di tutti gli intervalli specificati, in modo che l'ordine di aggiunta degli intervalli non influisca sulle destinazioni consentite risultanti. Se si aggiunge un secondo intervallo che è già coperto da un intervallo esistente, il sistema rifiuta la creazione in quanto ridondante.

  • Specificando l'intervallo di indirizzi IP 0.0.0.0/0 si eliminano tutte le regole esistenti e si apre la connettività completa.

  • Dopo aver limitato le regole di connettività in uscita, può essere necessario un po' di tempo prima che il carico di lavoro venga recepito dalle regole. Ad esempio, se il client HTTP utilizzato nel codice stabilisce una connessione prima di aggiornare la regola di connettività in uscita, può aprire una connessione a quell'endpoint. Per assicurarsi che le regole di connettività in uscita vengano applicate immediatamente, ripristinare tutte le connessioni. È possibile ripristinare i carichi di lavoro con una nuova distribuzione o gestendo tali situazioni nel codice.

  • Dopo aver limitato le connessioni in uscita dal progetto Code Engine, si possono verificare effetti collaterali indesiderati, come il fallimento della compilazione perché non è possibile effettuare richieste esterne.

Aggiornamento di una connessione a percorso privato per la connettività in uscita

È possibile modificare una connessione Private Path tra il progetto Code Engine e la VPC in dedicated o shared.

  • Una connessione Private Path può essere shared e quindi riutilizzata tra i progetti Code Engine che risiedono nello stesso account IBM Cloud della VPC di destinazione, o negli account della stessa famiglia di account Enterprise.
  • Per limitare l'uso di una connessione a un Percorso privato a un solo progetto Code Engine, impostare la sua politica di isolamento su dedicated.
  • Una connessione dedicated Private Path può sempre essere modificata in shared.
  • Una connessione al Percorso privato shared può essere cambiata in dedicated solo se non è utilizzata da più di un progetto Code Engine.

Per aggiornare il criterio di isolamento di una connessione al percorso privato:

  1. Vai alla pagina "Connettività":
    1. Selezionate il progetto dalla pagina Progetti della console Code Engine.
    2. Fare clic su Impostazioni progetto > Connettività > Scheda Connessioni percorso privato per visualizzare un elenco delle connessioni di percorso privato esistenti.
  2. Andare alla riga con la connessione al percorso privato che si desidera aggiornare e fare clic sull'icona delle azioni della riga con i tre puntini e selezionare l'opzione Cambia criterio di isolamento.
  3. Nella finestra di dialogo, fare clic su Cambia per confermare le modifiche.

Eliminazione di una destinazione in uscita consentita per la connettività in uscita

È possibile eliminare le destinazioni in uscita consentite definite in precedenza, se non si desidera più definirle per la connettività in uscita.

L'eliminazione degli intervalli di indirizzi IP di destinazione consentiti blocca il traffico in uscita per le applicazioni, le funzioni e i lavori di Code Engine all'interno di un progetto.

  1. Vai alla pagina "Connettività":
    1. Selezionate il progetto dalla pagina Progetti della console Code Engine.
    2. Fare clic su Impostazioni progetto > Connettività > scheda Intervalli CIDR per visualizzare un elenco degli intervalli di indirizzi IP di destinazione consentiti esistenti o sulla scheda Connessioni percorso privato per visualizzare un elenco delle connessioni percorso privato esistenti.
  2. Andare alla riga con la destinazione in uscita consentita che si desidera rimuovere, fare clic sull'icona con i tre puntini delle azioni di riga e selezionare l'opzione Elimina.
  3. Confermare l'eliminazione quando viene richiesto.

Gestione delle destinazioni in uscita consentite tramite la CLI

Per lavorare con le destinazioni in uscita consentite usando i comandi CLI, accedere all'account IBM Cloud e selezionare l'account Code Engine e il gruppo di risorse.

Aggiunta di un intervallo di indirizzi IP di destinazione consentiti per la connettività in uscita

Per i comandi CLI in uscita della connettività Code Engine, è possibile specificare i valori i valori --name e --cidr per configurare gli intervalli di indirizzi IP di destinazione consentiti. Seguire le linee guida CIDR:

  • Non utilizzare un intervallo IP tra quelli riservati.
  • Non utilizzare valori duplicati di --name e --cidr.
  • Non utilizzare un nome CIDR non supportato.
  • Non utilizzare un intervallo di indirizzi IP non supportato. Seguire la notazione CIDR.

È possibile creare intervalli di indirizzi IP di destinazione consentiti per limitare la connessione del carico di lavoro a una rete esterna.

  1. Seleziona il tuo progetto " Code Engine ". Ad esempio:

    ibmcloud ce project select --name myproject
    
  2. Creare un intervallo di indirizzi IP di destinazione consentiti specificando le opzioni --name e --cidr. Fornire un nome e un indirizzo IP validi. Fate riferimento a questi esempi:

    ibmcloud ce connectivity outbound create --name mycidr1 --cidr 192.68.5.0/24
    
    ibmcloud ce connectivity outbound create --name mycidr2-allow-all --cidr 0.0.0.0/0
    
    ibmcloud ce connectivity outbound create --name mycidr2-allow-all --cidr 0.0.0.0/0 --force
    

Aggiunta di una connessione al percorso privato per la connettività in uscita

Per i comandi CLI in uscita della connettività Code Engine, è possibile specificare i valori i valori --name, --format, --pps-crn e, facoltativamente, --isolation-policy per stabilire un percorso privato tra il progetto Code Engine e la VPC.

  1. Seleziona il tuo progetto " Code Engine ". Ad esempio:

    ibmcloud ce project select --name myproject
    
  2. Creare una connessione con percorso privato per la connettività in uscita specificando i campi --name, --format e --pps-crn. Fornire un nome, un formato e un CRN validi. Fornire shared o dedicated se si specifica --isolation-policy. Fate riferimento a questi esempi:

    ibmcloud ce connectivity outbound create --name my-pps-connection --format pps --pps-crn crn:v1:bluemix:public:is:eu-de:a/abcdefabcdefabcdefabcd1234567890::private-path-service-gateway:r010-2b2b2b2b-3c3c-4d4d-5e5e-6f6f6f6f6f6f
    
    ibmcloud ce connectivity outbound create --name my-pps-connection-2 --format pps --pps-crn crn:v1:bluemix:public:is:eu-de:a/abcdefabcdefabcdefabcd1234567890::private-path-service-gateway:r010-2b2b2b2b-3c3c-4d4d-5e5e-6f6f6f6f6f5e --isolation-policy dedicated
    

Una volta creata la connessione alla VPC, il proprietario del servizio Private Path riceverà una richiesta di connessione. Il proprietario può esaminare, autorizzare o rifiutare la richiesta di allacciamento. Utilizzare i consumer Code Engine account ID e VPE gateway creation timestamp visualizzati nella vista dei dettagli della connessione del percorso privato per identificare la richiesta di connessione all'interno del servizio Percorso privato.

Mostra le destinazioni esistenti consentite per la connettività in uscita

Per mostrare una specifica destinazione in uscita consentita, specificare il nome. Ad esempio:

ibmcloud ce connectivity outbound get --name my-allowed-destination

Per visualizzare tutte le destinazioni in uscita consentite, eseguire:

ibmcloud ce connectivity outbound list

Per mostrare i formati selezionati delle destinazioni in uscita consentite, eseguire ad esempio:

ibmcloud ce connectivity outbound list --format cidr,pps

ibmcloud ce connectivity outbound list --format cidr

ibmcloud ce connectivity outbound list --format pps

Aggiornamento di un intervallo di indirizzi IP di destinazione consentiti per la connettività in uscita

È possibile modificare gli intervalli di indirizzi IP di destinazione consentiti per impedire al carico di lavoro di connettersi a endpoint non desiderati (ad esempio, per connettersi a Internet pubblico).

Aggiornare un intervallo di indirizzi IP di destinazione consentiti specificando le opzioni --name e --cidr. Fornire un nome e un indirizzo IP validi. Fate riferimento a questi esempi:

ibmcloud ce connectivity outbound update --name mycidr1 --cidr 192.68.5.0/24

ibmcloud ce connectivity outbound update --name mycidr2-allow-all --cidr 0.0.0.0/0
Are you sure you want to update an allowed destination IP address range with '0.0.0.0/0'?, It will remove all other entries [y/N]>

ibmcloud ce connectivity outbound update --name mycidr2-allow-all --cidr 0.0.0.0/0 --force

Quando si aggiornano le regole di connettività in uscita, tenere presente:

  • Gli intervalli di indirizzi IP di destinazione consentiti non sono in conflitto; sono additivi. Quando si definiscono più intervalli, le destinazioni consentite creano un'unione di tutti gli intervalli specificati, in modo che l'ordine di aggiunta degli intervalli non influisca sulle destinazioni consentite risultanti. Se si aggiunge un secondo intervallo che è già coperto da un intervallo esistente, il sistema rifiuta la creazione in quanto ridondante.

  • Specificando l'intervallo di indirizzi IP 0.0.0.0/0 si eliminano tutte le regole esistenti e si apre la connettività completa.

  • Anche dopo aver limitato le regole di connettività in uscita, può essere necessario un po' di tempo prima che il carico di lavoro venga assorbito dalle regole. Ad esempio, se il client HTTP utilizzato nel codice stabilisce una connessione prima di aggiornare la regola di connettività in uscita, può aprire una connessione a quell'endpoint. Per assicurarsi che le regole di connettività in uscita vengano applicate immediatamente, ripristinare tutte le connessioni. È possibile ripristinare i carichi di lavoro con una nuova distribuzione o gestendo tali situazioni nel codice.

  • Dopo aver limitato le connessioni in uscita dal progetto Code Engine, si possono verificare effetti collaterali indesiderati, come il fallimento della compilazione perché non è possibile effettuare richieste esterne.

Aggiornamento di una connessione a percorso privato per la connettività in uscita

È possibile modificare una connessione Private Path tra il progetto Code Engine e la VPC in dedicated o shared.

  • Una connessione Private Path può essere shared e quindi riutilizzata tra i progetti Code Engine che risiedono nello stesso account IBM Cloud della VPC di destinazione, o negli account della stessa famiglia di account Enterprise.
  • Per limitare l'uso di una connessione al Percorso privato a un solo progetto Code Engine, impostare il suo --isolation-policy su dedicated.
  • Una connessione dedicated Private Path può sempre essere modificata in shared.
  • Una connessione al Percorso privato shared può essere cambiata in dedicated solo se non è utilizzata da più di un progetto Code Engine.

Per aggiornare una connessione a percorso privato, specificare le opzioni --name e --isolation-policy. Fate riferimento a questi esempi:

ibmcloud ce connectivity outbound update --name my-pps-connection --isolation-policy dedicated

ibmcloud ce connectivity outbound update --name my-pps-connection --isolation-policy shared

Eliminazione di una destinazione in uscita consentita per la connettività in uscita

È possibile eliminare le destinazioni in uscita consentite definite in precedenza, se non si desidera più definirle per la connettività in uscita.

L'eliminazione degli intervalli di indirizzi IP di destinazione consentiti blocca il traffico in uscita per le applicazioni, le funzioni e i lavori di Code Engine all'interno di un progetto.

Per eliminare una destinazione in uscita consentita con conferma, specificare il nome. Ad esempio:

ibmcloud ce connectivity outbound delete --name my-allowed-destination

Per eliminare una destinazione in uscita consentita in modo forzato (cioè senza conferma), eseguire:

ibmcloud ce connectivity outbound delete --name my-allowed-destination --force