Configura la connettività di rete alle origini Amazon RDS per Oracle

Questa pagina descrive come configurare la connettività di rete alle origini Amazon RDS per Oracle per le migrazioni eterogenee da Oracle a Cloud SQL per PostgreSQL con Database Migration Service.

Esistono tre metodi diversi che puoi utilizzare per configurare la connettività di rete necessaria per le migrazioni dalle origini Amazon RDS for Oracle:

Per saperne di più sulla connettività di rete del database di origine, consulta Panoramica dei metodi di networking di origine.

Configurare la connettività della lista consentita IP

Per utilizzare il metodo di connettività della lista consentita IP pubblici:

  1. Nella console di gestione AWS, esegui i seguenti passaggi:
    1. Assicurati che il database Amazon RDS di origine sia configurato per le connessioni IP pubbliche.
    2. Identifica il nome dell'endpoint e il numero di porta. Devi inserire questi valori quando crei il profilo di connessione.

    Per saperne di più sulla preparazione dell'istanza Amazon RDS for Oracle, consulta la sezione Connessione all'istanza DB Oracle nella documentazione di Amazon RDS.

  2. Crea un gruppo di sicurezza che consenta il traffico da Database Migration Service al tuo VPC Amazon RDS. Consulta Fornisci l'accesso all'istanza DB nel VPC creando un gruppo di sicurezza.

    Assicurati di consentire tutti gli indirizzi IP pubblici di Database Migration Service per la regione in cui crei il job di migrazione.

  3. In una fase successiva, quando crei il profilo di connessione di origine, procedi nel seguente modo:
    1. Nella sezione Definisci i dettagli di connessione, utilizza il nome dell'endpoint dell'istanza per l'IP del database di origine.
    2. Nella sezione Definisci metodo di connettività, seleziona Lista consentita IP.

Configura la connettività tramite un tunnel SSH di forwarding

Per connetterti al database di origine con un tunnel Secure Shell (SSH):

  1. Avvia un'istanza Amazon EC2 da utilizzare come tunnel SSH di forwarding dedicato. Assicurati di configurarlo nello stesso Amazon VPC in cui si trova l'origine Amazon RDS per Oracle.

    Per saperne di più, consulta la guida introduttiva ad Amazon EC2 nella documentazione di Amazon.

  2. Connettiti all'istanza EC2 e configura il tunnel SSH. Segui questi passaggi:
    1. Crea un account utente separato e dedicato per Database Migration Service per connettersi come:
      adduser TUNNEL_ACCOUNT_USERNAME
    2. Limita l'accesso alla shell per l'account di Database Migration Service per aumentare la sicurezza:
      usermod -s /usr/sbin/nologin TUNNEL_ACCOUNT_USERNAME
    3. Decidi quale metodo di autenticazione vuoi che Database Migration Service utilizzi quando si connette al tunnel.

      Puoi utilizzare una password semplice o generare chiavi SSH nel formato PEM che puoi caricare in Database Migration Service quando crei il profilo di connessione di origine.

      • Se vuoi utilizzare una password, non devi configurare nulla di aggiuntivo. Ricorda la password che hai creato per l'account TUNNEL_ACCOUNT_USERNAME.
      • Se vuoi utilizzare l'autenticazione basata su chiave, devi generare una coppia di chiavi pubblica-privata. Ad esempio, puoi utilizzare l'utilità ssh-keygen:
        1. Genera la coppia di chiavi:
              ssh-keygen -m PEM -f YOUR_KEY_NAME
              
        2. Copia la chiave pubblica (YOUR_KEY_NAME.pub) nella directory ~/.ssh/ sul server tunnel.
        3. Salva la chiave privata. Dovrai caricarlo in un secondo momento in Database Migration Service quando crei il profilo di connessione di origine.
    4. Modifica il file /etc/ssh/sshd_config per configurare il tunnel SSH in modo che corrisponda ai requisiti della tua organizzazione. Ti consigliamo di utilizzare le seguenti impostazioni:
      # Only allow the Database Migration Service user to connect.
      AllowUsers TUNNEL_ACCOUNT_USERNAME
      
      # Send keep-alive packets every 60 seconds to ensure that
      # the tunnel doesn't close during the migration
      ServerAliveInterval=60
      
      # Optional: Force key-based authentication
      PasswordAuthentication no
      
      # Enables Database Migration Service to connect from a different host
      PermitTunnel yes
      GatewayPorts yes
    5. Esegui il comando ssh per avviare il tunnel.

      Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

      • TUNNEL_SERVER_SSH_PORT con il numero di porta in cui il server è in attesa di connessioni SSH.
      • SOURCE_DATABASE_PRIVATE_IP con l'indirizzo IP privato del database di origine. Il server SSH deve essere in grado di raggiungere questo IP.
      • SOURCE_DATABASE_PORT con il numero di porta in cui il database di origine è in attesa di connessioni. Il numero di porta predefinito per le connessioni TCP su Oracle è 1433.
      • USERNAME con il nome dell'account utente che eseguirà il tunnel. Si tratta di un account separato da TUNNEL_ACCOUNT_USERNAME.
      • TUNNEL_SERVER_PUBLIC_IP con l'IP pubblico del server del tunnel SSH.
      ssh -N -L \
      TUNNEL_SERVER_SSH_PORT:SOURCE_DATABASE_PRIVATE_IP:SOURCE_DATABASE_PORT \
      USERNAME@TUNNEL_SERVER_PUBLIC_IP
  3. In una fase successiva, quando crei il profilo di connessione di origine, procedi nel seguente modo:
    1. Nella sezione Definisci i dettagli di connessione, utilizza il nome dell'endpoint dell'istanza per l'IP del database di origine.
    2. Nella sezione Definisci metodo di connettività, seleziona Tunnel SSH di forwarding.
    3. Fornisci l'indirizzo IP pubblico o il nome host del server SSH.
    4. Specifica la porta che hai designato per le connessioni SSH sul server del tunnel.
    5. Inserisci il nome utente dell'utente creato per Database Migration Service per la connessione (ovvero il valore di TUNNEL_ACCOUNT_USERNAME).
    6. Nel menu a discesa Metodo di autenticazione, seleziona il metodo di autenticazione che vuoi utilizzare con TUNNEL_ACCOUNT_USERNAME:
      • Se vuoi utilizzare la password dell'utente, seleziona Password e inserisci la password TUNNEL_ACCOUNT_USERNAME nel modulo.
      • Se hai configurato il server SSH per utilizzare l'autenticazione basata su chiavi, seleziona Coppia di chiavi privata/pubblica e carica la chiave privata che hai generato con il comando ssh-keygen.

Configura la connettività privata con il peering VPC

Per utilizzare la connettività privata con le origini Amazon RDS per Oracle, devi aver configurato Cloud VPN o Cloud Interconnect nella stessa rete VPC in cui intendi creare la configurazione di connettività privata per Database Migration Service. Se non riesci a creare la configurazione di connettività privata nella rete VPC in cui hai Cloud VPN o Cloud Interconnect, devi anche disporre di una macchina virtuale (VM) proxy inverso su Compute Engine per stabilire la connessione.

Se non puoi utilizzare Cloud VPN o Cloud Interconnect, ti consigliamo di utilizzare in alternativa i metodi di connettività tunnel SSH di forwarding o lista consentita di IP.

Per utilizzare la connettività privata con il peering VPC e Cloud VPN, segui questi passaggi:

  1. Configura la connettività diretta con Cloud VPN alla tua istanza Amazon RDS per PostgreSQL.

    Per ulteriori informazioni, consulta Creare connessioni VPN ad alta disponibilità tra Google Cloud e AWS nella documentazione di Cloud VPN.

  2. (Facoltativo) Se non riesci a creare la configurazione di connettività privata nella stessa rete VPC in cui hai Cloud VPN, crea una macchina virtuale (VM) proxy inverso su Compute Engine per inoltrare le connessioni tra i VPC.
  3. In Database Migration Service, crea una configurazione di connettività privata per il peering con la rete VPC in cui si trova Cloud VPN.
  4. In una fase successiva, quando crei il profilo di connessione di origine, procedi nel seguente modo:
    1. Nella sezione Definisci i dettagli della connessione, inserisci l'IP privato dell'istanza Amazon RDS di origine.
    2. Nella sezione Definisci metodo di connettività, seleziona Connettività privata (peering VPC).
    3. Dal menu a discesa, seleziona la configurazione di connettività privata che hai creato nel passaggio precedente.