Crie um conector SFTP com saída baseada em VPC - AWS Transfer Family

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Crie um conector SFTP com saída baseada em VPC

Este tópico fornece step-by-step instruções para criar conectores SFTP com conectividade VPC. Os conectores habilitados para VPC_Lattice usam o Amazon VPC Lattice para rotear o tráfego por meio de sua nuvem privada virtual, permitindo conexões seguras com endpoints privados ou usando seus próprios gateways NAT para acesso à Internet.

Quando usar a conectividade VPC

Use a conectividade VPC para conectores SFTP nesses cenários:

  • Servidores SFTP privados: conecte-se a servidores SFTP que só podem ser acessados pela sua VPC.

  • Conectividade local: conecte-se a servidores SFTP locais por meio de conexões Direct AWS Connect ou AWS Site-to-Site VPN.

  • Endereços IP personalizados: use seus próprios gateways NAT e endereços IP elásticos, incluindo cenários de BYOIP.

  • Controles de segurança centralizados: encaminhe as transferências de arquivos pelos ingress/egress controles centrais da sua organização.

Diagrama de arquitetura mostrando a saída baseada em VPC para conectores SFTP, ilustrando como o acesso a recursos entre VPCs permite conexões seguras por meio de sua nuvem privada virtual.

Pré-requisitos para conectores SFTP habilitados para VPC_Lattice

Antes de criar um conector SFTP habilitado para VPC_Lattice, você deve preencher os seguintes pré-requisitos:

Como funciona a conectividade baseada em VPC

O VPC Lattice permite que você compartilhe com segurança os recursos do VPC com outros serviços. AWS AWS Transfer Family usa uma rede de serviços para simplificar o processo de compartilhamento de recursos. Os principais componentes são:

  • Resource Gateway: serve como ponto de acesso à sua VPC. Você cria isso em sua VPC com no mínimo duas zonas de disponibilidade.

  • Configuração de recursos: contém o endereço IP privado ou o nome DNS público do servidor SFTP ao qual você deseja se conectar.

Quando você cria um conector habilitado para VPC_Lattice, AWS Transfer Family usa o Forward Access Session (FAS) para obter temporariamente suas credenciais e associar sua configuração de recursos à nossa rede de serviços.

Etapas de configuração necessárias

  1. Infraestrutura de VPC: certifique-se de ter uma VPC configurada adequadamente com as sub-redes, tabelas de rotas e grupos de segurança necessários para os requisitos de conectividade do servidor SFTP.

  2. Resource Gateway: crie um Resource Gateway em sua VPC usando o comando VPC Lattice. create-resource-gateway O Resource Gateway deve estar associado a sub-redes em pelo menos duas zonas de disponibilidade. Para obter mais informações, consulte Resource gateways no Guia do usuário do Amazon VPC Lattice.

  3. Configuração de recursos: crie uma configuração de recursos que represente o servidor SFTP de destino usando o comando VPC create-resource-configuration Lattice. Você pode especificar:

    • Um endereço IP privado para endpoints privados

    • Um nome DNS público para endpoints públicos (endereços IP não são compatíveis com endpoints públicos)

  4. Credenciais de autenticação: armazene as credenciais do usuário do SFTP AWS Secrets Manager conforme descrito em. Armazene credenciais de autenticação para conectores SFTP no Secrets Manager

Importante

O gateway de recursos e a configuração de recursos devem ser criados na mesma AWS conta. Ao criar uma configuração de recursos, você deve primeiro ter um gateway de recursos instalado.

Para obter mais informações sobre configurações de recursos de VPC, consulte Configurações de recursos no Guia do usuário do Amazon VPC Lattice.

nota

A conectividade VPC para conectores SFTP está disponível onde os recursos do Regiões da AWS Amazon VPC Lattice estão disponíveis. Para obter mais informações, consulte VPC Lattice. FAQs O suporte à zona de disponibilidade varia de acordo com a região, e os gateways de recursos exigem no mínimo duas zonas de disponibilidade.

Crie um conector SFTP habilitado para VPC_Lattice

Depois de concluir os pré-requisitos, você pode criar um conector SFTP com conectividade VPC usando o AWS CLI Management Console ou. AWS AWS SDKs

Console
Para criar um conector SFTP habilitado para VPC_Lattice
  1. Abra o AWS Transfer Family console em https://console.aws.amazon.com/transfer/.

  2. No painel de navegação esquerdo, escolha Conectores SFTP e, em seguida, escolha Criar conector SFTP.

  3. Na seção Configuração do conector, em Tipo de saída, escolha VPC Lattice.

    Essa opção roteia o tráfego pela sua VPC usando o Amazon VPC Lattice para acesso a recursos entre VPCs. Você pode usar essa opção para se conectar a endpoints de servidores hospedados de forma privada, rotear o tráfego por meio dos controles de segurança da sua VPC ou usar seus próprios gateways NAT e endereços IP elásticos. O endereço do servidor SFTP remoto é representado como uma configuração de recursos em sua VPC. Para obter mais informações sobre configurações de recursos, consulte Configurações de recursos para recursos de VPC no Guia do usuário do Amazon VPC Lattice.

  4. Conclua a configuração do conector:

    • Para a função Access, escolha o Amazon Resource Name (ARN) da função AWS Identity and Access Management (IAM) a ser usada.

      • Assegure que esta função forneça acesso de leitura e gravação ao diretório principal do local do arquivo usado na solicitação do StartFileTransfer.

      • Essa função deve dar permissão para secretsmanager:GetSecretValue para acessar o segredo.

        nota

        Na política, você deve especificar o ARN para o segredo. O ARN contém o nome secreto, mas acrescenta ao nome seis caracteres alfanuméricos aleatórios. Um ARN para um segredo tem o seguinte formato.

        arn:aws:secretsmanager:region:account-id:secret:aws/transfer/SecretName-6RandomCharacters
      • Certifique-se de que essa função contenha uma relação de confiança que permite que o conector acesse os recursos quando estiver atendendo ás solicitações de transferência dos seus usuários. Para obter informações sobre como estabelecer um relacionamento de confiança, consulte Estabelecer um relacionamento de confiança.

      { "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" } ] }
      nota

      Para a função de acesso, o exemplo concede acesso a um único segredo. Porém, é possível usar um caractere curinga, que pode poupar trabalho se você quiser reutilizar o mesmo perfil do IAM para vários usuários e segredos. Por exemplo, a declaração de recurso a seguir concede permissões para todos os segredos que têm nomes começando com aws/transfer.

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

      Você também pode armazenar segredos contendo suas credenciais de SFTP em outra Conta da AWS. Para obter detalhes sobre como ativar o acesso secreto entre contas, consulte Permissões para AWS Secrets Manager segredos para usuários em uma conta diferente.

    • Em Resource Configuration ARN, insira o ARN da configuração de recursos VPC Lattice que aponta para seu servidor SFTP:

      arn:aws:vpc-lattice:region:account-id:resourceconfiguration/rcfg-12345678
    • (Opcional) Para a função Logging, escolha a função do IAM para o conector usar para enviar eventos aos seus CloudWatch registros.

      { "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. No painel Configuração do SFTP, forneça as seguintes informações:

    • Para credenciais do Connector, escolha o nome de um segredo AWS Secrets Manager que contenha a chave privada ou a senha do usuário do SFTP.

    • Para chaves de host confiáveis, cole a parte pública da chave de host usada para identificar o servidor externo ou deixe em branco para configurar posteriormente usando o TestConnection comando.

      Como essa chave de host é para um conector VPC_LATTICE, remova o nome do host na chave

    • (Opcional) Em Máximo de conexões simultâneas, escolha o número de conexões simultâneas que seu conector cria com o servidor remoto (o padrão é 5).

  6. Na seção Opções de algoritmo criptográfico, escolha uma política de segurança na lista suspensa.

  7. (Opcional) Na seção Tags, adicione tags como pares de valores-chave.

  8. Escolha Criar conector SFTP para criar o conector SFTP habilitado para VPC_Lattice.

O conector será criado com o status de PENDING enquanto a associação de recursos está sendo provisionada, o que normalmente leva alguns minutos. Quando o status mudar paraACTIVE, o conector estará pronto para uso.

CLI

Use o comando a seguir para criar um conector SFTP habilitado para 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

O principal parâmetro para conectividade VPC é--egress-config, que especifica o ARN de configuração de recursos que define o destino do seu servidor SFTP.

Monitorando o status do conector VPC

Os conectores habilitados para VPC_Lattice têm um processo de configuração assíncrono. Após a criação, monitore o status do conector:

  • PENDENTE: O conector está sendo provisionado. O provisionamento da rede de serviços está em andamento, o que normalmente leva vários minutos.

  • ATIVO: O conector está pronto para uso e pode transferir arquivos.

  • ERRO: Falha no provisionamento do conector. Verifique os detalhes do erro para obter informações sobre solução de problemas.

Verifique o status do conector usando o describe-connector comando:

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

Durante o estado PENDENTE, a test-connection API retornará “Conector não disponível” até que o provisionamento seja concluído.

Limitações e considerações

  • Endpoints públicos: ao se conectar a endpoints públicos por meio da VPC, você deve fornecer um nome DNS na Configuração de recursos. Endereços IP públicos não são suportados.

  • Disponibilidade regional: a conectividade VPC está disponível em select. Regiões da AWS O compartilhamento de recursos entre regiões não é suportado.

  • Requisitos da zona de disponibilidade: os gateways de recursos devem estar associados a sub-redes em pelo menos duas zonas de disponibilidade. Nem todas as zonas de disponibilidade oferecem suporte ao VPC Lattice em todas as regiões.

  • Limites de conexão: máximo de 350 conexões por recurso com um tempo limite de inatividade de 350 segundos para conexões TCP.

Considerações sobre custos

Não há cobranças adicionais AWS Transfer Family além das taxas de serviço regulares. No entanto, os clientes podem estar sujeitos a cobranças adicionais da Amazon VPC Lattice associadas ao compartilhamento de seus recursos da Amazon Virtual Private Cloud e cobranças de gateway NAT se usarem seus próprios gateways NAT para acessar a Internet.

Para obter informações completas sobre AWS Transfer Family preços, consulte a página AWS Transfer Family de preços.

Exemplos de conectividade VPC para conectores SFTP

Esta seção fornece exemplos de criação de conectores SFTP com conectividade VPC para vários cenários. Antes de usar esses exemplos, certifique-se de ter concluído a configuração da infraestrutura da VPC conforme descrito na documentação de conectividade da VPC.

Exemplo: conexão de endpoint privada

Este exemplo mostra como criar um conector SFTP que se conecta a um servidor SFTP privado acessível somente pela sua VPC.

Pré-requisitos
  1. Crie um gateway de recursos em sua VPC:

    aws vpc-lattice create-resource-gateway \ --name my-private-server-gateway \ --vpc-identifier vpc-1234567890abcdef0 \ --subnet-ids subnet-1234567890abcdef0 subnet-0987654321fedcba0
  2. Crie uma configuração de recursos para seu servidor SFTP privado:

    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
Crie o conector habilitado para VPC_Lattice
  1. Crie o conector SFTP com conectividade 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. Monitore o status do conector até que ele se torneACTIVE:

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

O servidor SFTP remoto verá as conexões provenientes do endereço IP do Resource Gateway dentro do intervalo CIDR da sua VPC.

Exemplo: endpoint público via VPC

Este exemplo mostra como rotear conexões para um servidor SFTP público por meio de sua VPC para aproveitar os controles de segurança centralizados e usar seus próprios endereços IP do NAT Gateway.

Pré-requisitos
  1. Crie um Resource Gateway em sua VPC (o mesmo exemplo de endpoint privado).

  2. Crie uma configuração de recursos para o servidor SFTP público usando seu nome 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
    nota

    Para endpoints públicos, você deve usar um nome DNS, não um endereço IP.

Criar o conector
  • Crie o conector 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}

O tráfego fluirá do conector para o Resource Gateway e, em seguida, pelo NAT Gateway para chegar ao servidor SFTP público. O servidor remoto verá o endereço IP elástico do seu NAT Gateway como a origem.

Exemplo: endpoint privado entre contas

Este exemplo mostra como se conectar a um servidor SFTP privado em uma AWS conta diferente usando o compartilhamento de recursos.

nota

Se você já tem o compartilhamento de recursos entre VPCs habilitado por meio de outros mecanismos, como AWS Transit Gateway, por exemplo, não é necessário configurar o compartilhamento de recursos descrito aqui. Os mecanismos de roteamento existentes, como as tabelas de rotas do Transit Gateway, são usados automaticamente pelos conectores SFTP. Você só precisa criar uma configuração de recursos na mesma conta em que está criando o conector SFTP.

Conta A (provedor de recursos) - Compartilhe a configuração do recurso
  1. Crie o gateway de recursos e a configuração de recursos na Conta A (igual aos exemplos anteriores).

  2. Compartilhe a configuração do recurso com a conta B usando o 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
Conta B (consumidor de recursos) - Aceite e use o compartilhamento
  1. Aceite o convite de compartilhamento de recursos:

    aws ram accept-resource-share-invitation \ --resource-share-invitation-arn arn:aws:ram:us-east-1:111111111111:resource-share-invitation/invitation-id
  2. Crie o conector SFTP na Conta 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}

O conector na Conta B agora pode acessar o servidor SFTP privado na Conta A por meio da Configuração de Recursos compartilhada.

Cenários comuns de solução de problemas

Aqui estão as soluções para problemas comuns ao criar conectores habilitados para VPC_Lattice:

  • Conector preso no status PENDENTE: verifique se o Resource Gateway está ATIVO e tem sub-redes em zonas de disponibilidade suportadas. Se o conector ainda estiver preso com o status PENDENTE, chame UpdateConnector usando os mesmos parâmetros de configuração que você usou inicialmente. Isso aciona um novo evento de status que pode resolver o problema.

  • Tempos limite de conexão: verifique se as regras do grupo de segurança permitem tráfego na porta 22 e se o roteamento da VPC está correto.

  • Problemas de resolução de DNS: para endpoints públicos, certifique-se de que sua VPC tenha conectividade com a Internet por meio de um NAT Gateway ou Internet Gateway.

  • Acesso entre contas negado: verifique se o compartilhamento de recursos foi aceito e se o ARN de configuração de recursos está correto. Se a política de permissão adequada estiver anexada à configuração do recurso quando a conta de origem criar o compartilhamento de recursos, essas permissões serão necessárias:vpc-lattice:AssociateViaAWSService,vpc-lattice:AssociateViaAWSService-EventsAndStates,vpc-lattice:CreateServiceNetworkResourceAssociation,vpc-lattice:GetResourceConfiguration.