Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Implantar uma aplicação sinatra no Elastic Beanstalk

Modo de foco
Implantar uma aplicação sinatra no Elastic Beanstalk - AWS Elastic Beanstalk

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

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

Este passo a passo mostra como implantar uma aplicação web Sinatra simples no AWS Elastic Beanstalk.

nota

Contas da AWS criadas após 1º de outubro de 2024 precisarão definir temporariamente uma opção para criar um novo ambiente com êxito. Como acontece com novas contas, mas somente em regiões nas quais conta ainda não possui um ambiente, as contas existentes precisarão realizar a mesma ação. Para ter mais informações, consulte Modelos de execução.

Pré-requisitos

Este tutorial pressupõe que você tenha conhecimento das operações básicas e do console do Elastic Beanstalk. Caso ainda não tenha, siga as instruções em Introdução ao Elastic Beanstalk para iniciar seu primeiro ambiente do Elastic Beanstalk.

Para seguir os procedimentos neste manual, você precisa de um terminal de linha de comando ou de um shell para executar os comandos. Nas listagens, os comandos são mostrados precedidos por um símbolo de prompt ($) e pelo nome do diretório atual, quando apropriado.

~/eb-project$ this is a command this is output

No Linux e no macOS, você pode usar seu gerenciador de pacotes e de shell preferido. No Windows, você pode instalar o subsistema Windows para Linux para obter uma versão do Ubuntu e Bash integrada ao Windows.

O Sinatra 2.1.0 requer o Ruby 2.3.0 ou mais recente. Neste tutorial, usamos Ruby 3.0.2 e a versão correspondente da plataforma do Elastic Beanstalk. Instale o Ruby seguindo as instruções em Configurar seu ambiente de desenvolvimento Ruby para o Elastic Beanstalk.

Iniciar um ambiente do Elastic Beanstalk

Use o console do Elastic Beanstalk para criar um ambiente do Elastic Beanstalk. Escolha a configuração da Plataforma Ruby e aceite as configurações padrão e o código de exemplo.

Para iniciar um ambiente (console)
  1. Abra o console do Elastic Beanstalk com este link pré-configurado: console.aws.amazon.com/elasticbeanstalk/home#/newApplication?applicationName=tutorials&environmentType=LoadBalanced

  2. Em Platform (Plataforma), selecione a plataforma e a ramificação da plataforma que correspondem à linguagem usada pelo seu aplicativo.

  3. Para Application code, escolha Sample application.

  4. Selecione Review and launch.

  5. Examine as opções disponíveis. Escolha a opção disponível que deseja usar e, quando estiver pronto, escolha Create app (Criar aplicativo).

A criação de ambiente leva cerca de 5 minutos e cria os seguintes recursos:

  • Instância do EC2: uma máquina virtual do Amazon Elastic Compute Cloud (Amazon EC2) configurada para executar aplicações Web na plataforma escolhida.

    Cada plataforma executa um conjunto específico de software, arquivos de configuração e scripts para oferecer suporte a uma versão de linguagem, framework, contêiner da web específicos ou a uma combinação deles. A maioria das plataformas usa o Apache ou o NGINX como um proxy reverso que fica na frente da aplicação Web, encaminha solicitações para ela, atende ativos estáticos e gera logs de acesso e de erro.

  • Grupo de segurança de instância: um grupo de segurança do Amazon EC2 configurado para permitir tráfego de entrada na porta 80. Esse recurso permite que o tráfego HTTP do load balancer chegue à instância do EC2 que executa seu aplicativo Web. Por padrão, o tráfego não é permitido em outras portas.

  • Balanceador de carga: um balanceador de carga do Elastic Load Balancing configurado para distribuir solicitações para as instâncias que executam a aplicação. Um load balancer também elimina a necessidade de expor suas instâncias diretamente à Internet.

  • Grupo de segurança do balanceador de carga: um grupo de segurança do Amazon EC2 configurado para permitir tráfego de entrada na porta 80. Esse recurso permite que o tráfego HTTP da Internet acesse o load balancer. Por padrão, o tráfego não é permitido em outras portas.

  • Grupo de Auto Scaling: grupo de Auto Scaling configurado para substituir uma instância se ela for encerrada ou ficar indisponível.

  • Bucket do Amazon S3: um local de armazenamento do seu código-fonte, logs e outros artefatos criados quando o Elastic Beanstalk é utilizado.

  • Alarmes do Amazon CloudWatch: dois alarmes do CloudWatch que monitoram a carga nas instâncias do ambiente e são acionados quando ela está muito alta ou muito baixa. Quando um alarme é acionado, o seu grupo de Auto Scaling pode aumentar ou diminuir.

  • Pilha do AWS CloudFormation: o Elastic Beanstalk usa o AWS CloudFormation para iniciar os recursos em seu ambiente e propagar alterações de configuração. Os recursos são definidos em um modelo que você pode visualizar no console do AWS CloudFormation.

  • Nome de domínio: um nome de domínio que encaminha para a aplicação Web no formato subdomínio.região.elasticbeanstalk.com.

    Segurança de domínios

    Para aumentar a segurança de suas aplicações do Elastic Beanstalk, o domínio elasticbeanstalk.com é registrado na Lista Pública de Sufixos (PSL).

    Se precisar definir cookies confidenciais no nome de domínio padrão para suas aplicações Elastic Beanstalk, recomendamos usar cookies com um prefixo __Host- para maior segurança. Essa prática defende seu domínio contra tentativas de falsificação de solicitação entre sites (CSRF). Para obter mais informações, consulte a página Set-Cookie na Mozilla Developer Network.

Todos esses recursos são gerenciados pelo Elastic Beanstalk. Quando você encerra o ambiente, o Elastic Beanstalk encerra todos os recursos dele.

nota

O bucket do Amazon S3 que o Elastic Beanstalk cria é compartilhado entre ambientes e não é excluído durante o encerramento do ambiente. Para ter mais informações, consulte Usar o Elastic Beanstalk com o Amazon S3.

Escrever um site sinatra básico

Como criar e implantar um aplicativo sinatra
  1. Crie um arquivo de configuração chamado config.ru com o conteúdo a seguir.

    exemplo config.ru
    require './helloworld' run Sinatra::Application
  2. Crie um arquivo de código Ruby chamado helloworld.rb com o conteúdo a seguir.

    exemplo helloworld.rb
    require 'sinatra' get '/' do "Hello World!" end
  3. Crie um Gemfile com o conteúdo a seguir.

    exemplo Gemfile
    source 'https://rubygems.org' gem 'sinatra' gem 'puma'
  4. Execute a instalação do pacote para gerar o Gemfile.lock

    ~/eb-sinatra$ bundle install Fetching gem metadata from https://rubygems.org/.... Resolving dependencies... Using bundler 2.2.22 Using rack 2.2.3 ...
  5. Para que o Elastic Beanstalk implante com sucesso a aplicação na plataforma Ruby, precisamos atualizar o Gemfile.lock. Algumas dependências do Gemfile.lock talvez sejam específicas da plataforma. Portanto, precisamos adicionar platform ruby a Gemfile.lock para que todas as dependências necessárias sejam instaladas com a implantação.

    ~/eb-sinatra$ bundle lock --add-platform ruby Fetching gem metadata from https://rubygems.org/.... Resolving dependencies... Writing lockfile to /Users/janedoe/EBDPT/RubyApps/eb-sinatra/Gemfile.lock
  6. Crie um arquivo Procfile com o seguinte conteúdo:

    exemplo Procfile
    web: bundle exec puma -C /opt/elasticbeanstalk/config/private/pumaconf.rb

Implantar o aplicativo

Crie um pacote de origem com os arquivos de origem. O comando a seguir cria um pacote de origem chamado sinatra-default.zip.

~/eb-sinatra$ zip ../sinatra-default.zip -r * .[^.]*

Faça upload do pacote de origem no Elastic Beanstalk para implantar o Sinatra no ambiente.

Para implantar um pacote de origem
  1. Abra o console do Elastic Beanstalk e, na lista Regions (Regiões), selecione a sua Região da AWS.

  2. No painel de navegação, selecione Ambientes e selecione o nome do ambiente na lista.

    nota

    Se você tiver muitos ambientes, use a barra de pesquisa para filtrar a lista de ambientes.

  3. Na página de visão geral do ambiente, escolha Upload and deploy (Fazer upload e implantar).

  4. Use a caixa de diálogo na tela para carregar o pacote de origem.

  5. Escolha Deploy (Implantar).

  6. Quando a implantação for concluída, é possível escolher o URL do site para abri-lo em uma nova guia.

Limpeza

Ao terminar de trabalhar com o Elastic Beanstalk, você pode encerrar o ambiente. O Elastic Beanstalk termina todos os recursos da AWS associados ao seu ambiente, como instâncias do Amazon EC2, instâncias de banco de dados, balanceadores de carga, grupos de segurança e alarmes.

Para encerrar seu ambiente Elastic Beanstalk do console
  1. Abra o console do Elastic Beanstalk e, na lista Regions (Regiões), selecione a sua Região da AWS.

  2. No painel de navegação, selecione Ambientes e selecione o nome do ambiente na lista.

    nota

    Se você tiver muitos ambientes, use a barra de pesquisa para filtrar a lista de ambientes.

  3. Escolha Actions (Ações) e depois Terminate Environment (Encerrar ambiente).

  4. Use a caixa de diálogo na tela para confirmar o encerramento do ambiente.

Com o Elastic Beanstalk, é possível criar facilmente um ambiente para a aplicação a qualquer momento.

Próximas etapas

Para mais informações sobre o Sinatra, acesse sinatrarb.com.

À medida que você desenvolva a aplicação, provavelmente vai precisar de uma maneira de gerenciar ambientes e implantá-la sem criar manualmente um arquivo .zip e carregá-la no console do Elastic Beanstalk. A Interface de Linhas de Comando do Elastic Beanstalk (CLI do EB) oferece comandos fáceis de usar para criar, configurar e implantar aplicações em ambientes do Elastic Beanstalk na linha de comando.

Por fim, se você planeja usar seu aplicativo em um ambiente de produção, configure um nome de domínio personalizado para seu ambiente e habilite HTTPS para conexões seguras.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.