Configurer la connectivité réseau aux sources Oracle gérées

Cette page explique comment configurer la connectivité réseau aux offres de bases de données Oracle gérées dans le cloud pour les migrations hétérogènes d'Oracle vers Cloud SQL pour PostgreSQL avec Database Migration Service.

Les bases de données Oracle sont disponibles en tant que service géré auprès de nombreux fournisseurs de services cloud. Database Migration Service n'offre pas de compatibilité ciblée pour des fournisseurs de services cloud spécifiques (à l'exception des sources Amazon RDS pour Oracle), mais vous pouvez migrer depuis n'importe quel service de base de données Oracle géré, à condition de pouvoir établir la connectivité réseau nécessaire.

Vous pouvez utiliser trois méthodes différentes pour les services de base de données Oracle gérés :

Pour en savoir plus sur la connectivité réseau de la base de données source, consultez Présentation des méthodes de mise en réseau source.

Configurer la connectivité de la liste d'autorisation d'adresses IP

Pour utiliser la méthode de connectivité par liste d'autorisation d'adresses IP publiques, procédez comme suit :

  1. Assurez-vous que votre base de données source dispose d'une adresse IP accessible depuis l'Internet public. Vous n'avez pas besoin d'utiliser l'adresse IP pour vous connecter. Si un enregistrement DNS est associé à l'adresse IP, vous pouvez l'utiliser à la place.
  2. Créez une règle de pare-feu entrante sur votre serveur de base de données source pour accepter les connexions provenant de Database Migration Service. Utilisez la configuration suivante :
    1. Pour le type de règle, utilisez port.
    2. Pour la plage d'adresses IP autorisées, ajoutez toutes les adresses IP publiques de Database Migration Service pour la région dans laquelle vous créez le job de migration.
    3. Définissez le protocole sur TCP.
    4. Définissez le numéro de port associé à la règle sur le port sur lequel votre base de données source écoute les connexions entrantes. Il s'agit du même numéro de port que celui que vous devez saisir dans le profil de connexion source.

      Le serveur Oracle utilise par défaut le port 1521.

    La procédure de configuration des règles de pare-feu varie en fonction du logiciel serveur que vous utilisez. Pour en savoir plus, consultez la documentation de votre produit de pare-feu.

  3. Plus tard, lorsque vous créerez le profil de connexion source, sélectionnez Liste d'autorisation d'adresses IP dans la section Définir une méthode de connectivité.

Configurer la connectivité via un tunnel SSH de transfert

Pour vous connecter à votre base de données source à l'aide d'un tunnel SSH (Secure Shell), procédez comme suit :

  1. Créez une machine virtuelle (VM) capable d'ouvrir le tunnel entre Database Migration Service et votre base de données source. Le serveur de tunnel peut être n'importe quel hôte Unix/Linux qui :
    • Accessible depuis l'Internet public via SSH.
    • Peut accéder à l'adresse IP privée de votre base de données source.
  2. Sur le serveur SSH, créez un compte utilisateur que Database Migration Service pourra utiliser pour se connecter au tunnel SSH.

    Par exemple, sur un système Ubuntu, vous pouvez utiliser les commandes suivantes :

    1. Créez un compte utilisateur :
      adduser TUNNEL_ACCOUNT_USERNAME
    2. Limitez l'accès au shell pour le compte utilisateur afin d'améliorer la sécurité :
      usermod -s /usr/sbin/nologin TUNNEL_ACCOUNT_USERNAME
  3. Choisissez la méthode d'authentification que Database Migration Service doit utiliser pour se connecter au tunnel.

    Vous pouvez utiliser un mot de passe ou générer des clés SSH au format PEM que vous pourrez ensuite importer dans Database Migration Service lorsque vous créerez le profil de connexion source.

    • Si vous souhaitez utiliser un mot de passe, vous n'avez pas besoin de configurer d'autres éléments. Mémorisez le mot de passe que vous avez créé pour le compte TUNNEL_ACCOUNT_USERNAME.
    • Si vous souhaitez utiliser l'authentification basée sur une clé, vous devez générer une paire de clés privée/publique. Par exemple, vous pouvez utiliser l'utilitaire ssh-keygen :
      1. Générez la paire de clés :
        ssh-keygen -m PEM -f YOUR_KEY_NAME
      2. Copiez la clé publique (YOUR_KEY_NAME.pub) dans le répertoire ~/.ssh/ de votre serveur de tunnel.
      3. Enregistrez la clé privée. Vous devrez l'importer ultérieurement dans Database Migration Service lorsque vous créerez le profil de connexion source.
  4. Modifiez le fichier /etc/ssh/sshd_config pour configurer le tunnel SSH de transfert en fonction des exigences de votre organisation. Nous vous recommandons d'utiliser les paramètres suivants :
    # 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. Exécutez la commande ssh pour démarrer le tunnel.

    Avant d'utiliser les données de commande ci-dessous, effectuez les remplacements suivants :

    • TUNNEL_SERVER_SSH_PORT par le numéro de port sur lequel votre serveur écoute les connexions SSH.
    • SOURCE_DATABASE_PRIVATE_IP par l'adresse IP privée de votre base de données source. Le serveur SSH doit pouvoir accéder à cette adresse IP.
    • SOURCE_DATABASE_PORT par le numéro de port sur lequel votre base de données source écoute les connexions. Le numéro de port par défaut pour les connexions TCP sur Oracle est 1433.
    • USERNAME par le nom du compte utilisateur qui exécutera le tunnel. Il s'agit d'un compte distinct de TUNNEL_ACCOUNT_USERNAME.
    • TUNNEL_SERVER_PUBLIC_IP par l'adresse IP publique de votre serveur de tunnel SSH.
    ssh -N -L \
    TUNNEL_SERVER_SSH_PORT:SOURCE_DATABASE_PRIVATE_IP:SOURCE_DATABASE_PORT \
    USERNAME@TUNNEL_SERVER_PUBLIC_IP
  6. Créez une règle de pare-feu entrante sur votre tunnel SSH pour accepter les connexions provenant des adresses IP publiques de Database Migration Service pour la région dans laquelle vous créez le job de migration.
  7. Plus tard, lorsque vous créerez le profil de connexion source, procédez comme suit :
    1. Dans la section Définir les détails de connexion, saisissez l'adresse IP privée de votre instance Oracle source.
    2. Dans la section Définir la méthode de connectivité, sélectionnez Tunnel SSH de transfert.
    3. Indiquez l'adresse IP publique ou le nom d'hôte de votre serveur SSH.
    4. Indiquez le port que vous avez désigné pour les connexions SSH sur le serveur du tunnel.
    5. Saisissez le nom d'utilisateur que vous avez créé pour que Database Migration Service se connecte (c'est-à-dire la valeur de TUNNEL_ACCOUNT_USERNAME).
    6. Dans le menu déroulant Méthode d'authentification, sélectionnez la méthode d'authentification que vous souhaitez utiliser avec l'utilisateur TUNNEL_ACCOUNT_USERNAME :
      • Si vous souhaitez utiliser le mot de passe utilisateur, sélectionnez Mot de passe et saisissez le mot de passe TUNNEL_ACCOUNT_USERNAME dans le formulaire.
      • Si vous avez configuré votre serveur SSH pour qu'il utilise l'authentification basée sur une clé, sélectionnez Paire de clés privée/publique et importez la clé privée que vous avez générée avec la commande ssh-keygen.

Configurer la connectivité privée avec l'appairage de VPC

Pour utiliser la connectivité privée avec des sources Oracle gérées dans le cloud, vous devez configurer Cloud VPN ou Cloud Interconnect dans le même réseau VPC que celui où vous prévoyez de créer la configuration de connectivité privée pour Database Migration Service. Si vous ne pouvez pas créer la configuration de connectivité privée dans le réseau VPC où se trouve votre Cloud VPN ou Cloud Interconnect, vous aurez également besoin d'une machine virtuelle (VM) de proxy inverse sur Compute Engine pour établir la connexion.

Si vous ne pouvez pas utiliser Cloud VPN ni Cloud Interconnect, nous vous recommandons d'utiliser plutôt les méthodes de connectivité par tunnel SSH de transfert ou par liste d'autorisation d'adresses IP.

Pour utiliser la connectivité privée avec l'appairage de VPC et Cloud VPN, procédez comme suit :

  1. Configurez une connectivité directe avec Cloud VPN vers votre source Oracle.

    Selon l'architecture de votre réseau, vous devrez peut-être configurer des passerelles VPN supplémentaires dans votre système. Pour en savoir plus, consultez la section Créer une passerelle VPN haute disponibilité vers une passerelle VPN de pairs dans la documentation Cloud VPN.

  2. Facultatif : Si vous ne pouvez pas créer la configuration de connectivité privée dans le même réseau VPC que celui où vous disposez de Cloud VPN, créez une machine virtuelle (VM) de proxy inverse sur Compute Engine pour transférer les connexions entre les VPC.
  3. Dans Database Migration Service, créez une configuration de connectivité privée à appairer au réseau VPC où se trouve votre Cloud VPN.
  4. Plus tard, lorsque vous créerez le profil de connexion source, procédez comme suit :
    1. Dans la section Définir les détails de connexion, saisissez l'adresse IP privée de votre source Oracle.
    2. Dans la section Définir la méthode de connectivité, sélectionnez Connectivité privée (appairage de VPC).
    3. Dans le menu déroulant, sélectionnez la configuration de connectivité privée que vous avez créée à l'étape précédente.