Vous pouvez migrer vos données sur des réseaux privés en établissant une connectivité entre les adresses IP privées de vos bases de données source et de destination. Pour configurer des adresses IP privées pour votre base de données de destination, vous pouvez utiliser l'accès privé aux services ou Private Service Connect.
Chaque méthode de connexion présente des avantages et des inconvénients distincts. Veillez à choisir l'approche qui correspond le mieux à votre scénario. Pour en savoir plus sur l'accès aux services privés et Private Service Connect dans AlloyDB pour PostgreSQL, consultez Présentation des adresses IP privées dans la documentation AlloyDB pour PostgreSQL.
Configurer la connectivité à l'aide de l'appairage de VPC
L'appairage de VPC consiste à configurer les VPC pour qu'ils communiquent entre eux. Si votre source se trouve dans le même projet Google Cloud dans AlloyDB ou Compute Engine, cela permet à la destination de communiquer directement avec la source. Si votre source est accessible avec un VPN, configurez le réseau source et Cloud VPN pour qu'ils communiquent entre eux avec le VPN. Pour en savoir plus, consultez Connecter des VPC via des VPN.L'enchaînement de VPC n'est pas accepté. Si votre source se trouve dans un autre projet Google Cloud , consultez la présentation du VPC partagé pour savoir comment connecter les ressources de plusieurs projets à un réseau VPC commun pour l'appairage de réseaux VPC.
Le pare-feu du serveur de base de données source doit être configuré pour autoriser l'intégralité de la plage d'adresses IP internes allouée à la connexion de service privée du réseau VPC que l'instance de destination AlloyDB va utiliser.
Pour trouver la plage d'adresses IP internes dans la console, procédez comme suit :
Accédez à la page "Réseaux VPC" dans la console Google Cloud .
Sélectionnez le réseau VPC que vous souhaitez utiliser.
Sélectionnez l'onglet CONNEXION DE SERVICE PRIVÉE.
pg_hba.conf
ou les définitions des groupes de sécurité dans AWS RDS sur la base de données source sont mises à jour de sorte à accepter les connexions provenant de la plage d'adresses IP du VPC AlloyDB.
L'appairage de VPC utilise l'accès aux services privés, qui doit être configuré une seule fois pour chaque projet utilisant l'appairage de VPC. Une fois que vous avez établi private services access
, testez votre tâche de migration pour vérifier la connectivité.
Configurer l'accès aux services privés pour Database Migration Service
Si vous utilisez une adresse IP privée pour l'une de vos instances Database Migration Service, vous n'avez besoin de configurer l'accès aux services privés qu'une seule fois pour chaque projet Google Cloud disposant ou devant disposer d'une connexion à une instance Database Migration Service.
La mise en œuvre d'un accès aux services privés nécessite le rôle IAM compute.networkAdmin. Une fois l'accès aux services privés établi pour votre réseau, vous n'avez plus besoin du rôle IAM compute.networkAdmin
pour configurer une instance de sorte qu'elle utilise une adresse IP privée.
L'accès aux services privés nécessite l'allocation d'une plage d'adresses IP internes, puis la création d'une connexion privée et l'exportation d'une route personnalisée.
Une plage allouée est un bloc CIDR réservé qui ne peut pas être utilisé sur votre réseau VPC local. Lorsque vous créez une connexion privée, vous spécifiez une allocation. La connexion privée relie votre réseau VPC au réseau VPC sous-jacent (producteur de services).
Lorsque vous créez une connexion privée, le réseau VPC et le réseau du producteur de services n'échangent que des routes de sous-réseau. Vous devez exporter les routes personnalisées du réseau VPC afin que le réseau du fournisseur de services puisse les importer et acheminer correctement le trafic vers votre réseau sur site.
Une configuration d'appairage établit l'intention de se connecter à un autre réseau VPC. Votre réseau et l'autre réseau ne sont pas connectés tant qu'ils ne disposent pas tous les deux d'une configuration d'appairage avec l'autre réseau. Une fois que l'autre réseau possède une configuration d'appairage avec votre réseau, l'état de l'appairage devient "ACTIF" dans les deux réseaux, qui sont alors connectés. Si aucune configuration d'appairage correspondante n'existe sur l'autre réseau, l'état reste sur INACTIVE, et votre réseau n'est pas connecté à l'autre.
Une fois connectés, les deux réseaux échangent toujours des routes de sous-réseau. Si vous le souhaitez, vous pouvez importer des routes personnalisées statiques et dynamiques à partir d'un réseau appairé si celui-ci a été configuré pour les exporter.
Le processus de configuration de l'accès aux services privés s'effectue en deux étapes :
- Affecter une plage d'adresses IP La plage englobe toutes vos instances.
- Créer une connexion privée entre votre réseau VPC et le réseau du producteur de services
Affecter une plage d'adresses IP
Console
- Accédez à la page "Réseaux VPC" dans la console Google Cloud .
- Sélectionnez le réseau VPC que vous souhaitez utiliser.
- Sélectionnez l'onglet Connexion au service privé.
- Sélectionnez l'onglet Plages d'adresses IP allouées pour les services.
- Cliquez sur Allouer une plage d'adresses IP.
Dans le champ Nom de la plage allouée, spécifiez
google-managed-services-VPC_NETWORK_NAME
, oùVPC_NETWORK_NAME
est le nom du réseau VPC que vous connectez (par exemple,google-managed-services-default
). Le champ Description est facultatif.Cliquez sur ALLOUER pour créer la plage allouée.
gcloud
Effectuez l'une des opérations suivantes :
Pour spécifier une plage d'adresses et une longueur de préfixe (masque de sous-réseau), utilisez les options
addresses
etprefix-length
. Par exemple, pour allouer le bloc CIDR192.168.0.0/16
, spécifiez192.168.0.0
pour l'adresse et16
pour la longueur du préfixe.gcloud compute addresses create google-managed-services-[VPC_NETWORK_NAME] \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=16 \ --network=[VPC_NETWORK_NAME]
Pour spécifier une longueur de préfixe (masque de sous-réseau) uniquement, utilisez simplement l'option
prefix-length
. Si vous ne spécifiez pas de plage d'adresses, Google Cloudsélectionne automatiquement une plage d'adresses non utilisée sur votre réseau VPC. L'exemple suivant choisit une plage d'adresses IP non utilisée avec une longueur de préfixe de16
bits.gcloud compute addresses create google-managed-services-[VPC_NETWORK_NAME] \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --network=[VPC_NETWORK_NAME]
Remplacez [VPC_NETWORK_NAME]
par le nom de votre réseau VPC, tel que my-vpc-network
.
L'exemple suivant alloue une plage d'adresses IP permettant aux ressources du réseau VPC my-vpc-network
de se connecter à des instances Database Migration Service à l'aide d'une adresse IP privée.
gcloud compute addresses create google-managed-services-my-vpc-network \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --network=my-vpc-network \ --project=my-project
Créer une connexion privée
Console
- Accédez à la page "Réseaux VPC" dans la console Google Cloud .
- Sélectionnez le réseau VPC que vous souhaitez utiliser.
- Sélectionnez l'onglet Connexion au service privé.
- Sélectionnez l'onglet Connexions privées aux services.
- Cliquez sur Créer une connexion pour créer une connexion privée entre votre réseau et un producteur de services.
- Pour l'allocation attribuée, sélectionnez une ou plusieurs plages attribuées existantes qui ne sont pas utilisées par d'autres producteurs de services, puis cliquez sur OK.
- Cliquez sur CONNECTER pour créer la connexion.
gcloud
Créez une connexion privée.
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=google-managed-services-[VPC_NETWORK_NAME] \ --network=[VPC_NETWORK_NAME] \ --project=[PROJECT_ID]
Remplacez
[VPC_NETWORK_NAME]
par le nom de votre réseau VPC et[PROJECT_ID]
par l'ID du projet qui contient votre réseau VPC.La commande lance une opération longue. Elle affiche un nom d'opération.
Vérifiez si l'opération a réussi.
gcloud services vpc-peerings operations describe \ --name=[OPERATION_NAME]
Remplacez
[OPERATION_NAME]
par le nom de l'opération renvoyé à l'étape précédente.
Vous pouvez spécifier plusieurs plages allouées lorsque vous créez une connexion privée. Par exemple, si une plage est épuisée, vous pouvez affecter d'autres plages allouées. Le service utilise les adresses IP de toutes les plages fournies dans l'ordre que vous avez spécifié.
Exporter des routes personnalisées
Mettez à jour une connexion d'appairage de réseaux VPC existante pour indiquer si votre réseau VPC exporte ou importe des routes personnalisées vers ou depuis le réseau VPC appairé.
Votre réseau importe des routes personnalisées uniquement si le réseau appairé exporte également des routes personnalisées, et le réseau appairé ne reçoit des routes personnalisées que s'il en importe.
Console
- Accédez à la page "Appairage de réseaux VPC" dans la console Google Cloud .
Accéder à la page "Appairage de réseaux VPC" - Sélectionnez la connexion d'appairage à mettre à jour.
- Cliquez sur MODIFIER.
- Mettez à jour vos paramètres de route personnalisée en sélectionnant ou en désélectionnant Importer les routes personnalisées ou Exporter les routes personnalisées.
- Cliquez sur ENREGISTRER.
gcloud
Mettez à jour la connexion d'appairage pour vos paramètres d'importation ou d'exportation de routes personnalisées.
gcloud compute networks peerings update [PEERING-NAME] \ --network=[MY-LOCAL-NETWORK] \ [--[no-]import-custom-routes] \ [--[no-]export-custom-routes]
Attribuer le rôle roles/servicenetworking.serviceAgent
gcloud beta services identity create \
--service=servicenetworking.googleapis.com \
--project=project-id
gcloud projects add-iam-policy-binding project-id \
--member="service-account-prefix@service-networking.iam.gserviceaccount.com" \
--role="roles/servicenetworking.serviceAgent"
Configurer la connectivité à l'aide d'interfaces Private Service Connect
Pour les migrations AlloyDB pour PostgreSQL homogènes, AlloyDB pour PostgreSQL peut utiliser des interfaces Private Service Connect pour établir une connexion sur des réseaux privés. Cette méthode de connectivité n'est disponible que lorsque vous migrez vers une instance existante.
Pour utiliser les interfaces Private Service Connect, procédez comme suit :
Créez un cluster AlloyDB pour PostgreSQL compatible avec Private Service Connect et une instance principale dans ce cluster. Consultez Activer Private Service Connect dans la documentation AlloyDB pour PostgreSQL.
Configurez Private Service Connect pour la connectivité sortante sur votre instance. Consultez Configurer la connectivité sortante dans la documentation AlloyDB pour PostgreSQL.
Assurez-vous que le réseau VPC dans lequel vous créez l'association de réseau est celui dans lequel vous pouvez accéder à l'adresse IP privée de votre base de données source.
À une étape ultérieure, lorsque vous créerez le job de migration, sélectionnez Interface PSC comme méthode de connectivité.