Création d'un connecteur SFTP avec sortie basée sur VPC - AWS Transfer Family

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.

Création d'un connecteur SFTP avec sortie basée sur VPC

Cette rubrique fournit des step-by-step instructions pour créer des connecteurs SFTP avec une connectivité VPC. Les connecteurs compatibles VPC_Lattice utilisent Amazon VPC Lattice pour acheminer le trafic via votre cloud privé virtuel, en sécurisant les connexions vers des points de terminaison privés ou en utilisant vos propres passerelles NAT pour accéder à Internet.

Quand utiliser la connectivité VPC

Utilisez la connectivité VPC pour les connecteurs SFTP dans les scénarios suivants :

  • Serveurs SFTP privés : connectez-vous à des serveurs SFTP uniquement accessibles depuis votre VPC.

  • Connectivité sur site : connectez-vous aux serveurs SFTP locaux via Direct AWS Connect ou AWS Site-to-Site des connexions VPN.

  • Adresses IP personnalisées : utilisez vos propres passerelles NAT et adresses IP élastiques, y compris les scénarios BYOIP.

  • Contrôles de sécurité centralisés : acheminez les transferts de fichiers par le biais des ingress/egress contrôles centraux de votre entreprise.

Schéma d'architecture illustrant la sortie basée sur VPC pour les connecteurs SFTP, illustrant comment l'accès aux ressources entre VPC permet des connexions sécurisées via votre cloud privé virtuel.

Conditions préalables pour les connecteurs SFTP compatibles avec VPC_Lattice

Avant de créer un connecteur SFTP compatible avec VPC_Lattice, vous devez remplir les conditions préalables suivantes :

Comment fonctionne la connectivité basée sur le VPC

VPC Lattice vous permet de partager en toute sécurité des ressources VPC avec d'autres services. AWS AWS Transfer Family utilise un réseau de service pour simplifier le processus de partage des ressources. Les composants clés sont les suivants :

  • Passerelle de ressources : sert de point d'accès à votre VPC. Vous le créez dans votre VPC avec un minimum de deux zones de disponibilité.

  • Configuration des ressources : contient l'adresse IP privée ou le nom DNS public du serveur SFTP auquel vous souhaitez vous connecter.

Lorsque vous créez un connecteur compatible avec VPC_Lattice, AWS Transfer Family utilisez la session d'accès direct (FAS) pour obtenir temporairement vos informations d'identification et associer votre configuration de ressources à notre réseau de services.

Étapes de configuration requises

  1. Infrastructure VPC : assurez-vous de disposer d'un VPC correctement configuré avec les sous-réseaux, les tables de routage et les groupes de sécurité nécessaires pour répondre aux exigences de connectivité de votre serveur SFTP.

  2. Passerelle de ressources : créez une passerelle de ressources dans votre VPC à l'aide de la commande VPC Lattice. create-resource-gateway La passerelle de ressources doit être associée à des sous-réseaux dans au moins deux zones de disponibilité. Pour plus d'informations, consultez Resource Gateways dans le guide de l'utilisateur Amazon VPC Lattice.

  3. Configuration des ressources : créez une configuration des ressources qui représente le serveur SFTP cible à l'aide de la commande VPC create-resource-configuration Lattice. Vous pouvez spécifier soit :

    • Une adresse IP privée pour les points de terminaison privés

    • Un nom DNS public pour les points de terminaison publics (les adresses IP ne sont pas prises en charge pour les points de terminaison publics)

  4. Informations d'authentification : stockez les informations d'identification de l'utilisateur SFTP AWS Secrets Manager comme décrit dansStockez les informations d'authentification pour les connecteurs SFTP dans Secrets Manager .

Important

La passerelle de ressources et la configuration des ressources doivent être créées dans le même AWS compte. Lorsque vous créez une configuration de ressources, vous devez d'abord disposer d'une passerelle de ressources.

Pour plus d'informations sur les configurations des ressources VPC, consultez la section Configurations des ressources dans le guide de l'utilisateur Amazon VPC Lattice.

Note

La connectivité VPC pour les connecteurs SFTP est disponible là où les ressources Régions AWS Amazon VPC Lattice sont disponibles. Pour plus d'informations, consultez VPC Lattice. FAQs La prise en charge des zones de disponibilité varie selon les régions, et les passerelles de ressources nécessitent un minimum de deux zones de disponibilité.

Création d'un connecteur SFTP compatible avec VPC_Lattice

Une fois les conditions requises remplies, vous pouvez créer un connecteur SFTP avec une connectivité VPC à l'aide de la console de AWS gestion AWS CLI ou. AWS SDKs

Console
Pour créer un connecteur SFTP compatible avec VPC_Lattice
  1. Ouvrez la AWS Transfer Family console à l'adresse https://console.aws.amazon.com/transfer/.

  2. Dans le volet de navigation de gauche, choisissez SFTP Connectors, puis Create SFTP connector.

  3. Dans la section Configuration du connecteur, pour le type de sortie, choisissez VPC Lattice.

    Cette option achemine le trafic via votre VPC à l'aide d'Amazon VPC Lattice pour l'accès aux ressources entre VPC. Vous pouvez utiliser cette option pour vous connecter à des points de terminaison de serveurs hébergés en privé, acheminer le trafic via les contrôles de sécurité de votre VPC ou utiliser vos propres passerelles NAT et adresses IP élastiques. L'adresse du serveur SFTP distant est représentée sous forme de configuration de ressources dans votre VPC. Pour plus d'informations sur les configurations des ressources, consultez la section Configurations des ressources pour les ressources VPC dans le guide de l'utilisateur Amazon VPC Lattice.

  4. Terminez la configuration du connecteur :

    • Pour le rôle Access, choisissez le nom de ressource Amazon (ARN) du rôle AWS Identity and Access Management (IAM) à utiliser.

      • Assurez-vous que ce rôle fournit un accès en lecture et en écriture au répertoire parent de l'emplacement du fichier utilisé dans la StartFileTransfer demande.

      • Assurez-vous que ce rôle autorise l'secretsmanager:GetSecretValueaccès au secret.

        Note

        Dans la politique, vous devez spécifier l'ARN du secret. L'ARN contient le nom secret, mais y ajoute six caractères alphanumériques aléatoires. L'ARN d'un secret a le format suivant.

        arn:aws:secretsmanager:region:account-id:secret:aws/transfer/SecretName-6RandomCharacters
      • Assurez-vous que ce rôle contient une relation de confiance qui permet au connecteur d'accéder à vos ressources lorsqu'il répond aux demandes de transfert de vos utilisateurs. Pour plus de détails sur l'établissement d'une relation de confiance, voirÉtape 1 : Établir une relation d'approbation.

      { "Version":"2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:us-west-2:111122223333:secret:aws/transfer/SecretName-6RandomCharacters" } ] }
      Note

      Pour le rôle d'accès, l'exemple accorde l'accès à un secret unique. Vous pouvez toutefois utiliser un caractère générique, ce qui peut vous faire économiser du travail si vous souhaitez réutiliser le même rôle IAM pour plusieurs utilisateurs et plusieurs secrets. Par exemple, l'instruction de ressource suivante accorde des autorisations pour tous les secrets dont le nom commence paraws/transfer.

      "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/*"

      Vous pouvez également stocker des secrets contenant vos informations d'identification SFTP dans un autre Compte AWS. Pour plus de détails sur l'activation de l'accès secret entre comptes, voir Autorisations relatives aux AWS Secrets Manager secrets pour les utilisateurs d'un autre compte.

    • Pour l'ARN de configuration des ressources, entrez l'ARN de la configuration des ressources en treillis VPC qui pointe vers votre serveur SFTP :

      arn:aws:vpc-lattice:region:account-id:resourceconfiguration/rcfg-12345678
    • (Facultatif) Pour le rôle de journalisation, choisissez le rôle IAM que le connecteur doit utiliser pour transférer des événements vers vos CloudWatch journaux.

      { "Version":"2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/transfer/*" } ] }
  5. Dans la section Configuration SFTP, fournissez les informations suivantes :

    • Pour les informations d'identification du connecteur, choisissez le nom d'un secret AWS Secrets Manager contenant la clé privée ou le mot de passe de l'utilisateur SFTP.

    • Pour les clés d'hôte fiables, collez la partie publique de la clé d'hôte utilisée pour identifier le serveur externe, ou laissez le champ vide pour le configurer ultérieurement à l'aide de la TestConnection commande.

      Comme cette clé d'hôte est destinée à un connecteur VPC_LATTICE, supprimez le nom d'hôte dans la clé

    • (Facultatif) Pour Nombre maximal de connexions simultanées, choisissez le nombre de connexions simultanées que votre connecteur crée avec le serveur distant (la valeur par défaut est 5).

  6. Dans la section Options de l'algorithme cryptographique, choisissez une politique de sécurité dans la liste déroulante.

  7. (Facultatif) Dans la section Balises, ajoutez des balises sous forme de paires clé-valeur.

  8. Choisissez Create SFTP connector pour créer le connecteur SFTP compatible VPC_Lattice.

Le connecteur sera créé avec l'état PENDING pendant le provisionnement de l'association de ressources, ce qui prend généralement plusieurs minutes. Une fois que l'état passe àACTIVE, le connecteur est prêt à être utilisé.

CLI

Utilisez la commande suivante pour créer un connecteur SFTP compatible avec VPC_Lattice :

aws transfer create-connector \ --url "sftp://my.sftp.server.com:22" \ --access-role arn:aws:iam::123456789012:role/TransferConnectorRole \ --sftp-config UserSecretId=my-secret-id,TrustedHostKeys="ssh-rsa AAAAB3NzaC..." \ --egress-config VpcLattice={ResourceConfigurationArn=arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-1234567890abcdef0} \ --security-policy-name TransferSecurityPolicy-2024-01

Le paramètre clé de la connectivité VPC est --egress-config le suivant : il spécifie l'ARN de configuration des ressources qui définit la cible de votre serveur SFTP.

Surveillance de l'état du connecteur VPC

Les connecteurs compatibles VPC_Lattice ont un processus de configuration asynchrone. Après la création, surveillez l'état du connecteur :

  • EN ATTENTE : Le connecteur est en cours de provisionnement. Le provisionnement du réseau de services est en cours, ce qui prend généralement plusieurs minutes.

  • ACTIF : Le connecteur est prêt à être utilisé et permet de transférer des fichiers.

  • ERREUR : Le connecteur n'a pas pu être configuré. Consultez les détails de l'erreur pour obtenir des informations de dépannage.

Vérifiez l'état du connecteur à l'aide de la describe-connector commande :

aws transfer describe-connector --connector-id c-1234567890abcdef0

Pendant l'état PENDING, l'test-connectionAPI renvoie le message « Connecteur non disponible » jusqu'à ce que le provisionnement soit terminé.

Limites et considérations

  • Points de terminaison publics : lorsque vous vous connectez à des points de terminaison publics via VPC, vous devez fournir un nom DNS dans la configuration des ressources. Les adresses IP publiques ne sont pas prises en charge.

  • Disponibilité régionale : la connectivité VPC est disponible dans certains pays. Régions AWS Le partage de ressources entre régions n'est pas pris en charge.

  • Exigences relatives aux zones de disponibilité : les passerelles de ressources doivent être associées à des sous-réseaux dans au moins deux zones de disponibilité. Les zones de disponibilité ne sont pas toutes compatibles avec le VPC Lattice dans toutes les régions.

  • Limites de connexion : 350 connexions maximum par ressource avec un délai d'inactivité de 350 secondes pour les connexions TCP.

Considérations de coût

Il n'y a pas de frais supplémentaires autres AWS Transfer Family que les frais de service réguliers. Toutefois, les clients peuvent être soumis à des frais supplémentaires de la part d'Amazon VPC Lattice associés au partage de leurs ressources Amazon Virtual Private Cloud, ainsi qu'à des frais de passerelle NAT s'ils utilisent leurs propres passerelles NAT pour accéder à Internet.

Pour obtenir AWS Transfer Family des informations complètes sur les prix, consultez la page AWS Transfer Family des tarifs.

Exemples de connectivité VPC pour les connecteurs SFTP

Cette section fournit des exemples de création de connecteurs SFTP avec connectivité VPC pour différents scénarios. Avant d'utiliser ces exemples, assurez-vous d'avoir terminé la configuration de l'infrastructure VPC comme décrit dans la documentation de connectivité VPC.

Exemple : connexion à un point de terminaison privé

Cet exemple montre comment créer un connecteur SFTP qui se connecte à un serveur SFTP privé accessible uniquement depuis votre VPC.

Prérequis
  1. Créez une passerelle de ressources dans votre VPC :

    aws vpc-lattice create-resource-gateway \ --name my-private-server-gateway \ --vpc-identifier vpc-1234567890abcdef0 \ --subnet-ids subnet-1234567890abcdef0 subnet-0987654321fedcba0
  2. Créez une configuration de ressources pour votre serveur SFTP privé :

    aws vpc-lattice create-resource-configuration \ --name my-private-server-config \ --resource-gateway-identifier rgw-1234567890abcdef0 \ --resource-configuration-definition ipResource={ipAddress="10.0.1.100"} \ --port-ranges 22
Créez le connecteur compatible VPC_Lattice
  1. Créez le connecteur SFTP avec connectivité VPC :

    aws transfer create-connector \ --access-role arn:aws:iam::123456789012:role/TransferConnectorRole \ --sftp-config UserSecretId=my-private-server-credentials,TrustedHostKeys="ssh-rsa AAAAB3NzaC..." \ --egress-config VpcLattice={ResourceConfigurationArn=arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-1234567890abcdef0,PortNumber=22}
  2. Surveillez l'état du connecteur jusqu'à ce qu'il devienne ACTIVE :

    aws transfer describe-connector --connector-id c-1234567890abcdef0

Le serveur SFTP distant verra les connexions provenant de l'adresse IP de Resource Gateway dans la plage d'adresses CIDR de votre VPC.

Exemple : point de terminaison public via VPC

Cet exemple montre comment acheminer les connexions vers un serveur SFTP public via votre VPC afin de tirer parti des contrôles de sécurité centralisés et d'utiliser vos propres adresses IP de passerelle NAT.

Prérequis
  1. Créez une passerelle de ressources dans votre VPC (identique à l'exemple d'un point de terminaison privé).

  2. Créez une configuration de ressource pour le serveur SFTP public à l'aide de son nom DNS :

    aws vpc-lattice create-resource-configuration \ --name my-public-server-config \ --resource-gateway-identifier rgw-1234567890abcdef0 \ --resource-configuration-definition dnsResource={domainName="sftp.example.com"} \ --port-ranges 22
    Note

    Pour les points de terminaison publics, vous devez utiliser un nom DNS et non une adresse IP.

Création du connecteur
  • Créez le connecteur SFTP :

    aws transfer create-connector \ --access-role arn:aws:iam::123456789012:role/TransferConnectorRole \ --sftp-config UserSecretId=my-public-server-credentials,TrustedHostKeys="ssh-rsa AAAAB3NzaC..." \ --egress-config VpcLattice={ResourceConfigurationArn=arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-0987654321fedcba0,PortNumber=22}

Le trafic circulera du connecteur vers votre passerelle de ressources, puis via votre passerelle NAT pour atteindre le serveur SFTP public. Le serveur distant verra l'adresse IP élastique de votre passerelle NAT comme source.

Exemple : point de terminaison privé entre comptes

Cet exemple montre comment se connecter à un serveur SFTP privé sur un autre AWS compte en utilisant le partage de ressources.

Note

Si le partage de ressources inter-VPC est déjà activé via d'autres mécanismes, par exemple AWS Transit Gateway, vous n'avez pas besoin de configurer le partage de ressources décrit ici. Les mécanismes de routage existants, tels que les tables de routage Transit Gateway, sont automatiquement utilisés par les connecteurs SFTP. Il vous suffit de créer une configuration de ressources dans le compte sur lequel vous créez le connecteur SFTP.

Compte A (fournisseur de ressources) - Partagez la configuration des ressources
  1. Créez une passerelle de ressources et une configuration de ressources dans le compte A (comme dans les exemples précédents).

  2. Partagez la configuration des ressources avec le compte B à l'aide de AWS Resource Access Manager :

    aws ram create-resource-share \ --name cross-account-sftp-share \ --resource-arns arn:aws:vpc-lattice:us-east-1:111111111111:resourceconfiguration/rcfg-1234567890abcdef0 \ --principals 222222222222
Compte B (consommateur de ressources) - Acceptez et utilisez le partage
  1. Acceptez l'invitation au partage de ressources :

    aws ram accept-resource-share-invitation \ --resource-share-invitation-arn arn:aws:ram:us-east-1:111111111111:resource-share-invitation/invitation-id
  2. Créez le connecteur SFTP dans le compte B :

    aws transfer create-connector \ --access-role arn:aws:iam::222222222222:role/TransferConnectorRole \ --sftp-config UserSecretId=cross-account-server-credentials,TrustedHostKeys="ssh-rsa AAAAB3NzaC..." \ --egress-config VpcLattice={ResourceConfigurationArn=arn:aws:vpc-lattice:us-east-1:111111111111:resourceconfiguration/rcfg-1234567890abcdef0,PortNumber=22}

Le connecteur du compte B peut désormais accéder au serveur SFTP privé du compte A via la configuration des ressources partagées.

Scénarios courants de résolution des problèmes

Voici des solutions aux problèmes courants liés à la création de connecteurs compatibles VPC_Lattice :

  • Connecteur bloqué avec le statut EN ATTENTE : vérifiez que votre passerelle de ressources est ACTIVE et possède des sous-réseaux dans les zones de disponibilité prises en charge. Si le connecteur est toujours bloqué avec le statut EN ATTENTE, appelez en UpdateConnector utilisant les mêmes paramètres de configuration que ceux que vous avez utilisés initialement. Cela déclenche un nouvel événement de statut susceptible de résoudre le problème.

  • Délais de connexion : vérifiez que les règles du groupe de sécurité autorisent le trafic sur le port 22 et que le routage de votre VPC est correct.

  • Problèmes de résolution du DNS : pour les points de terminaison publics, assurez-vous que votre VPC dispose d'une connectivité Internet via une passerelle NAT ou une passerelle Internet.

  • Accès entre comptes refusé : vérifiez que le partage de ressources est accepté et que l'ARN de configuration des ressources est correct. Si la politique d'autorisation appropriée est attachée à la configuration des ressources lorsque le compte d'origine crée le partage de ressources, les autorisations suivantes sont requises :vpc-lattice:AssociateViaAWSService,vpc-lattice:AssociateViaAWSService-EventsAndStates,vpc-lattice:CreateServiceNetworkResourceAssociation,vpc-lattice:GetResourceConfiguration.