DevOps

Entendendo o AWS Transfer Family

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!!! 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.

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