Creazione e gestione degli endpoint del connettore

Dopo aver creato un Connector e aver distribuito un agente Connector, è possibile creare endpoint per gestire la rete tra la propria sede IBM Cloud Satellite e i servizi, i server o le app che vengono eseguiti al di fuori di tale sede.

Creazione di endpoint tramite la CLI

  1. Eseguire il seguente comando per trovare l'ID del connettore Satellite.

    ibmcloud sat connector ls
    
  2. Esegui il comando per creare l'endpoint.

    ibmcloud sat endpoint create --dest-hostname HOSTNAME --connector-id ID --dest-type location --dest-port PORT --name NAME --source-protocol PROTOCOL [--dest-protocol PROTOCOL] [--sni SNI]
    
    --connector-id ID
    L'ID del connettore Satellite. Per trovare l'ID connettore, eseguire ibmcloud sat connector ls.
    --dest-hostname HOSTNAME
    Indicare il nome dominio completo (FQDN) o l'indirizzo IP accessibile esternamente della destinazione a cui connettersi. Per gli endpoint location, questo valore deve essere risolvibile e raggiungibile dagli host del piano di controllo per le posizioni Satellite oppure dalla posizione in cui è in esecuzione l'agente per Satellite Connector.
    --dest-port PORT
    Fornire la porta su cui la risorsa di destinazione è in ascolto per le richieste in entrata. Assicurarsi che la porta corrisponda al protocollo di destinazione.
    --dest-protocol PROTOCOL
    Specificare il protocollo della destinazione. Se non si specifica questa opzione, il protocollo di destinazione viene ereditato dal protocollo di origine. Opzioni disponibili: TCP, TLS.
    --dest-type TYPE
    Specificare dove viene eseguita la risorsa di destinazione: su IBM Cloud (cloud) oppure sul proprio sito Satellite (location). Opzioni disponibili: location, cloud.
    --name NAME
    Fornire un nome per l'endpoint.
    --sni SNI
    Specificare l'indicatore del nome del server se si imposta un protocollo di origine TLS o HTTPS e si desidera che venga aggiunto un nome host distinto all'handshake TLS.
    --source-protocol PROTOCOL
    Fornire il protocollo utilizzato dall'origine per connettere la risorsa di destinazione. Per ulteriori informazioni, consultare Protocolli di crittografia. Opzioni disponibili TCP, TLS, HTTP, HTTPS, HTTP-tunnel.
  3. Verificare che l'endpoint sia stato creato.

    ibmcloud sat endpoint ls --connector-id ID
    
  4. Se si crea un endpoint on-cloud specificando --dest-type=cloud, è necessario configurare l'agente Connector della propria sede per esporre la porta di destinazione alle richieste dell'applicazione di origine. Seguire la procedura descritta in Configurazione della porta dell'agente per gli endpoint on-cloud.

Comandi di esempio per la creazione di endpoint

Comando di esempio per creare un endpoint utilizzando i protocolli di origine HTTPS e di destinazione TLS e specificando un nome host SNI.

ibmcloud sat endpoint create --dest-hostname server1.mydomain.com --connector-id A1B0CDefgHilQ11ubmVjdG1yOiJjb11hnTdlWSRE1dnZla1szbDBsZyI --dest-type location --dest-port 443 --name myendpoint --source-protocol HTTPS --dest-protocol TLS --sni mydomain.com

Comando di esempio per creare un endpoint che utilizza il protocollo TCP.

ibmcloud sat endpoint create --dest-hostname server1.mydomain.com --connector-id A1B0CDefgHilQ11ubmVjdG1yOiJjb11hnTdlWSRE1dnZla1szbDBsZyI --dest-type location --dest-port 443 --name myendpoint --source-protocol TCP --dest-protocol TCP

Configurazione della porta dell'agente per gli endpoint on-cloud

Gli endpoint on-cloud consentono di accedere a risorse IBM Cloud al di fuori della propria rete di localizzazione Satellite. Questo include qualsiasi servizio pubblico o privato accessibile dall'account Satellite, come ad esempio un endpoint per IBM Cloud IAM o un bucket privato IBM Cloud Object Storage.

Le chiamate a un endpoint on-cloud dall'applicazione di origine vengono prima indirizzate all'agente Connector locale in esecuzione nella propria sede. Tuttavia, prima che l'applicazione sorgente possa accedere all'endpoint, è necessario assicurarsi che la porta di destinazione dell'endpoint, su cui l'agente è in ascolto, sia accessibile all'applicazione sorgente. Per le piattaforme container come Docker o Rancher, questo richiede di mappare la porta di destinazione dell'endpoint su una porta appropriata, accessibile ai client esterni al container in cui l'agente è in esecuzione. Seguire i passaggi per completare questo requisito.

  1. Esegui il comando per ottenere la porta di destinazione. Nell'output, trovare il numero di porta elencato nella colonna Address.

    ibmcloud sat endpoints --connector-id <connector ID>
    

    Output di esempio. In questo esempio, il numero della porta di destinazione è 29998.

    OK
    ID                                          Name      Destination Type   Address      Status
    A1A1AAaaaAAaA11AAAAAaA11aaaAaaaAaA_aaaaa    test123   cloud              TCP :29998   enabled
    
  2. Mappare la porta di destinazione al contenitore usando i passi appropriati per la piattaforma del contenitore. Per la maggior parte delle piattaforme, tra cui Docker e Rancher, è possibile usare l'opzione -p LISTENPORT:CONTAINERPORT quando si avvia l'agente Connector.

    Ad esempio, usando Docker, il comando seguente espone la porta 8443 per la porta di destinazione interna al contenitore dell'endpoint 29998.

    docker run -d -p 8443:29998 --env-file /root/agent/env-files/env.txt --env LOG_LEVEL=trace -v /root/agent/env-files:/agent-env-files icr.io/ibm/satellite-connector/satellite-connector-agent:latest
    

    Potrebbe anche essere necessario lavorare con la piattaforma e il sistema operativo del container per consentire il traffico esterno nel LISTENPORT scelto. Nell'esempio precedente, l' LISTENPORT e è 8443.

  3. Ora la risorsa è raggiungibile dall'indirizzo IP o dal nome DNS impostato nella piattaforma di container sulla porta 8443 in questo esempio.

Creazione di una regola dell'elenco di controllo degli accessi (ACL) dalla CLI

  1. Eseguire il seguente comando per creare una regola ACL per una o più sottoreti e, facoltativamente, legata a uno o più endpoint.

    ibmcloud sat acl create --connector-id ID --name NAME --subnet SUBNET [--subnet SUBNET ...] [--endpoint ENDPOINT ...]
    
    --connector-id ID
    L'ID del connettore Satellite. Per trovare l'ID connettore, eseguire ibmcloud sat connector ls.
    --name NAME
    Il nome dell'ACL.
    --subnet SUBNET
    Un blocco IP o CIDR consentito da questa ACL. Il valore deve essere interamente contenuto nei seguenti CIDR: 10.0.0.0/8, 161.26.0.0/16, 166.8.0.0/14, 172.16.0.0/12.
    --endpoint ENDPOINT
    Nome o ID di un endpoint da abilitare per questa ACL.
  2. Verificare che l'ACL sia stata creata.

    ibmcloud sat acl ls --connector-id ID
    
  3. È anche possibile aggiungere o rimuovere endpoint o sottoreti per una ACL esistente.

     ibmcloud sat acl endpoint add --connector-id ID --acl-id ID --endpoint ENDPOINT [--endpoint ENDPOINT ...]
     ibmcloud sat acl endpoint rm --connector-id ID --acl-id ID --endpoint ENDPOINT [--endpoint ENDPOINT ...]
     ibmcloud sat acl subnet add --connector-id ID --acl-id ID --subnet SUBNET [--subnet SUBNET ...]
     ibmcloud sat acl subnet rm --connector-id ID --acl-id ID --subnet SUBNET [--subnet SUBNET ...]
    

Esempi di comandi per la creazione di ACL

Esempio di comando per creare una regola ACL che consenta l'accesso della sottorete 10.123.76.192/26 all'endpoint 'myendpoint.

ibmcloud sat acl create --connector-id A1B0CDefgHilQ11ubmVjdG1yOiJjb11hnTdlWSRE1dnZla1szbDBsZyI --name myrule --subnet 10.123.76.192/26 --endpoint myendpoint

Output di esempio

OK
ACL created with ID A1B0CDefgHilQ11ubmVjdG1yOiJjb11hnTdlWSRE1dnZla1szbDBsZyI-Source-vbfea

Utilizzare l'ID della ACL appena creata per eseguire il seguente comando per aggiungere una seconda sottorete, 10.194.127.64/26, alla ACL.

ibmcloud sat acl subnet add --connector-id A1B0CDefgHilQ11ubmVjdG1yOiJjb11hnTdlWSRE1dnZla1szbDBsZyI --acl-id A1B0CDefgHilQ11ubmVjdG1yOiJjb11hnTdlWSRE1dnZla1szbDBsZyI-Source-vbfea --subnet 10.194.127.64/26

Eseguire il seguente comando per visualizzare l'elenco delle ACL. La ACL myrule ora include due sottoreti, 10.123.76.192/26 e 10.194.127.64/26.

ibmcloud sat acl ls --connector-id A1B0CDefgHilQ11ubmVjdG1yOiJjb11hnTdlWSRE1dnZla1szbDBsZyI
OK
ID                                                                      Name        Subnets                             Created
A1B0CDefgHilQ11ubmVjdG1yOiJjb11hnTdlWSRE1dnZla1szbDBsZyI-Source-vbfea   myrule      10.123.76.192/26,10.194.127.64/26   11 minutes ago

Creazione di endpoint dalla console

  1. Dalla console del Connettore, fare clic sul Connettore per il quale si desidera creare un endpoint.

  2. Fare clic sulla scheda Endpoint utente, quindi su Crea endpoint.

  3. Selezionare il tipo di endpoint.

    Ubicazione agente
    Risorsa di destinazione che opera sulla stessa rete dell’agente Connector.
    il Cloud
    Risorsa di destinazione disponibile all'indirizzo IBM Cloud.
  4. Fai clic su Next

  5. Nella pagina Dettagli risorsa, immettere i seguenti dettagli.

    Nome endpoint
    Assegna un nome al tuo endpoint.
    IP o FQDN di destinazione
    Immettere l'FQDN (Fully Qualified Domain Name, nome dominio completo) o l'indirizzo IP della risorsa di destinazione a cui si desidera effettuare la connessione.
    Porta di destinazione
    Immettere la porta su cui la risorsa di destinazione è in ascolto per le richieste in arrivo.
  6. Fai clic su Next.

  7. Nella pagina Protocollo, selezionare il protocollo che un'origine deve utilizzare per connettersi all'FQDN o all'indirizzo IP di destinazione. Questo protocollo deve corrispondere alla porta per la risorsa di destinazione. Per ulteriori informazioni, consultare Protocolli endpoint.

    • Se hai selezionato il TLS o HTTPS e si desidera richiedere l'autenticazione lato server del certificato di destinazione, selezionare la casella di controllo Verifica certificato di destinazione.
    • Se hai selezionato il TLS o HTTPS, ma la risorsa di destinazione è ancora in fase di sviluppo, puoi fare clic su Carica certificato per aggiungere il tuo file di certificato autofirmato. Questo file ssl.crt deve contenere il certificato pubblico, codificato in formato base-64, relativo al nome host della risorsa e non deve contenere la chiave privata del certificato ssl.key. Per creare un certificato autofirmato a scopo di test utilizzando OpenSSL,, consulta questa guida sul certificato autofirmato SSL.
    • Se hai selezionato il TLS o HTTPS e desideri consentire l'indicazione di un nome host separato durante la fase di handshake TLS della connessione alla risorsa, inserisci l'indicatore del nome del server (SNI).
  8. Nella pagina Elenchi di controllo accessi, fare clic su Crea regola.

  9. Facoltativo: nella pagina Regola ACL, immetti un Nome regola e immetti gli indirizzi IP privati di IBM Cloud dei client a cui sarà consentito connettersi all'endpoint. Questo valore può essere un singolo indirizzo IP, un blocco CIDR o un elenco separato da virgole. Il valore deve essere completamente contenuto nelle seguenti CIDR: 10.0.0.0/8, 161.26.0.0/16, 166.8.0.0/14, 172.16.0.0/12.

    Se non viene selezionata alcuna regola, qualsiasi client connesso alla rete privata IBM Cloud può utilizzare l'endpoint per connettersi alla risorsa di destinazione in esecuzione nella propria sede.

  10. Nella pagina Impostazioni di collegamento, impostare un timeout di inattività compreso tra 1 e 600.

  11. Fare clic su Crea endpoint.

Creazione di una regola dell'elenco di controllo degli accessi (ACL) per il proprio endpoint

  1. Dall'area Satellite console, fare clic sul connettore per il quale si desidera creare una regola ACL.

  2. Nella pagina Panoramica del connettore, fare clic sulla scheda Elenco di controllo accessi, quindi fare clic su Crea regola.

  3. Nella pagina delle regole ACL, segui questi passaggi.

    1. Inserisci il nome della regola.

    2. Immettere gli indirizzi IP dei client a cui è consentito connettersi all'endpoint. Questo valore può essere un singolo indirizzo IP, un blocco CIDR o un elenco separato da virgole. Il valore deve essere completamente contenuto nelle seguenti CIDR: 10.0.0.0/8, 161.26.0.0/16, 166.8.0.0/14, 172.16.0.0/12.

      Se non viene selezionata alcuna regola, qualsiasi client connesso alla rete privata IBM Cloud può utilizzare l'endpoint per connettersi alla risorsa di destinazione in esecuzione nella propria sede.

    3. Selezionare l'endpoint (o più endpoint) a cui questa regola deve controllare l'accesso nella propria sede.

  4. Fai clic su Create