P: O que é o AWS Elastic Beanstalk?
O AWS Elastic Beanstalk concede aos desenvolvedores rapidez na implementação e gerenciamento de aplicativos na nuvem AWS. Os desenvolvedores simplesmente carregam seu aplicativo e o Elastic Beanstalk lida automaticamente com os detalhes de implementação do provisionamento da capacidade, balanceamento de carga, Auto Scaling e monitoramento do status do aplicativo.

P: Quem deve usar o AWS Elastic Beanstalk?
Qualquer pessoa que queira implementar e gerenciar seus aplicativos em minutos na nuvem da AWS. Não é necessária experiência em computação em nuvem para começar a usar. O AWS Elastic Beanstalk é compatível com aplicativos da Web Java, Node.js, PHP, Python, Ruby e .NET.

P: Quais pilhas de desenvolvimento e linguagens são compatíveis com o AWS Elastic Beanstalk?
O AWS Elastic Beanstalk é compatível com as seguintes pilhas de desenvolvimento e linguagens:

  • Aplicativos Apache Tomcat para Java
  • Aplicativos Apache HTTP Server para PHP
  • Apache HTTP Server para aplicativos Python
  • Nginx u Apache HTTP Server para aplicativos Node.js
  • Passenger para aplicativos Ruby
  • Microsoft IIS 7.5 para aplicativos em .NET

P: O AWS Elastic Beanstalk oferecerá suporte a outros idiomas?
Sim. O AWS Elastic Beanstalk foi projetado de forma a ser estendido para futuramente oferecer suporte a várias pilhas de desenvolvimento e linguagens de programação. A AWS está trabalhando com provedores de solução quanto às APIs e capacidades necessárias para criar ofertas adicionais do Elastic Beanstalk.

P: O que os desenvolvedores podem fazer agora com o AWS Elastic Beanstalk que não podiam antes?
O AWS Elastic Beanstalk automatiza os detalhes do provisionamento de capacidade, balanceamento de carga, Auto Scaling e implementação de aplicativos – criando um ambiente que executa uma versão do seu aplicativo. Basta fazer upload do código implementável (por ex., arquivo WAR) ou colocar seu repositório Git e o AWS Elastic Beanstalk faz o resto. O AWS Toolkit for Visual Studio e o AWS Toolkit for Eclipse permitem que você implemente seu aplicativo no AWS Elastic Beanstalk e o gerencie sem deixar seu IDE. Quando o aplicativo for executado, o Elastic Beanstalk automatiza tarefas de gerenciamento como monitoramento, implementação de versões do aplicativo, uma verificação básica da saúde e facilita o acesso a arquivos de logs. Ao usar o Elastic Beanstalk, os desenvolvedores podem concentrar-se no desenvolvimento de seu aplicativo e ficam liberados das tarefas voltadas para a implementação, como servidores de provisionamento, configuração do balanceamento de cargas ou gerenciamento do escalonamento.

P: No que o AWS Elastic Beanstalk difere dos contêineres existentes dos aplicativos ou de soluções de plataforma como um serviço?
A maioria dos contêineres de aplicativos existentes ou soluções de plataforma como um serviço, embora reduza a quantidade de programação exigida, diminui significativamente a flexibilidade e o controle dos desenvolvedores. Os desenvolvedores são forçados a conviver com todas as decisões pré-determinadas pelo fornecedor – com pouca ou nenhuma oportunidade de retomar o controle sobre várias partes da infraestrutura de seu aplicativo. No entanto, com o AWS Elastic Beanstalk, os desenvolvedores retêm o controle total sobre os recursos da AWS que capacitam seu aplicativo. Se os desenvolvedores decidirem que desejam gerenciar alguns (ou todos) os elementos de sua infraestrutura, eles podem fazê-lo perfeitamente usando os recursos de gerenciamento do Elastic Beanstalk.

P: Quais elementos do meu aplicativo posso controlar ao usar o AWS Elastic Beanstalk?
Com o AWS Elastic Beanstalk, você pode:

  • Selecione o sistema operacional que é compatível com as exigências de seu aplicativo (ex., Amazon Linux ou Windows Server 2008 R2)
  • Optar entre várias opções disponíveis de banco de dados e de armazenamento
  • Habilitar o acesso de login às instâncias do Amazon EC2 para solução de problemas imediata e direta
  • Aprimorar rapidamente a confiabilidade do aplicativo ao executar em mais de uma Zona de disponibilidade
  • Aperfeiçoar a segurança do aplicativo ao habilitar o protocolo HTTPS no balanceador de cargas
  • Acesse as notificações de monitoramento e de obtenção embutidas do Amazon CloudWatch quanto à saúde do aplicativo e outros eventos importantes
  • Ajustar configurações de servidor do aplicativo (p.ex., configurações JVM) e varáveis de ambiente de passagem
  • Executar outros componentes de aplicativos, como serviço de armazenamento em cache da memória, lado a lado no Amazon EC2.
  • Acessar arquivos de log sem efetuar login nos servidores de aplicativos

P: Quais são os recursos de nuvem que capacitam o aplicativo AWS Elastic Beanstalk?
O AWS Elastic Beanstalk usa recursos e serviços comprovados da AWS, como Amazon EC2, Amazon RDS, Elastic Load Balancing, Auto Scaling, Amazon S3 e Amazon SNS para criar um ambiente que execute seu aplicativo. A versão atual do AWS Elastic Beanstalk usa o Amazon Linux AMI ou o Windows Server 2008 R2 AMI.

P: Quais tipos de aplicativos são compatíveis com o AWS Elastic Beanstalk?
O AWS Elastic Beanstalk é compatível com Java, Node.js, PHP, Python, Ruby e .NET e é perfeito para aplicativos da Web. No entanto, devido à arquitetura aberta do Elastic Beanstalk, os aplicativos que não são da web também podem ser implementados usando o Elastic Beanstalk. Esperamos oferecer suporte adicional a outros tipos de aplicativo e linguagens de programação no futuro.

P: Qual sistema operacional é usado pelo AWS Elastic Beanstalk?
O AWS Elastic Beanstalk executa o Amazon Linux AMI e o Windows Server 2008 R2 AMI. Os dois AMIs são suportados e mantidos pela Amazon Web Services e foram projetados para oferecer um ambiente de execução estável, seguro e de alto desempenho para a computação em nuvem do Amazon EC2.

P: Com que rapidez o aplicativo começará a ser executado?
Normalmente, são necessários alguns minutos para a criação dos recursos da AWS para executar seu aplicativo, contando a partir do momento que você carrega a versão do aplicativo (por exemplo, arquivos WAR, ASP.NETfiles, Node.js, PHP, Python ou Ruby) até o momento em que estiver totalmente implementado e acessível para seus usuários. Esse período depende de uma série de fatores, incluindo: o tamanho do código implementável e do número de servidores de aplicativo que você está implementando.

P: Com que rapidez meu aplicativo será atualizado?
A implementação de novas versões do aplicativo a recursos existentes (por ex., ambientes) ocorre muito mais rápido (normalmente em menos de um minuto) e depende, em sua maioria, do tamanho da nova versão do aplicativo. Com a implementação do Git, somente os arquivos modificados serão transferidos para o AWS Elastic Beanstalk e as atualizações geralmente demoram alguns segundos.

P: Com que rapidez o aplicativo poderá ser expandido ou reduzido?
O AWS Elastic Beanstalk fornece um ambiente verdadeiramente elástico usando o Auto Scaling. O aplicativo pode ser configurado para escalar automaticamente dezenas ou até centenas de vezes, com base nos limites, como utilização da CPU ou largura de banda de rede. Esses limites podem ser facilmente configurados para seu aplicativo específico usando o console do Elastic Beanstalk. Com o Elastic Beanstalk, você não tem de se preocupar se poderá escalar rapidamente para lidar com picos no tráfego ou usuários, nem se será obrigado a pagar por recursos de que não precisa.

P: Posso ter várias versões do aplicativo sendo executadas ao mesmo tempo?
Sim. O AWS Elastic Beanstalk foi projetado para oferecer suporte a vários ambientes em execução, como por exemplo, um ambiente para testes de integração, um para pré-produção e um para produção. Cada ambiente é independentemente configurado e executado em seus próprios recursos separados da AWS. O Elastic Beanstalk também armazena e monitora versões do aplicativo ao longo do tempo, portanto um ambiente existente pode ser facilmente recuperado para uma versão anterior ou um novo ambiente pode ser iniciado usando uma versão mais antiga para testar e reproduzir o problema de um cliente.

P: Quantos aplicativos posso executar com o AWS Elastic Beanstalk?
É possível criar até 25 aplicativos e 500 versões de aplicativos. Por padrão, você pode executar até 10 ambientes em todos seus aplicativos. Se você também estiver usando a AWS fora do AWS Elastic Beanstalk, talvez não possa criar 10 ambientes, uma vez que outros limites poderão ser atingidos antes. Por exemplo, os limites padrão da conta da AWS permitem que você inicie até 20 instâncias do EC2 e crie até 10 Balanceadores de carga do Elastic. Se você precisar de mais recursos, preencha o formulário de solicitação do AWS Elastic Beanstalk e a solicitação será prontamente avaliada.

P: Posso usar o AWS Elastic Beanstalk para implementar aplicativos que devem ser altamente disponíveis?
Sim. Para isso, edite as definições de configuração do ambiente, selecione duas ou mais instâncias para o mínimo do Auto Scaling e defina várias zonas de disponibilidade como "Any 2" (Quaisquer 2). As Zonas de disponibilidade da AWS foram projetadas para serem fisicamente diferentes, falharem independentemente e serem confiáveis.

P: O que acontece se o aplicativo parar de responder às solicitações?
Os aplicativos do AWS Elastic Beanstalk são protegidos contra falhas na infraestrutura subjacente. Se uma instância do Amazon EC2 falhar por algum motivo, o AWS Elastic Beanstalk usará o Auto Scaling para executar uma nova instância automaticamente. O Elastic Beanstalk também pode detectar se o aplicativo não está respondendo no URL personalizado, embora a infraestrutura subjacente pareça saudável e registrará como um evento do ambiente para que você possa adotar a medida apropriada (por ex., uma versão incorreta foi implementada).

P: Em quais regiões da AWS o AWS Elastic Beanstalk está disponível?
No momento, o AWS Elastic Beanstalk está disponível em várias Zonas de disponibilidade nas seguintes regiões:

  • Leste dos EUA (Virgínia)
  • Oeste dos EUA (Oregon)
  • Oeste dos EUA (Norte da Califórnia)
  • UE (Irlanda)
  • UE (Frankfurt)
  • Ásia-Pacífico (Cingapura)
  • Ásia-Pacífico (Sydney)
  • Ásia-Pacífico (Tóquio)
  • América do Sul (São Paulo)

P: Como faço para acessar o AWS Elastic Beanstalk?
É possível usar o AWS Management Console, a interface de linha de comando do AWS Elastic Beanstalk, o AWS Toolkit for Visual Studio, o AWS Toolkit for Eclipse, a API do AWS Elastic Beanstalk ou SDKs da AWS. Você também pode utilizar o Git para implementar seu código no Elastic Beanstalk.

P: Posso utilizar um ambiente de desenvolvimento integrado como o Eclipse ou o Microsoft Visual Studio?
Sim. Você pode usar o Eclipse e o Visual Studio para implementar seu aplicativo no AWS Elastic Beanstalk. Você pode usar o AWS Toolkit for Eclipse para aplicativos em Java e o AWS Toolkit for Visual Studio para aplicativos em .NET. Esses toolkits permitem que você desenvolva seu aplicativo, implemente-o no Elastic Beanstalk, e até mesmo teste-o sem a necessidade de afastar seu foco do IDE.

P: Posso usar o Git para implementar meu aplicativo no AWS Elastic Beanstalk?
Sim. Você pode usar o Git para implementar seu aplicativo no AWS Elastic Beanstalk. Para mais detalhes, consulte ''Deploying Applications in PHP Using Git'' no AWS Elastic Beanstalk Developer Guide.



P: Como faço para me conectar ao AWS Elastic Beanstalk?

Para cadastrar-se no AWS Elastic Beanstalk, clique no botão Cadastrar-se agora na página de detalhes do Elastic Beanstalk. É necessário ter uma conta do Amazon Web Services para acessar esse serviço; se você ainda não tiver uma, será solicitada a criação de uma quando você iniciar o processo do Elastic Beanstalk. Após a conclusão do cadastro, consulte o AWS Elastic Beanstalk Getting Started Guide.

P: Por que é solicitado que eu verifique o número de telefone ao me conectar ao AWS Elastic Beanstalk?

O registro do AWS Elastic Beanstalk requer que você tenha um número de telefone válido e um endereço de e-mail arquivados junto à caso precisemos entrar em contato com você. Verificar o número de telefone leva apenas alguns minutos e envolve o recebimento de um telefonema automatizado durante o processo de registro e a inserção de um número PIN usando o teclado do telefone.

P: Como faço para começar a usar após ter me conectado?

A melhor forma de começar a usar o AWS Elastic Beanstalk é através AWS Elastic Beanstalk Getting Started Guide, que faz parte de nossa documentação técnica. Em alguns minutos, você poderá implementar e usar um aplicativo de exemplo ou carregar seu próprio aplicativo.

P: Há um aplicativo de exemplo que posso usar para verificar o AWS Elastic Beanstalk?

Sim. O AWS Elastic Beanstalk inclui um aplicativo de exemplo que pode ser usado para testar a oferta e explorar sua funcionalidade.

P: O AWS Elastic Beanstalk armazena algo no Amazon S3?

Sim. O AWS Elastic Beanstalk armazena seus arquivos de aplicativo e, opcionalmente, arquivos de log do servidor no Amazon S3. Se você estiver usando o AWS Management Console, Git, AWS Toolkit for Visual Studio ou AWS Toolkit for Eclipse, um bucket do Amazon S3 será criado em sua conta e os arquivos carregados serão copiados automaticamente do cliente local para o Amazon S3. Ou você poderá configurar o Elastic Beanstalk para copiar os arquivos do log do servidor a cada hora no Amazon S3. Isso é feito ao editar as definições de configuração do ambiente.

P: Posso usar o Amazon S3 para armazenar dados de aplicativo como imagens?

Sim. Você pode usar o Amazon S3 para armazenamento do aplicativo. A forma mais fácil de fazer isso é incluindo o SDK da AWS como parte do arquivo implementável do seu aplicativo. Por exemplo, você pode incluir o AWS SKD para Java como parte do arquivo WAR do aplicativo.

P: Quais soluções do banco de dados posso usar com o AWS Elastic Beanstalk?

O AWS Elastic Beanstalk não vai restringi-lo a qualquer tecnologia específica de persistência de dados. Você pode optar por usar o Amazon Relational Database Service (Amazon RDS), Amazon DynamoDB, Amazon SimpleDB ou usar o Microsoft SQL Server, Oracle ou outros bancos de dados relacionais executados no Amazon EC2.

P: Como faço para configurar um banco de dados para uso com o AWS Elastic Beanstalk?

O Elastic Beanstalk pode provisionar automaticamente uma instância de banco de dados do Amazon RDS. As informações de conectividade para a instância de banco de dados são expostas ao seu aplicativo por variáveis do ambiente. Para saber mais sobre como configurar instâncias de banco de dados do RDS para o seu ambiente, consulte o Elastic Beanstalk Developer Guide.

P: Isso significa que preciso modificar o código do aplicativo ao passar do teste para a produção?

Não com o AWS Elastic Beanstalk. Com o Elastic Beanstalk, você pode especificar as informações de conexão na configuração do ambiente. Ao extrair a string de conexão do código do aplicativo, você poderá facilmente configurar diferentes ambientes do Elastic Beanstalk para usar diferentes bancos de dados.

P: Como torno o aplicativo privado?

Como padrão, o aplicativo está disponível publicamente em myapp.elasticbeanstalk.com para qualquer um acessar. Você pode usar a Amazon VPC para provisionar uma seção privada e isolada de seu aplicativo em uma rede virtual que você definir. Essa rede virtual pode se tornar privada através de regras de grupo de segurança específicas, ACLs de rede e tabelas de roteamento personalizadas. Você pode controlar facilmente qual outro tráfego de entrada (como SSH) é entregue ou não aos servidores do aplicativo ao alterar as definições do grupo de Segurança do EC2.

P: Posso executar meu aplicativo em uma Virtual Private Cloud (VPC)?

Sim, você pode executar seus aplicativos em uma VPC. Para obter mais detalhes, visite o AWS Elastic Beanstalk Developer Guide.

P: Onde posso obter mais informações sobre segurança e execução de aplicativos na AWS?

Para obter mais informações sobre segurança na AWS, consulte nosso documento Amazon Web Services: Visão geral dos processos de segurança, e visite nossa Central de segurança.

P: É possível usar o Identity & Access Management (IAM) com o AWS Elastic Beanstalk?

Sim. Sim, usuários IAM com as permissões apropriadas podem agora interagir com o serviço do AWS Elastic Beanstalk.

P: Por que devo usar o IAM com o AWS Elastic Beanstalk?

O IAM permite gerenciar usuários e grupos de forma centralizada. Você pode controlar quais usuários IAM têm acesso ao AWS Elastic Beanstalk e limitar as permissões de acesso somente para leitura ao Elastic Beanstalk para os operadores que não podem executar ações em recursos do Elastic Beanstalk. Todas as atividades de usuário dentro de sua conta serão agregadas em uma única conta para cobrança da AWS.

P: Como criar usuários IAM?

Você pode usar o console IAM, interface de linha de comando IAM ou API IAM para provisionar os usuários IAM. Por padrão, os usuários IAM não têm acesso aos serviços AWS até que as permissões sejam concedidas.

P: Como conceder o acesso de usuário a um IAM para o AWS Elastic Beanstalk?

Você pode conceder acesso para serviços aos usuários IAM usando políticas. Para simplificar o processo de concessão de acesso ao AWS Elastic Beanstalk, você pode usar um dos modelos de política no console IAM para ajudá-lo a começar. O Elastic Beanstalk oferece dois modelos: um modelo de acesso somente leitura e um modelo de acesso total. O modelo somente leitura concede acesso de leitura a recursos do Elastic Beanstalk. O modelo de acesso total concede acesso completo a todas as operações do Elastic Beanstalk, bem como permissões para gerenciar os recursos dependentes como Elastic Load Balancing, Auto Scaling e Amazon S3. Também é possível usar o AWS Policy Generator para criar políticas. Para obter mais detalhes, visite o AWS Elastic Beanstalk Developer Guide.

P: Posso restringir o acesso a recursos específicos do AWS Elastic Beanstalk?

Sim. Você pode permitir ou negar permissões para recursos do AWS Elastic Beanstalk específicos, assim como aplicativos, versões de aplicativos e ambientes.

P: Quem será cobrado pelos recursos AWS que um usuário IAM cria?

Todos os recursos criados por usuários IAM sob uma conta de root são de propriedade e bico para a conta de root.

P: Quem tem acesso a um ambiente do AWS Elastic Beanstalk iniciado por um usuário IAM?

A conta de root tem acesso total a todos os ambientes do AWS Elastic Beanstalk iniciada por qualquer usuário IAM nessa conta. Se você usar o modelo do Elastic Beanstalk para conceder acesso de somente leitura a um usuário IAM, esse usuário poderá ver todos os aplicativos, versões de aplicativos, ambientes e qualquer recurso associado a essa conta. Se você usar o modelo do Elastic Beanstalk para conceder acesso total a um usuário IAM, esse usuário poderá criar, modificar e interromper quaisquer recursos do Elastic Beanstalk nessa conta.

P: Um usuário IAM pode acessar o console do AWS Elastic Beanstalk?

Sim. Um usuário IAM pode acessar o console do AWS Elastic Beanstalk usando seu nome de usuário e senha.

P: Um usuário IAM pode chamar uma API do AWS Elastic Beanstalk?

Sim. Um usuário IAM pode usar sua chave de acesso e chave secreta para executar operações usando a API do Elastic Beanstalk.

P: Um usuário IAM pode usar a interface da linha de comando do AWS Elastic Beanstalk?

Sim. Um usuário IAM pode usar sua chave de acesso e chave secreta para executar operações usando a interface de linha de comando do AWS Elastic Beanstalk.

P: Quanto custa o AWS Elastic Beanstalk?

Não há encargos adicionais para o AWS Elastic Beanstalk – você paga apenas pelos recursos da AWS que realmente usou para armazenar e executar o aplicativo. Novos clientes da AWS que são elegíveis para o nível de uso gratuito da AWS poderão implementar um aplicativo que seja executado dentro do nível de uso gratuito utilizando as definições padrão do AWS Elastic Beanstalk.

P: Quanto custam os recursos da AWS que capacitam o aplicativo no AWS Elastic Beanstalk?

Você paga somente por aquilo que usar e não há taxa mínima pelo uso de nenhum recurso da AWS. Para obter informações sobre a definição de preço do Amazon EC2, acesse a seção de definição de preço na página de detalhes do EC2. Para obter informações sobre a definição de preço do Amazon S3, acesse a seção de definição de preço na página de detalhes do S3. Você pode usar a calculadora simples da AWS para estimar sua fatura para diferentes tamanhos de aplicativo.

P: Como faço para verificar quantos recursos da AWS foram usados pelo meu aplicativo e acessar minha fatura?

Você pode visualizar suas despesas para o período de cobrança a qualquer momento por meio do site da Amazon Web Services. Para isso faça o login em sua conta da Amazon Web Services e, em seguida, clique em Account Activity em Your Web Services Account.

P: O AWS Support abrange o AWS Elastic Beanstalk?

Sim. O AWS Support abrange problemas relacionados ao uso do AWS Elastic Beanstalk. Para maiores detalhes e informações sobre preço, veja a página do AWS Support.

P: Quais outras opções de suporte estão disponíveis?

Você pode usufruir da gama de conhecimento da comunidade da AWS existente para obter ajuda com o desenvolvimento por meio do fórum de discussão do AWS Elastic Beanstalk.