Exemplo: Iniciar um Elastic Beanstalk em uma VPC com o Amazon RDS - 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á.

Exemplo: Iniciar um Elastic Beanstalk em uma VPC com o Amazon RDS

Esta seção mostra como implantar uma aplicação do Elastic Beanstalk com o Amazon RDS em uma VPC usando um gateway NAT. A infraestrutura terá aparência semelhante ao diagrama a seguir.

Topologia de Elastic Beanstalk e VPC com Amazon RDS
nota

Se você não usou uma instância de banco de dados com seu aplicativo antes, tente adicionar uma a um ambiente de teste e conectar-se a uma instância de banco de dados externa antes de adicionar uma configuração de VPC à combinação.

Criar uma VPC com uma sub-rede privada e pública

É possível usar o console da Amazon VPC para criar uma VPC.

Para criar uma VPC
  1. Faça login no console da Amazon VPC.

  2. No painel de navegação, escolha VPC Dashboard (Painel da VPC). Em seguida, selecione Create VPC (Criar VPC).

  3. Escolha VPC with Public and Private Subnets (VPC com sub-redes públicas e privadas) e selecione Select (Selecione).

    Escolha VPC com sub-redes públicas e privadas e depois Selecionar.
  4. O balanceador de carga do Elastic Load Balancing e as instâncias do Amazon EC2 devem estar na mesma zona de disponibilidade, para que se comuniquem entre si. Escolha mesma zona de disponibilidade em cada lista Availability Zone (Zona de disponibilidade).

    Escolha as mesmas zonas de disponibilidade para as sub-redes pública e privada.
  5. Escolha um endereço IP elástico no gateway NAT.

  6. Escolha Create VPC (Criar VPC).

    O assistente começa a criar a VPC, as sub-redes e o gateway da Internet. Ele também atualiza a tabela de rotas principal e cria uma tabela de rotas personalizada. Por fim, o assistente cria um gateway NAT na sub-rede pública.

    nota

    Você pode optar por ativar uma instância NAT na sub-rede pública, em vez de um gateway NAT. Para obter mais informações, consulte Cenário 2: VPC com sub-redes privadas e públicas (NAT) no Guia do usuário da Amazon VPC.

  7. Depois que a VPC for criada com êxito, você receberá uma ID de VPC. Você precisa desse valor na próxima etapa. Para visualizar o ID da VPC, escolha Your VPCs (Suas VPCs) no painel à esquerda do console da Amazon VPC.

    O console da Amazon VPC exibe o ID da sua VPC.

Criar um grupo de sub-redes de banco de dados

Um grupo de sub-redes de banco de dados de uma VPC é um conjunto de sub-redes (geralmente privadas) que você pode designar para suas instâncias de Banco de Dados de backend do RDS. Cada grupo de sub-redes de banco de dados deve ter no mínimo uma sub-rede para cada zona de disponibilidade de uma determinada região da AWS. Para saber mais, consulte Criar uma sub-rede na VPC.

Criar um grupo de sub-redes de banco de dados
  1. Abra o console do Amazon RDS.

  2. No painel de navegação, escolha Subnet groups (Grupos de sub-redes).

  3. Escolha Create DB Subnet Group (Criar grupo de sub-redes de banco de dados).

  4. Clique em Name (Nome) e digite o nome do seu grupo de sub-redes de banco de dados.

  5. Clique em Description (Descrição) e descreva o seu grupo de sub-redes de banco de dados.

  6. Em VPC, selecione o ID da VPC criada por você.

  7. Na seção Add subnets (Adicionar sub-redes), clique em Add all the subnets related to this VPC (Adicionar todas as sub-redes relacionadas a essa VPC).

    Adicione todas as sub-redes relacionadas a essa VPC.
  8. Quando terminar, escolha Create (Criar imagem).

    Seu novo grupo aparece na lista de grupos de sub-redes de banco de dados do console do Amazon RDS. Clique nele para ver detalhes, por exemplo, todas as sub-redes associadas a esse grupo, no painel de detalhes, na parte inferior da página.

Implantar no Elastic Beanstalk

Depois de configurar a VPC, é possível criar o ambiente dentro dela e implantar a aplicação no Elastic Beanstalk. Você pode fazer isso usando o console do Elastic Beanstalk ou pode usar a AWS toolkits, a AWS CLI, a EB CLI ou a API do Elastic Beanstalk. Se usar o console do Elastic Beanstalk, você só precisará fazer upload do arquivo .war ou .zip e selecionar as configurações da VPC dentro do assistente. O Elastic Beanstalk acaba criando o ambiente dentro da VPC e implantando a aplicação. Como alternativa, você pode usar a AWS toolkits, a AWS CLI, a EB CLI ou a API do Elastic Beanstalk para implantar a aplicação. Para isso, você precisa definir as configurações de opção da VPC em um arquivo de configuração e implantar esse arquivo com o pacote de origem. Este tópico apresenta instruções para ambos os métodos.

Implantar com o console do Elastic Beanstalk

O console do Elastic Beanstalk orienta durante a criação do novo ambiente dentro da VPC. Você precisa fornecer um arquivo .war (para aplicações Java) ou um arquivo .zip (para todas as outras aplicações). Na página VPC Configuration (Configuração de VPC) do assistente de ambiente do Elastic Beanstalk, você deve selecionar o seguinte:

VPC

Selecione a VPC.

VPC security group (Grupo de segurança da VPC

Selecione o security group da instância que você criou acima.

ELB visibility (Visibilidade do ELB

Selecione External se o load balancer precisar estar disponível publicamente, ou selecione Internal se o load balancer precisar estar disponível apenas dentro da VPC.

Selecione as sub-redes do load balancer e as instâncias EC2. Não se esqueça de selecionar a sub-rede pública para o balanceador de carga e a sub-rede privada para as instâncias do Amazon EC2. Por padrão, o assistente de criação da VPC criar a sub-rede pública na sub-rede privada 10.0.0.0/24 em 10.0.1.0/24.

É possível visualizar os IDs escolhendo Subnets (Sub-redes) no console da Amazon VPC.

IDs da sub-rede para a VPC

Implantação com a AWS toolkits, a EB CLI, AWS CLI ou API.

Ao implementar a aplicação no Elastic Beanstalk usando a AWS toolkits, a EB CLI, a AWS CLI ou a API, você pode especificar as configurações de opção da VPC em um arquivo e implantá-lo com o pacote de fonte. Consulte Personalização avançada de ambiente com arquivos de configuração (.ebextensions) para obter mais informações.

Quando você atualiza as configurações de opção, é necessário especificar pelo menos:

  • VPCId: contém o ID da VPC.

  • Subnets: contém o ID da sub-rede de grupos de Auto Scaling. Neste exemplo, é o ID da sub-rede privada.

  • ELBSubnets: contém o ID da sub-rede do balanceador de carga. Neste exemplo, é o ID da sub-rede pública.

  • SecurityGroups: contém o ID dos grupos de segurança.

  • DBSubnets: contém o ID das sub-redes de banco de dados.

    nota

    Ao usar sub-redes de banco de dados, você precisa criar sub-redes adicionais na sua VPC para incluir todas as zonas de disponibilidade na região da AWS.

Como opção, especifique também as seguintes informações:

  • ELBScheme: especifique internal para criar um balanceador de carga interno dentro da sua VPC para que a aplicação do Elastic Beanstalk não seja acessada de fora dela.

Veja a seguir um exemplo das configurações de opção que podem ser usadas ao implantar a aplicação do Elastic Beanstalk em uma VPC. Para obter mais informações sobre configurações de opção de VPC (inclusive exemplos de como especificá-las, valores padrão e valores válidos), consulte a tabela de namespace aws:ec2:vpc em Opções de configuração.

option_settings: - namespace: aws:autoscaling:launchconfiguration option_name: EC2KeyName value: ec2keypair - namespace: aws:ec2:vpc option_name: VPCId value: vpc-170647c - namespace: aws:ec2:vpc option_name: Subnets value: subnet-4f195024 - namespace: aws:ec2:vpc option_name: ELBSubnets value: subnet-fe064f95 - namespace: aws:ec2:vpc option_name: DBSubnets value: subnet-fg148g78 - namespace: aws:autoscaling:launchconfiguration option_name: InstanceType value: m1.small - namespace: aws:autoscaling:launchconfiguration option_name: SecurityGroups value: sg-7f1ef110
nota

Ao usar sub-redes de bancos de dados, certifique-se de ter sub-redes na sua VPC para incluir todas as zonas de disponibilidade na região da AWS.