Introdução

O Ubuntu Linux é uma escolha comum para servidores de aplicação, gateways de integração e serviços de backend na AWS, por sua estabilidade, suporte de longo prazo (LTS) e vasta documentação. Este tutorial detalha o processo de criação de uma instância EC2 com Ubuntu, cobrindo desde a escolha da AMI até o primeiro acesso via SSH.

Pré-requisitos

Passo 1: Escolher a AMI oficial do Ubuntu

A Canonical publica AMIs oficiais do Ubuntu na AWS Marketplace. Para localizar a versão mais recente do Ubuntu 22.04 LTS na região sa-east-1:

aws ec2 describe-images \
  --owners 099720109477 \
  --filters "Name=name,Values=ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*" \
  --query "sort_by(Images, &CreationDate)[-1].[ImageId,Name]" \
  --region sa-east-1

O proprietário 099720109477 corresponde à conta oficial da Canonical na AWS. O comando retorna o ImageId mais recente, por exemplo ami-0fedcba1234567890.

Passo 2: Criar o Security Group

aws ec2 create-security-group \
  --group-name ssh-acesso-restrito \
  --description "Permite SSH apenas da rede corporativa" \
  --vpc-id vpc-0a1b2c3d4e5f6789a

Libere a porta 22 apenas para IPs confiáveis:

aws ec2 authorize-security-group-ingress \
  --group-id sg-0def456abc789012 \
  --protocol tcp \
  --port 22 \
  --cidr 203.0.113.0/24

Passo 3: Lançar a instância via console AWS

  1. No console EC2, clique em Launch instance.
  2. Defina o nome, por exemplo: ubuntu-app-backend-01.
  3. Em Application and OS Images, selecione Ubuntu Server 22.04 LTS.
  4. Escolha o tipo de instância, por exemplo t3.medium.
  5. Selecione o Key Pair já criado.
  6. Configure a VPC, sub-rede e o Security Group criado anteriormente.
  7. Ajuste o volume EBS conforme necessário (ex. 30 GiB, gp3).
  8. Clique em Launch instance.

Passo 4: Lançar a instância via AWS CLI

aws ec2 run-instances \
  --image-id ami-0fedcba1234567890 \
  --instance-type t3.medium \
  --key-name producao-servidores-linux \
  --security-group-ids sg-0def456abc789012 \
  --subnet-id subnet-0123abcd4567ef89 \
  --block-device-mappings "DeviceName=/dev/sda1,Ebs={VolumeSize=30,VolumeType=gp3}" \
  --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=ubuntu-app-backend-01}]' \
  --region sa-east-1

Verificando o status da instância

aws ec2 describe-instances \
  --instance-ids i-0a1b2c3d4e5f67890 \
  --query "Reservations[].Instances[].State.Name"

Aguarde o status mudar para running antes de tentar conectar.

Passo 5: Conectar via SSH

Obtenha o IP público da instância:

aws ec2 describe-instances \
  --instance-ids i-0a1b2c3d4e5f67890 \
  --query "Reservations[].Instances[].PublicIpAddress"

Conecte-se usando a chave privada correspondente:

chmod 400 producao-servidores-linux.pem
ssh -i producao-servidores-linux.pem [email protected]

Boas práticas

awsec2ubuntulinuxcloud
← Voltar para o blog