Ir para o conteúdo
  • Empresa
    • SOBRE NÓS
    • TRABALHE CONOSCO
  • Soluções
    CONSULTORIA CLOUD
    • GET STARTED
    • DESIGN
    • IMPLANTAÇÃO
    MIGRAÇÃO
    SQUAD AS A SERVICE
    WELL ARCHITECTED
    SEGURANÇA E COMPLIANCE
    • ASSESSMENT DE VULNERABILIDADE
    • CENTRO DE OPERAÇÕES DE SEGURANÇA (SOC)
    • ASSESSMENT LGPD
    • UTM - GERENCIAMENTO UNIFICADO DE AMEAÇAS
    BIG DATA & MACHINE LEARNING
    • Analytics
    • AI/ML
    SERVIÇOS GERENCIADOS
    • MONITORAMENTO E SUPORTE 24X7
    • DAREDE MSP
    • GERENCIAMENTO DEVOPS
    • GERENCIAMENTO DEVSECOPS
    • GERENCIAMENTO FINOPS
    • GERENCIAMENTO DE BANCO DE DADOS
    • GERENCIAMENTO DE PABX IP
    • LICENCIAMENTO DE SOFTWARE
    COMPETÊNCIAS AWS
    • AWS CLOUD FRONT
    • AWS AURORA
    • AMAZON RDS
    • DEVOPS
    • MICROSOFT WORKLOADS
    • MIGRATION
    • PUBLIC SECTOR
    • PUBLIC SECTOR NPO
    • PUBLIC SECTOR EDUCATION
    • WELL ARCHITECTED
    • VMWARE CLOUD ON AWS
    • API GATEWAY
    • LAMBDA
    • NETWORKING ON AWS
    • FINANCIAL SERVICES
  • Cases
  • Blog
Darede Portugal
  • Fale Conosco
  • Canal Compliance
  • Seja Parceiro Autorizado
Aprenda a migrar uma aplicação .NET para o ECS da AWS com o App2Container de forma prática e automatizada. Confira o passo a passo!

O que é App2Container?

O AWS App2Container (A2C) é uma ferramenta de linha de comando para ajudar você a realizar migração e modernização de aplicações executados em data centers locais ou em máquinas virtuais, para que sejam executados em contêineres gerenciados pelos serviços Amazon ECS, Amazon EKS ou Amazon App Runner. O principal objetivo do App2Container é simplificar o processo de migração de aplicações.

Como app2container funciona

Você pode usar o App2Container para gerar imagens de container para uma ou mais aplicações rodando em servidores Linux ou Windows. É possivel usar o App2Container diretamente nos servidores que estao rodando a aplicação ou executar as etapas de container e deployment em uma máquina remota.

Requisitos:

  • Windows Powershell versao 5.1 ou superior;
  • Possuir 1 ou mais aplicações rodando no IIS;
  • Docker tools;
  • AWS CLI.

Limitações:

  • App2Container não oferece suporte a aplicações ASP.NET com as seguintes características:
  1. A aplicação tem uma dependência relacionada ao sistema operacional do Windows;
  2. Está usando arquivos e registros fora dos diretórios de aplicativos da web do IIS;
  3. Tem dependências de outros serviços ou processos do Windows fora do IIS;
  • App2Container atualmente não oferece suporte ao modo Cluster/HA para aplicações Java;

  • Em sistemas operacionais Windows, suporte apenas .NET Framework versões 3.5 e 4.x

  • Exceto para aplicações Tomcat e JBoss 7+, a conteinerização de aplicativos Java genéricos da App2Container envolve empacotar todo o sistema de arquivos sem arquivos de sistema e kernel. Isso pode resultar em uma imagem de contêiner maior. Talvez seja necessário excluir arquivos manualmente para reduzir o tamanho das imagens, se desejar;

  • Para aplicações Tomcat e JBoss v7+, a imagem do contêiner App2Container inclui apenas arquivos utilizados diretamente pelo aplicativo. A imagem do contêiner não inclui arquivos relacionados ao gerenciamento e controle de versões de pacotes. Se você usar a imagem de contêiner gerada pelo App2Container como imagem base e tentar atualizar os aplicativos ou suas dependências por meio de um gerenciador de pacotes, essas atualizações poderão falhar;

  • App2Container não conteineriza componentes da camada de banco de dados. Se o seu aplicativo exigir acesso a um banco de dados, você deverá configurar o contêiner da aplicação para ter acesso ao servidor de banco de dados.

Antes de iniciarmos o App2Container, configuramos uma aplicação de exemplo com .Net 4.8 no IIS em um servidor Windows 2019. Como mostrado abaixo, estamos acessando a aplicação pelo endereço 172.31.86.54. Utilizaremos o App2Container desde a descoberta e análise da aplicação até o deploy no serviço ECS da AWS. Também será necessário configurar um usuário com permissões IAM. No nosso caso, utilizamos a política AdministratorAccess, mas, caso prefira uma permissão mais restritiva, consulte a documentação oficial para mais detalhes.

Step 1: Instalação App2Container

Para usar o App2Container, o primeiro passo é baixar, descompactar e instalar a aplicação.

https://app2container-release-us-east-1.s3.us-east-1.amazonaws.com/latest/windows/AWSApp2Container-installer-windows.zip

Após baixar e descompactar o arquivo .ZIP, execute o script dentro da pasta onde o extraiu.

.\install.ps1

Step 2: Inicialização App2Container

O processo de conteinerização consiste em algumas etapas. Essa etapa foca na inicialização do App2Container. 

  • A. Primeiro crie um bucket S3, armazene o nome deste bucket, ele sera usados posteriormente. No nosso caso criamos um bucket com o nome “bucket-site-darede”.
  • B. No servidor onde se encontra a aplicação IIS execute o comando abaixo:
    “app2container init”

  • C. Você será solicitado a fornecer as seguintes informações:

Parâmetro Valor
Workspace directory path Um diretório onde o App2Container pode armazenar artefatos durante o processo de conteinerização. O padrão é C:\Users\Administrator\AppData\Local\app2container.
AWS profile Contém informações necessárias para executar o App2Container, tais como AWS Access Keys e Secret Key.
Amazon S3 bucket Insira o nome do bucket S3 que foi criado anteriormente.
Permission to collect usage metrics Essa opção permite o App2Container coletar informações sobre o sistema operacional, tipos de aplicação e os comandos que o App2Container executa. O padrão é yes.
Upload logs Você pode opcionalmente carregar logs e artefatos automaticamente para o suporte do App2Container quando encontrar erros. O padrão é yes.
Whether to enforce signed images Opcionalmente você pode exigir que imagens sejam assinadas. O padrão é no.

Step 2: Descoberta e análise de aplicação

Depois de ter configurado e inicializado, você precisa analisar suas aplicações, durante essa fase você precisa listas as aplicações que estao executando nos servidores de aplicação e analisá-las.
Para isso faça o seguinte:

  •  A. Execute o comando “app2container inventory” para listar as aplicações que estão rodando em seu servidor. A saída conterá detalhes referente as aplicações que estão executando no servidor. Tome nota do ID da aplicação que será usado posteriormente, no nosso caso será o “iis-site-darede-8b4f3b1e“.

app2container inventory

  • B. Após tomar nota do id (passo anterior) da aplicação que será conteinerizado, execute o comando abaixo:

“app2container analyze –application-id iis-site-darede-8b4f3b1e”

O parâmetro analyze do comando App2Container cria um diretório/workspace para cada aplicação no caminho “C:\Users\Administrator\AppData

\Local\app2container\”. Caso queira, você pode editar as informações na seção containerParameters do arquivo analysis.json, que é criado durante esse processo.

Principais ajustes:

  • “diretorio” → “diretório” (correção de acentuação).
  • “diretorio/workspace” → “diretório/workspace” (mantendo coerência na acentuação).
  • “no diretorio” → “no caminho” (evita repetição e melhora a fluidez).
  • Pequenos ajustes de pontuação e destaque nos nomes dos arquivos e parâmetros para facilitar a leitura.

Step 3: Transformar sua aplicação

Agora que sua aplicação passou pela fase de análise, ela está pronta para a conteinerização. Esse processo criará os containers nos quais sua aplicação será executada no Amazon ECS, Amazon EKS ou App Runner, se aplicável.

Por fim, execute o seguinte comando para conteinerizar sua aplicação:
app2container containerize –application-id iis-site-darede-8b4f3b1e

Após executar o comando acima, a imagem do container da sua aplicação será criada. Para visualizar a aplicação, execute: docker images

Principais ajustes:

  • “observe que a imagem do container para sua aplicação é criada” → “a imagem do container da sua aplicação será criada” (melhora a fluidez e mantém a concordância).
  • Formatação do comando como código para facilitar a leitura.

O que este comando faz?

Ao executar o comando app2container containerize, um arquivo deployment.json é criado no diretório/workspace da aplicação:

C:\Users\Administrator\AppData\Local\app2container\iis-site-darede-8b4f3b1e

Esse arquivo contém várias configurações definidas para cada serviço da AWS. Você pode modificá-las conforme necessário para se adequar ao seu ambiente.

Como faremos o deploy em um ambiente Amazon ECS, manteremos o valor padrão do campo createEcsArtifacts como true e alteraremos o vpcId em reuseResources para o ID de uma VPC customizada.

Observação: Se o campo vpcId não for alterado, o deploy será realizado na VPC padrão. No nosso caso, alteraremos para vpc-08f2297e91fd57053.

Principais ajustes:

  • Melhor organização do texto em tópicos para facilitar a leitura.
  • Destaque em negrito para termos técnicos importantes.
  • Melhoria na explicação sobre a configuração do deployment.json.
  • Uso de código para caminhos de diretórios e valores específicos.

Step 4: Criar artefatos da aplicação

Nesta etapa, o App2Container cria os artefatos necessários para implantar sua aplicação na AWS. Esse processo pode levar alguns minutos para ser concluído.

Para gerar os artefatos, execute o seguinte comando:

app2container generate app-deployment –application-id iis-site-darede-8b4f3b1e

Principais ajustes:

  • “criar” → “cria” (concordância com o sujeito).
  • “demora alguns minutos para finalizar” → “pode levar alguns minutos para ser concluído” (mais natural).
  • Melhoria na formatação para facilitar a leitura.

O que este comando faz?

  • Cria um repositório no Amazon ECR (Elastic Container Registry).
  • Copia a imagem Docker da aplicação para o repositório recém-criado.

O que este comando faz?

  • Cria localmente, no diretório da aplicação, uma Task Definition (taskDef) do Amazon ECS.
  • Faz o upload para um bucket S3 (previamente criado) de todos os arquivos que serão usados posteriormente.

  • Cria o template do Cloudformation

Step 5: Deploy da aplicação no ECS da AWS

Nesta etapa, o deploy da aplicação será realizado na AWS usando o serviço ECS, por meio do AWS CloudFormation.

Para isso, será criada uma stack no CloudFormation com o seguinte comando:

aws cloudformation deploy --template-file C:\Users\Administrator\AppData\Local\app2container\iis-site-darede-8b4f3b1e\EcsDeployment\ecs-master.yml --capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND --stack-name a2c-iis-site-darede-8b4f3b1e-ECS

Após executar o comando, acesse o AWS Console, vá até CloudFormation e clique em Stacks. Você verá que a stack foi criada com o nome a2c-iis-site-darede-8b4f3b1e-ECS. Aguarde até a conclusão do processo.

Após a finalização da stack no CloudFormation

  1. Acesse o serviço ECS no AWS Console.
  2. No painel à esquerda, clique em Clusters.
  3. Selecione o cluster recém-criado. No nosso caso, o nome começa com “a2c-iis-site-darede-XXX“.

Verificando o serviço no ECS

  1. Na aba Services, clique no serviço recém-criado. No nosso caso, o nome começa com “a2c-iis-site-darede”.
  2. Observação: A aplicação estará com o status Running e ACTIVE.

Obtendo o endereço DNS da aplicação

  • Dentro da aba Services, clique em Configuration and Networking.
  • Copie o endereço exibido no campo “DNS Names”.

  • Dentro de Services, clique em Configuration and Networking e copie o endereço do campo “DNS Names”.
  • Cole o endereço copiado em um navegador e pronto… aplicação .NET migrada com sucesso.

Considerações

Neste artigo, migramos uma aplicação .NET de um servidor Windows Server 2019 para o serviço ECS da AWS usando a ferramenta App2Container. Seguimos todos os passos, desde a instalação do App2Container até o deploy no ECS.

No entanto, também é possível criar apenas a imagem com um Dockerfile e realizar as configurações manualmente, como fazer o upload da imagem para o ECR, criar as Task Definitions, Services, configurar o Load Balancer, entre outros.

Esperamos que este tutorial tenha ajudado você a aprimorar seus conhecimentos sobre o App2Container.

Principais correções:

  • “Windows 2019” → “Windows Server 2019” (nome correto do sistema operacional).
  • “Porém é possivel” → “No entanto, também é possível” (evita início de frase com “Porém” e melhora a fluidez).
  • “realizar as configurações manuais (fazer upload da imagem para o ECR, criar as tasks definitions, services, Load Balance e etc.)” → “realizar as configurações manualmente, como fazer o upload da imagem para o ECR, criar as Task Definitions, Services, configurar o Load Balancer, entre outros.” (melhoria na estrutura e correção do termo “Load Balance” para “Load Balancer”).
  • Ajustes menores na pontuação para melhor fluidez.

Referência:

https://aws.amazon.com/pt/app2container/ https://community.aws/content/2Zssp5TsUcm6Z5iFDDTdzOQuk6L/dockerize-asp-net-framework-application-using-app2container-deploy-to-aws-ecs https://docs.aws.amazon.com/whitepapers/latest/replatform-dotnet-apps-with-windows-containers/walkthrough.html https://docs.aws.amazon.com/app2container/latest/UserGuide/iam-a2c.html#iam-user-containerize https://aws.amazon.com/pt/app2container/faqs/
foto-thiago-Carlos Adriano De Souza
Carlos Adriano De Souza Especialista Microsoft | Workloads na Darede
carlos.souza@darede.com.br

Profissional certificado com mais de 15 anos de experiência em ambientes On-premise e Cloud. Especialista em workloads Microsoft, possui certificações Microsoft e AWS, além de ampla experiência com serviços AWS, Kubernetes, Docker e automação com PowerShell e Ansible. Atua com CI/CD, pipelines e virtualização, sempre focado em inovação e alta performance.

  • #AplicaçõesWeb, #BackEnd, #DesenvolvimentoWeb, #FrontEnd, #InterfacesInterativas, #JavaScript, #LinguagensDeProgramação, #NodeJS, #Programação, tecnologia

OUTRAS PUBLICAÇÕES

Novidades da AWS – DevOps: 15 de julho a 15 de agosto

Os #cloudspecialists da Darede reuniram as principais novidades de DevOps da AWS! Confira quais são elas e como elas podem te ajudar!

Cloud e ONGs: a modernização do terceiro setor

Cloud computing traz imensas vantagens para diversos setores. E as ONGs não são uma exeção. Além de trazer uma maior transparência, a tecnologia também aumenta a segurança para as entidades.

DAREDE É RECONHECIDA COMO AWS CONSULTING PARTNER OF THE YEAR – LATAM

Darede é reconhecida como parceira de destaque, impulsionando a inovação com soluções baseadas em AWS.

Novidades da Semana 01 a 05 de março

Todos os dias a AWS lança uma série novidades e atualizações em seus produtos que visam melhorar a vida de seus usuários. Reunimos algumas delas

Cloud Computing: Tendências

Nos últimos anos, a cloud foi uma das áreas que mais cresceram, e a expectativa futura é ainda mais animadora. Confira o artigo sobre suas tendências.

Novidades AWS – Segurança/Outros temas: 05 de agosto a 19 de setembro

Os #cloudspecialists da Darede reuniram as principais novidades da AWS! Confira quais são elas e como elas podem te ajudar!

« Anterior Página1 Página2 Página3 Página4 Página5 Página6 Página7 Página8 Página9 Página10 Próxima »
  • Alameda Araguaia, 2044 - Bloco 1 - CJ 210/211
    06455-000 - Alphaville,
    Barueri São Paulo - Brasil
  • +55 11 3900-1010 | 3995-6919
Acesse Darede Portugal
Darede Portugal

Conecte-se conosco

  • E-books
  • Blog

Mais

  • Fale Conosco
  • Canal Compliance
  • Seja Parceiro Autorizado
  • Governança Corporativa

newsletter

  • Política de Privacidade e Cookies
  • Perguntas Frequentes
© Copyright 2025 Darede à nuvem
Todos os direitos reservados | By Damidia Marketing & Conteúdo

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

ACEITAR & FECHAR
RECUSAR