O AWS Transfer Family é uma ferramenta da AWS que pode te ajudar a sanar muitos problemas! Entenda de forma prática como ele funciona!

14/09/2023

Por Thiago Marques

O pai ta on!!

Nesse blog existem diversos posts falando sobre serviços, soluções e possibilidades, e hoje vamos falar de um serviço da AWS, que resolve problemas muito comuns, mas que muitas vezes acaba sendo deixado de lado: o Transfer Family.

Neste artigo, vamos explorar o que é o AWS Transfer Family, seus principais recursos e opções, além de fornecer um guia passo a passo para criar um servidor SFTP (Secure File Transfer Protocol) com código Python utilizando a biblioteca boto3 e um template CloudFormation para provisionar um servidor SFTP. 

Fonte:https://d1.awsstatic.com/cloud-storage/product-page-diagram_AWS-Transfer-Family_HIW-Diagram.4af0b3b19477f22bc7e37995c43cf833b6db0ce9.png

O que é o AWS Transfer Family

O Transfer Family é uma solução versátil e poderosa da AWS que simplifica significativamente o processo de transferência de arquivos para a nuvem. O serviço permite que você configure facilmente servidores de transferência de arquivos além de oferecer suporte a vários protocolos de transferência, incluindo FTP (File Transfer Protocol), FTPS (FTP Secure), SFTP e até mesmo APIs personalizadas. 

Essas características abrem possibilidades que vão desde um compartilhamento de arquivos seguros entre uma fonte externa e sua conta na AWS, outras aplicações para a solução podem ser:

  • Backup de dados: Garantir que os dados que estão no onpremises utilizem um conector criptografado para transferência segura;
  • Compartilhamento de arquivos: Compartilhar arquivos de forma segura com clientes, parceiros e fornecedores. Soluções como bucket S3, podem até resolver essa questão, mas nesse caso vai precisar de controles externos, profiles ou (no pior dos casos) deixar o bucket público (desaconselho fortemente).
  • Integração com aplicativos: Como o Transfer Family vai garantir que a transferência de arquivos pontuais, ou mesmo contínuos, é possível integrá-lo com S3 e o Event Bridge para iniciar processamento de arquivos automaticamente;

Vantagens do AWS Transfer Family

  • Facilidade de configuração: Ele elimina a complexidade da configuração e gestão de servidores de transferência de arquivos. Dessa forma o provisionamento e gerenciamento de servidores pode ser feito facilmente ou pela console, ou via IaC.
  • Segurança: O serviço fornece recursos de segurança robustos, e possui compatibilidade com modelos de conformidade como o FedRAMP (Federal Risk and Authorization Management Program), além de incluir mecanismos de autenticação baseadas no IAM, ou mesmo customizadas com utilização de Secrets Manager e Lambda.
  • Escalabilidade: Além de ser um serviço gerenciado, ele é altamente escalável, permitindo ajustes de capacidade conforme a necessidade da solução evolui.
  • Observabilidade: Com sua integração com o CloudWatch, criar métricas, alarmes e até o traceback dos logs com o cloudwatch logs é além de simples, totalmente eficaz e eficiente para coletas daqueles registros detalhados solicitados em auditorias.
  • Múltiplas formas de saída (outputs): Se pode armazenar os arquivos diretamente em um bucket no S3, proporcionando durabilidade e escalabilidade, além de integração com outros serviços da AWS, ou ainda garantir uma maior facilidade na aplicação com a utilização do EFS como outputs.

Adicionalmente é possível utilizar scripts no Lambda para enviar/processar esses arquivos diretamente.

Pontos de atenção com o Transfer Family

Mesmo com diversas vantagens existem alguns pontos de atenção a serem observados. 

O serviço não tem por padrão uma forma simples para utilização de clientes.

Dessa forma é necessário a utilização de clientes que suporte SFTP/FTP para a transferência de dados, ou mesmo de uma aplicação que faça essa função, o que deixa o trabalho um pouco árduo para usuários que não possuem familiaridade com os clientes.

Bônus: Solution Web Client

Como disse, por padrão não existe uma forma simples de utilização do serviço, contudo a AWS desenvolveu uma solução de web cliente, garantindo vantagens como simplicidade, suporte a multi-client e gerenciamento dos arquivos (upload, download, rename e delete).

A solução esta disponível em: Web Client for AWS Transfer Family, e basicamente um cloudFormation que faz deploy da estrutura abaixo:

Ao final teremos uma página web (CRUD) com autenticação, gerenciamento e interação muito mais útil e eficiente.

Comparação de preços

Por ser um serviço gerenciado em comparação direta com as mesmas funcionalidades em um IaaS o Transfer Family acaba ficando com um preço mais elevado. Obviamente todo o custo em operação, administração e infraestrutura deve ser colocado na balança.

Conduto, considerando uma m6i.2xlarge com 200G de TransferOut/mês, o Transfer Family teria uma vantagem financeira:

 Obs.: Aqui não consideramos savings plans, nem reserva.

Infra como Código

Como sempre vamos ver um exemplo de código para criar o deploy em python:

import boto3

 

# Cria o objeto de cliente do serviço

transfer_client = boto3.client(‘transfer’)

 

# Parametros

server_params = {

   

    ‘IdentityProviderType’: ‘SERVICE_MANAGED’, 

    ‘Protocols’: [‘SFTP’],

    ‘EndpointType’:’PUBLIC’,

    ‘Domain’:’S3′,

    ‘Tags’:'[{‘Key’: ‘Name’, ‘Value’: ‘SFTP by Python’}]’

 

}

 

# Crie o servidor SFTP

response = transfer_client.create_server(**server_params)

 

# Imprima o ID do servidor recém-criado

print(‘ID do Servidor SFTP:’, response[‘ServerId’])

Conclusão

O Transfer Family é uma ferramenta valiosa, que simplifica a transferência de arquivos para AWS, gerando facilidade na configuração, a segurança com diversos frameworks de compliantes, e toda a integração que a AWS possui entre seus serviços.

Xero no suvaco!!

Be Happy!!!

foto-thiago-marques
Thiago Marques Technical Account Manager
thiago.marques@darede.com.br

Technical Account Manager da Darede, formato em Rede de Computadores, e pós graduado em Segurança da Informação. Possui ampla experiência em Datacenters e Service Providers, além de ser um entusiasta em DevOps e mercado financeiro.

OUTRAS PUBLICAÇÕES

EBS Snapshot

EBS Snapshot O pai ta on!! No ecossistema da Amazon Web Services (AWS), o Amazon Elastic Block Store (EBS) desempenha um papel fundamental no armazenamento

Ramificações com o Git

Seguindo sua série de posts sobre Git, nosso #cloudspecialist Thiago Marques está de volta para falar sobre umas das principais funções do Git: as ramificações! Confere aí!

Nós usamos cookies para garantir e oferecer a melhor experiência de navegação em nosso site! Mais informações