

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Migrez les données d'un environnement Hadoop sur site vers Amazon S3 à l'aide d' DistCp AWS PrivateLink pour Amazon S3
<a name="migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3"></a>

*Jason Owens, Andrés Cantor, Jeff Klopfenstein, Bruno Rocha Oliveira et Samuel Schmidt, Amazon Web Services*

## Résumé
<a name="migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3-summary"></a>

Ce modèle montre comment migrer presque n'importe quel volume de données d'un environnement Apache Hadoop sur site vers le cloud Amazon Web Services (AWS) en utilisant l'outil open source Apache avec [DistCp](https://hadoop.apache.org/docs/r1.2.1/distcp.html)AWS pour PrivateLink Amazon Simple Storage Service (Amazon S3). Au lieu d'utiliser l'Internet public ou une solution proxy pour migrer les données, vous pouvez utiliser [AWS PrivateLink pour Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html) pour migrer les données vers Amazon S3 via une connexion réseau privée entre votre centre de données sur site et un Amazon Virtual Private Cloud (Amazon VPC). Si vous utilisez des entrées DNS dans Amazon Route 53 ou si vous ajoutez des entrées dans le fichier **/etc/hosts** dans tous les nœuds de votre cluster Hadoop sur site, vous êtes automatiquement dirigé vers le point de terminaison d'interface approprié.

Ce guide fournit des instructions d'utilisation DistCp pour migrer des données vers le cloud AWS. DistCp est l'outil le plus couramment utilisé, mais d'autres outils de migration sont disponibles. [Par exemple, vous pouvez utiliser des outils AWS hors ligne tels [qu'AWS Snowball ou AWS Snowmobile](https://docs.aws.amazon.com/whitepapers/latest/how-aws-pricing-works/aws-snow-family.html#aws-snowball)[, ou des outils AWS](https://docs.aws.amazon.com/whitepapers/latest/how-aws-pricing-works/aws-snow-family.html#aws-snowmobile) en ligne tels qu'AWS Storage [Gateway ou AWS](https://docs.aws.amazon.com/storagegateway/latest/userguide/migrate-data.html). DataSync](https://aws.amazon.com/about-aws/whats-new/2021/11/aws-datasync-hadoop-aws-storage-services/) De plus, vous pouvez utiliser d'autres outils open source tels qu'[Apache NiFi](https://nifi.apache.org/).

## Conditions préalables et limitations
<a name="migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif avec une connexion réseau privée entre votre centre de données sur site et le cloud AWS
+ [Hadoop](https://hadoop.apache.org/releases.html), installé sur site avec [DistCp](https://hadoop.apache.org/docs/r1.2.1/distcp.html)
+ Un utilisateur Hadoop ayant accès aux données de migration dans le système de fichiers distribué Hadoop (HDFS)
+ [Interface de ligne de commande AWS (AWS CLI)[, installée et](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) configurée](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
+ [Autorisations](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_s3_rw-bucket-console.html) pour placer des objets dans un compartiment S3

**Limites**

Les limites du cloud privé virtuel (VPC) s'appliquent à AWS PrivateLink pour Amazon S3. Pour plus d'informations, consultez [Propriétés et limites des points de terminaison de l'interface](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#vpce-interface-limitations) et [ PrivateLink quotas AWS](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-limits-endpoints.html) ( PrivateLink documentation AWS).

AWS PrivateLink pour Amazon S3 ne prend pas en charge les éléments suivants :
+ [Points de terminaison FIPS (Federal Information Processing Standard)](https://aws.amazon.com/compliance/fips/)
+ [Points de terminaison du site Web](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteEndpoints.html)
+ [Points de terminaison globaux hérités](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#deprecated-global-endpoint)

## Architecture
<a name="migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3-architecture"></a>

**Pile technologique source**
+ Cluster Hadoop avec installation DistCp 

**Pile technologique cible**
+ Amazon S3
+ Amazon VPC

**Architecture cible**

![\[Cluster Hadoop qui DistCp copie les données de l'environnement sur site via Direct Connect vers S3.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/8d2b47ae-e854-4e5d-8f19-b9c2606f2c59/images/b8a249bd-307b-41ec-b939-5039d0ae7123.png)


Le schéma montre comment l'administrateur Hadoop copie des DistCp données depuis un environnement sur site via une connexion réseau privée, telle qu'AWS Direct Connect, vers Amazon S3 via un point de terminaison d'interface Amazon S3.

## Outils
<a name="migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3-tools"></a>

**Services AWS**
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) vous aide à gérer en toute sécurité l'accès à vos ressources AWS en contrôlant qui est authentifié et autorisé à les utiliser.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) vous aide à lancer des ressources AWS dans un réseau virtuel que vous avez défini. Ce réseau virtuel ressemble à un réseau traditionnel que vous exploiteriez dans votre propre centre de données, avec les avantages liés à l'utilisation de l'infrastructure évolutive d'AWS.

**Autres outils**
+ [Apache Hadoop DistCp](https://hadoop.apache.org/docs/current/hadoop-distcp/DistCp.html) (copie distribuée) est un outil utilisé pour copier de grands inter-clusters et intra-clusters. DistCp utilise Apache MapReduce pour la distribution, la gestion des erreurs, la restauration et les rapports.

## Épopées
<a name="migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3-epics"></a>

### Migrer les données vers le cloud AWS
<a name="migrate-data-to-the-aws-cloud"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un point de terminaison PrivateLink pour AWS pour Amazon S3. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3.html) | Administrateur AWS | 
| Vérifiez les points de terminaison et recherchez les entrées DNS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3.html) | Administrateur AWS | 
| Vérifiez les règles de pare-feu et les configurations de routage. | Pour vérifier que les règles de votre pare-feu sont ouvertes et que votre configuration réseau est correctement configurée, utilisez Telnet pour tester le point de terminaison sur le port 443. Par exemple :<pre>$ telnet vpce-<your-VPC-endpoint-ID>.s3.us-east-2.vpce.amazonaws.com 443<br /><br />Trying 10.104.88.6...<br /><br />Connected to vpce-<your-VPC-endpoint-ID>.s3.us-east-2.vpce.amazonaws.com.<br /><br />...<br /><br />$ telnet vpce-<your-VPC-endpoint-ID>.s3.us-east-2.vpce.amazonaws.com 443<br /><br />Trying 10.104.71.141...<br /><br />Connected to vpce-<your-VPC-endpoint-ID>.s3.us-east-2.vpce.amazonaws.com.</pre>Si vous utilisez l'entrée Regional, un test réussi montre que le DNS alterne entre les deux adresses IP que vous pouvez voir dans l'onglet **Sous-réseaux** du point de terminaison sélectionné dans la console Amazon VPC. | Administrateur réseau, administrateur AWS | 
| Configurez la résolution du nom. | Vous devez configurer la résolution des noms pour permettre à Hadoop d'accéder au point de terminaison de l'interface Amazon S3. Vous ne pouvez pas utiliser le nom du point de terminaison lui-même. Au lieu de cela, vous devez résoudre `<your-bucket-name>.s3.<your-aws-region>.amazonaws.com` ou`*.s3.<your-aws-region>.amazonaws.com`. Pour plus d'informations sur cette limitation de dénomination, consultez [Présentation du client Hadoop S3A](https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html#Introducing_the_Hadoop_S3A_client.) (site Web Hadoop).Choisissez l'une des options de configuration suivantes :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3.html) | Administrateur AWS | 
| Configurez l'authentification pour Amazon S3. | Pour vous authentifier auprès d'Amazon S3 via Hadoop, nous vous recommandons d'exporter les informations d'identification de rôle temporaires vers l'environnement Hadoop. Pour plus d'informations, consultez [Authentification avec S3 (site](https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html#Authenticating_with_S3) Web Hadoop). Pour les tâches de longue durée, vous pouvez créer un utilisateur et attribuer une politique autorisant à placer des données uniquement dans un compartiment S3. La clé d'accès et la clé secrète peuvent être stockées sur Hadoop, accessibles uniquement au DistCp job lui-même et à l'administrateur Hadoop. Pour plus d'informations sur le stockage des secrets, consultez [Stockage des secrets avec les fournisseurs d'informations d'identification Hadoop](https://hadoop.apache.org/docs/r3.1.1/hadoop-aws/tools/hadoop-aws/index.html#hadoop_credential_providers) (site Web Hadoop). Pour plus d'informations sur les autres méthodes d'authentification, consultez [Comment obtenir les informations d'identification d'un rôle IAM à utiliser avec l'accès CLI à un compte AWS](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtogetcredentials.html) dans la documentation d'AWS IAM Identity Center (successeur d'AWS Single Sign-On).Pour utiliser des informations d'identification temporaires, ajoutez-les à votre fichier d'informations d'identification ou exécutez les commandes suivantes pour exporter les informations d'identification vers votre environnement :<pre>export AWS_SESSION_TOKEN=SECRET-SESSION-TOKEN<br />export AWS_ACCESS_KEY_ID=SESSION-ACCESS-KEY<br />export AWS_SECRET_ACCESS_KEY=SESSION-SECRET-KEY</pre>Si vous utilisez une combinaison classique de clé d'accès et de clé secrète, exécutez les commandes suivantes :<pre>export AWS_ACCESS_KEY_ID=my.aws.key<br />export AWS_SECRET_ACCESS_KEY=my.secret.key</pre>Si vous utilisez une combinaison de clé d'accès et de clé secrète, remplacez le fournisseur d'informations d'identification dans les DistCp commandes par `"org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider"``"org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider"`. | Administrateur AWS | 
| Transférez des données en utilisant DistCp. | Pour DistCp transférer des données, exécutez les commandes suivantes :<pre>hadoop distcp -Dfs.s3a.aws.credentials.provider=\<br />"org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider" \<br />-Dfs.s3a.access.key="${AWS_ACCESS_KEY_ID}" \<br />-Dfs.s3a.secret.key="${AWS_SECRET_ACCESS_KEY}" \<br />-Dfs.s3a.session.token="${AWS_SESSION_TOKEN}" \<br />-Dfs.s3a.path.style.access=true \<br />-Dfs.s3a.connection.ssl.enabled=true \<br />-Dfs.s3a.endpoint=s3.<your-aws-region>.amazonaws.com \<br />hdfs:///user/root/ s3a://<your-bucket-name></pre>La région AWS du point de terminaison n'est pas automatiquement découverte lorsque vous utilisez la DistCp commande avec AWS PrivateLink pour Amazon S3. Hadoop 3.3.2 et les versions ultérieures résolvent ce problème en activant l'option permettant de définir explicitement la région AWS du compartiment S3. Pour plus d'informations, consultez [S3A pour ajouter l'option fs.s3a.endpoint.region afin de définir la région](https://issues.apache.org/jira/browse/HADOOP-17705) AWS (site Web Hadoop).Pour plus d'informations sur les fournisseurs S3A supplémentaires, consultez la section [Configuration générale du client S3A](https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html#General_S3A_Client_configuration) (site Web Hadoop). Par exemple, si vous utilisez le chiffrement, vous pouvez ajouter l'option suivante à la série de commandes ci-dessus en fonction de votre type de chiffrement :<pre>-Dfs.s3a.server-side-encryption-algorithm=AES-256 [or SSE-C or SSE-KMS]</pre>Pour utiliser le point de terminaison d'interface avec S3A, vous devez créer une entrée d'alias DNS pour le nom régional S3 (par exemple,`s3.<your-aws-region>.amazonaws.com`) du point de terminaison d'interface. Consultez la section *Configurer l'authentification pour Amazon S3* pour obtenir des instructions. Cette solution de contournement est requise pour Hadoop 3.3.2 et les versions antérieures. Les futures versions de S3A ne nécessiteront pas cette solution de contournement.Si vous rencontrez des problèmes de signature avec Amazon S3, ajoutez une option permettant d'utiliser la signature Signature Version 4 (Sigv4) :<pre>-Dmapreduce.map.java.opts="-Dcom.amazonaws.services.s3.enableV4=true"</pre> | Ingénieur de migration, administrateur AWS | 