View a markdown version of this page

Création d'un connecteur SFTP avec sortie VPC-based - 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 VPC-based

Cette rubrique fournit des instructions détaillées pour créer des connecteurs SFTP avec connectivité VPC. LATTICE-enabled Les connecteurs VPC_ utilisent Amazon VPC Lattice pour acheminer le trafic via votre cloud privé virtuel, permettant ainsi des connexions sécurisées à des points de terminaison privés ou 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 accessibles uniquement depuis votre VPC.

  • On-premises connectivité  : connectez-vous à des serveurs SFTP locaux via AWS Direct Connect ou des connexions AWS Site-to-Site VPN.

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

  • Contrôles de sécurité centralisés  : acheminez les transferts de fichiers via les ingress/egress contrôles centraux de votre organisation.

Schéma d'architecture montrant la VPC-based sortie des connecteurs SFTP, illustrant comment Cross-VPC Resource Access permet de sécuriser les connexions via votre cloud privé virtuel.

Conditions requises pour les connecteurs VPC_ SFTP LATTICE-enabled

Avant de créer un connecteur VPC_ LATTICE-enabled SFTP, vous devez remplir les conditions préalables suivantes :

Comment fonctionne VPC-based la connectivité

VPC Lattice vous permet de partager en toute sécurité les ressources VPC avec d'autres services. AWS AWS Transfer Family utilise un réseau de services 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 au moins 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 LATTICE-enabled connecteur VPC_, il AWS Transfer Family utilise la session d'accès direct (FAS) pour obtenir temporairement vos informations d'identification et associer votre configuration de ressources à notre réseau de service.

É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 create-resource-gateway Lattice. La passerelle de ressources doit être associée à des sous-réseaux dans au moins deux zones de disponibilité. Pour plus d'informations, consultez la section Passerelles de ressources dans le guide de l'utilisateur Amazon VPC Lattice.

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

    • Une adresse IP privée pour les terminaux privés

    • Un nom DNS public pour les terminaux publics (les adresses IP ne sont pas prises en charge pour les terminaux 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 de ressources VPC, consultez la section Configurations de ressources dans le guide de l'utilisateur Amazon VPC Lattice.

Note

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

Création d'un connecteur VPC_ SFTP LATTICE-enabled

Une fois les prérequis remplis, vous pouvez créer un connecteur SFTP avec connectivité VPC à l'aide de la console de AWS gestion ou des AWS CLI kits de développement logiciel. AWS

Console
Pour créer un connecteur VPC_ SFTP LATTICE-enabled
  1. Ouvrez la AWS Transfer Family console à l'adresse https://console.aws.amazon.com/transfer/.

  2. Dans le volet de navigation de gauche, choisissez Connecteurs SFTP, puis choisissez Créer un connecteur SFTP.

  3. Dans la section Configuration du connecteur, pour 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 de manière privée, acheminer le trafic via les contrôles de sécurité de votre VPC ou utiliser vos propres passerelles NAT et adresses IP Elastic. 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 de ressources, consultez la section Configurations de 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 Gestion des identités et des accès AWS (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 donne l'autorisation secretsmanager:GetSecretValue d'accéder 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 lors du traitement des demandes de transfert de vos utilisateurs. Pour plus de détails sur l'établissement d'une relation de confiance, consultezÉ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 permettre d'économiser du travail si vous souhaitez réutiliser le même rôle IAM pour plusieurs utilisateurs et 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 d'accès 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 VPC Lattice 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 utilisera pour transmettre les événements à 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 vide pour la 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 de 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).

    • (Facultatif) Pour les étapes de version secrètes ordonnées, entrez une liste ordonnée des libellés des étapes de version de Secrets Manager. Le connecteur tente de s'authentifier en utilisant chaque étape dans l'ordre pendant les transferts de fichiers. Si vous ne spécifiez pas d'étapes de version, le connecteur utilise uniquementAWSCURRENT. Par exemple, spécifiezAWSCURRENT, AWSPREVIOUS pour activer le repli automatique lors de la rotation secrète.

  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 Créer un connecteur SFTP pour créer le connecteur VPC_ LATTICE-enabled SFTP.

Le connecteur sera créé avec l'état PENDING pendant que l'association de ressources est en cours de provisionnement, 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 VPC_ LATTICE-enabled SFTP :

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, qui 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 LATTICE-enabled connecteurs VPC_ 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 peut transférer des fichiers.

  • ERREUR  : le connecteur n'a pas pu être provisionné. 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 renverra « 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 Régions AWS pays. Cross-region le partage de ressources n'est pas pris en charge.

  • Exigences relatives à la zone de disponibilité  : les passerelles de ressources doivent être associées à des sous-réseaux dans au moins deux zones de disponibilité. Toutes les zones de disponibilité ne prennent pas en charge VPC Lattice dans toutes les régions.

  • Limites de connexion  : maximum de 350 connexions 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 en AWS Transfer Family plus des frais de service réguliers. Les clients peuvent toutefois ê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 de AWS Transfer Family tarification.

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.

Conditions préalables
  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éation du connecteur VPC_ LATTICE-enabled
  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 détectera les connexions provenant de l'adresse IP de la passerelle de ressources comprise dans la plage d'adresses CIDR de votre VPC.

Exemple : point de terminaison public via VPC

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

Conditions préalables
  1. Créez une passerelle de ressources dans votre VPC (comme exemple de point de terminaison privé).

  2. Créez une configuration de ressources pour le serveur SFTP public en utilisant 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 terminaux 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 considérera l'adresse IP élastique de votre passerelle NAT comme source.

Exemple : point de terminaison Cross-account privé

Cet exemple montre comment se connecter à un serveur SFTP privé avec un autre AWS compte à l'aide du partage de ressources.

Note

Si le partage de ressources entre 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 de Transit Gateway, sont automatiquement utilisés par les connecteurs SFTP. Il vous suffit de créer une configuration de ressources dans le même compte que celui où 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 du gestionnaire d'accès aux AWS ressources :

    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 (Resource Consumer) - Acceptez et utilisez le partage
  1. Acceptez l'invitation de 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 VPC_ LATTICE-enabled  :

  • Connecteur bloqué en mode 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 l'état PENDING, 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 d'état 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 DNS  : pour les terminaux publics, assurez-vous que votre VPC dispose d'une connectivité Internet via une passerelle NAT ou une passerelle Internet.

  • Cross-account accès 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 associée à la configuration des ressources lorsque le compte d'origine crée le partage de ressources, les autorisations suivantes sont requises : vpc-lattice:AssociateViaAWSServicevpc-lattice:AssociateViaAWSService-EventsAndStates,vpc-lattice:CreateServiceNetworkResourceAssociation,vpc-lattice:GetResourceConfiguration.