Une connexion réseau privée, établie à l'aide de Google Cloud interconnexion cross-cloud ou interconnexion partenaire, peut offrir des avantages considérables pour le transfert de données entre AWS ou Azure et Cloud Storage :
- Optimisation potentielle des coûts : vous pouvez potentiellement réduire les coûts de sortie. Cela peut être avantageux pour les clients disposant d'interconnexions existantes ou effectuant des transferts de données volumineux ou récurrents, ce qui permet de réaliser des économies substantielles à long terme.
- Bande passante réseau dédiée : l'utilisation d'une interconnexion peut offrir un débit constant et de grande capacité, ainsi qu'une latence plus faible, ce qui est essentiel pour les migrations volumineuses et urgentes, ainsi que pour la synchronisation des données en temps réel.
- Répondre aux besoins de conformité : idéal pour les charges de travail où les exigences réglementaires imposent de conserver les données hors de l'Internet public. Cette fonctionnalité vous aide à transférer des données de manière privée à l'aide de l'interconnexion pour assurer la conformité, respecter la souveraineté des données et simplifier les audits.
Présentation
Ce document vous explique comment :
- Commander et configurer interconnexion cross-cloud
- Créer un point de terminaison dans S3 ou Azure
- Configurer un équilibreur de charge réseau proxy interne régional avec une connectivité hybride
- Enregistrer votre équilibreur de charge dans l'Annuaire des services
- Créer un transfert
- Confirmer que le trafic utilise l'interconnexion
Autorisations requises
Vous aurez besoin d'autorisations spécifiques pour remplir chacune des sections suivantes. Ces autorisations sont listées dans la documentation de cet ensemble d'étapes.
Options d'interconnexion
Service de transfert de stockage peut transférer des données depuis AWS et Azure via Cross-Cloud Interconnect (CCI) ou Partner Interconnect.
Les étapes ci-dessous sont spécifiques à CCI, mais s'appliquent également lors de la configuration de la mise en réseau pour interconnexion partenaire.
Commander et configurer interconnexion cross-cloud
Une interconnexion Cross-Cloud Interconnect est une connexion physique dédiée entre Google Cloud et d'autres fournisseurs de services cloud.
Si vous disposez déjà d'une connexion CCI, passez à la section suivante.
AWS
Suivez les instructions pour vous connecter à Amazon Web Services afin de commander et de configurer une nouvelle interconnexion cross-cloud. Vous aurez besoin des autorisations appropriées pour configurer la mise en réseau dans Google Cloud et dans AWS.
Regardez une vidéo expliquant comment commander et configurer une CCI entre AWS et Google Cloud.
Azure
Suivez les instructions pour vous connecter à Microsoft Azure afin de commander et configurer une nouvelle interconnexion cross-cloud. Vous aurez besoin des autorisations appropriées pour configurer la mise en réseau dans Google Cloud et dans Azure.
Regardez une vidéo expliquant comment commander et configurer une CCI entre Azure et Google Cloud.
Si votre bucket Cloud Storage est un bucket régional, vous devez configurer le CCI dans la même région que votre bucket pour réduire la latence du réseau.
Créer un point de terminaison dans S3 ou Azure
Créez un point de terminaison dans votre compte S3 ou Azure.
AWS
Dans votre compte Amazon Web Services, créez un point de terminaison VPC qui se connecte à S3.
Suivez ces instructions AWS : Accéder à un service AWS à l'aide d'un point de terminaison VPC d'interface pour créer le point de terminaison.
Azure
Configurez un point de terminaison privé sur le compte de stockage dans Azure en suivant ces étapes.
Le service de transfert de stockage nécessite le point de terminaison *.blob.core.microsoft.net. Le point de terminaison *.dfs.core.microsoft.net n'est pas accepté.
Une fois le point de terminaison créé, notez son adresse IP. Vous devrez spécifier l'adresse IP lorsque vous créerez votre équilibreur de charge dans la section suivante.
Configurer un équilibreur de charge réseau proxy interne régional avec une connectivité hybride
Dans Google Cloud, configurez un équilibreur de charge réseau proxy interne régional avec une connectivité hybride. Cela fournit une adresse IP interne réservée aux clients exécutés dans le même réseau VPC que l'équilibreur de charge, et qui achemine le trafic vers les points de terminaison VPC S3 ou les points de terminaison privés Azure Storage que vous avez créés dans la section précédente.
Vous devez créer l'équilibreur de charge dans le même projet et le même réseau VPC que le rattachement de VLAN qui sert d'interface avec Cloud Interconnect. Bien que l'interconnexion elle-même puisse se trouver dans un autre projet de la même organisation, le rattachement doit se trouver dans le même VPC et la même région que l'équilibreur de charge.
Spécifiez l'adresse IP du point de terminaison VPC S3 ou du point de terminaison privé Azure Storage lorsque vous atteignez les étapes intitulées Ajouter des points de terminaison au NEG de connectivité hybride.
Notez l'adresse IP et le port de l'interface du NLB, car vous devrez les spécifier dans la section suivante.
Valider la connexion
Avant de continuer, nous vous recommandons de vérifier que l'équilibreur de charge peut se connecter au point de terminaison de stockage à distance.
Pour ce faire :
- Créez une VM Compute Engine dans le même réseau VPC que votre équilibreur de charge.
À partir de la VM, utilisez
curlpour tester la connectivité à l'adresse IP et au port de l'équilibreur de charge :curl -v --resolve HOSTNAME:LOAD_BALANCER_IP:PORT https://HOSTNAMEOù :
<var>HOSTNAME</var>est le nom d'hôte de votre fournisseur de stockage source.- Pour AWS S3, utilisez le point de terminaison de l'API S3 pour la région de votre bucket, par exemple
s3.us-west-1.amazonaws.com. - Pour Azure Storage, utilisez le point de terminaison Blob de votre compte de stockage, par exemple
mystorageaccount.blob.core.windows.net.
- Pour AWS S3, utilisez le point de terminaison de l'API S3 pour la région de votre bucket, par exemple
<var>PORT</var>est le port que vous avez configuré sur la règle de transfert de l'équilibreur de charge, généralement443.<var>LOAD_BALANCER_IP</var>est l'adresse IP de l'interface de votre équilibreur de charge.
Une réponse du point de terminaison distant, même une erreur, indique que la connectivité a réussi. Un délai de connexion expiré indique une erreur de configuration de votre réseau que vous devez résoudre avant de continuer.
Enregistrer votre équilibreur de charge réseau dans l'Annuaire des services
Enregistrez l'équilibreur de charge réseau dans l'Annuaire des services. Le service de transfert de stockage utilise l'Annuaire des services pour résoudre l'adresse de l'équilibreur de charge et s'y connecter directement.
Suivez les instructions pour enregistrer un équilibreur de charge interne. Utilisez l'adresse IP et le port de l'équilibreur de charge que vous avez créé lorsque vous avez spécifié la règle de transfert.
Une fois le service créé, notez son lien personnel. Il utilise le format projects/{project_id}/locations/{location}/namespaces/{namespace}/services/{service}.
Vous aurez besoin de cette valeur lorsque vous créerez la tâche de transfert.
Créer un transfert
Accordez les autorisations suivantes à l'agent de service. Pour savoir comment récupérer l'agent de service et lui accorder des autorisations, consultez Autorisations de l'agent de service géré par Google.
- Lecteur Service Directory (roles/servicedirectory.viewer) au niveau du projet, sur le projet contenant les ressources Annuaire des services.
- Service autorisé Private Service Connect (roles/servicedirectory.pscAuthorizedService) au niveau du projet, sur le projet contenant le VPC.
- Rédacteur des anciens buckets de l'espace de stockage (roles/storage.legacyBucketWriter) sur le bucket de destination.
Pour créer une tâche de transfert qui utilise une interconnexion cross-cloud, vous devez utiliser l'API REST Storage Transfer Service. Envoyez une requête comme suit.
Notez le champ privateNetworkService, dans lequel vous spécifierez le selfLink de votre service Annuaire des services.
AWS
POST https://storagetransfer.googleapis.com/v1/transferJobs
{
"status": "ENABLED",
"projectId": "PROJECT_ID",
"transferSpec": {
"awsS3DataSource": {
"privateNetworkService": "SERVICE_SELF_LINK",
"bucketName": "S3_BUCKET_NAME",
"awsAccessKey": {
"accessKeyId": "ACCESS_KEY_ID",
"secretAccessKey": "SECRET_ACCESS_KEY"
}
},
"gcsDataSink": {
"bucketName": "GCS_BUCKET_NAME"
}
}
}
Azure
POST https://storagetransfer.googleapis.com/v1/transferJobs
{
"status": "ENABLED",
"projectId": "PROJECT_ID",
"transferSpec": {
"azureBlobStorageDataSource": {
"privateNetworkService": "SERVICE_SELF_LINK",
"storageAccount": "AZURE_SOURCE_NAME",
"container": "AZURE_CONTAINER",
"azureCredentials": {
"sasToken": "AZURE_SAS_TOKEN",
}
},
"gcsDataSink": {
"bucketName": "GCS_BUCKET_NAME"
}
}
}
Où :
- SERVICE_SELF_LINK est le lien auto du service de l'Annuaire des services. Il utilise le format
projects/{project_id}/locations/{location}/namespaces/{namespace}/services/{service}.
Pour en savoir plus sur les autres champs, consultez la documentation de référence sur transferSpec.
Confirmer que le trafic utilise l'interconnexion
Utilisez Cloud Monitoring pour vérifier le trafic transitant par votre interconnexion depuis AWS ou Azure.
- Dans la Google Cloud Console, accédez à Connectivité hybride > Cloud Interconnect.
- Sélectionnez le rattachement de VLAN qui se connecte à votre environnement AWS/Azure.
- Sur la page d'informations de votre connexion, sélectionnez l'onglet Surveillance. Recherchez les métriques qui indiquent le transfert de données. Plus précisément :
- Octets entrants : cette métrique indique les données provenant d'AWS ou d'Azure et entrant dans votre VPC Google Cloud.
- État opérationnel : assurez-vous que la connexion physique et la session BGP sont opérationnelles.