Free Tier: Instalar o Flask em uma VM com Ubuntu

Neste tutorial, você usa uma conta do Oracle Cloud Infrastructure Free Tier para configurar uma instância do Ubuntu. Em seguida, você configura um ambiente virtual para o seu host. Por fim, você instala o Flask, uma estrutura leve de aplicativos Web para Python.

As principais tarefas incluem:

  • Configure um compartimento para seu trabalho de desenvolvimento.
  • Instale a sua instância do Ubuntu Linux e conecte-a à sua VCN (Virtual Cloud Network).
    • Configure uma rede virtual na nuvem do Oracle Cloud Infrastructure e serviços de rede relacionados necessários para que seu host se conecte à internet.
    • Configure as chaves de criptografia ssh para acessar seu Ubuntu Linux Server.
  • Configure regras de entrada para sua VCN.
  • Instale o Flask na sua VM.
  • Crie um aplicativo Hello World Python.
  • Teste seu aplicativo.

Este é um diagrama simplificado da configuração da sua VM com Linux.

Um diagrama dos componentes necessários para executar uma estrutura de aplicativos Web do Flask no Oracle Cloud Infrastructure

Para obter informações adicionais, consulte:

Antes de Começar

Para concluir este tutorial com sucesso, você deve ter o seguinte:

Requisitos

1. Configurar um Compartimento para Desenvolvimento

Configure um compartimento para seu desenvolvimento.

Criar um Compartimento

Crie um compartimento para os recursos criados neste tutorial.

  1. Acesse a Console do Oracle Cloud Infrastructure.
  2. Abra o menu de navegação e clique em Identidade e Segurança. Em Identidade, clique em Compartimentos.
  3. Clique em Criar Compartimento.
  4. Preencha as informações a seguir:
    • Nome: <your-compartment-name>
    • Descrição Compartment for <your-description>.
    • Compartimento Principal: <your-tenancy>(root)
  5. Clique em Criar Compartimento.

Referência: Criar um compartimento

2. Instalar uma Instância do Ubuntu Linux

Use o workflow Criar uma Instância de VM para criar uma nova instância de computação.

O workflow faz várias coisas ao instalar a instância:

  • Cria e instala uma instância de computação que executa o Ubuntu Linux.
  • Cria uma VCN com a sub-rede obrigatória e os componentes necessários para conectar a instância do Ubuntu Linux à internet.
  • Cria um par de chaves ssh que você usa para se conectar à instância.
Verificar Etapas de Instalação

Para começar a instalar uma instância com o workflow Criar uma instância de VM, siga estas etapas:

Importante

As etapas fornecidas são para uma conta Free Tier. Se você estiver usando uma conta paga, as etapas poderão ser diferentes das mostradas aqui.
  1. Clique no ícone do Oracle Cloud para ir à página de destino principal.
    • Role para baixo até Iniciar Recursos.
    • Selecione o workflow Criar uma instância de VM.
    A página Criar instância de computação é exibida. As seções da página incluem
    • Nome e Compartimento
    • Colocação
    • Segurança
    • Imagem e forma
    • Rede
    • Adicionar chaves SSH
    • Volume de inicialização
  2. Escolha o Nome e o Compartimento.

    Opções Iniciais

    • Nome: <name-for-the-instance>
    • Criar no compartimento: <your-compartment-name>

    Insira um valor para o nome ou use o padrão fornecido pelo sistema. Para o compartimento, selecione o compartimento criado

  3. Verifique as configurações de Colocação.
    • Use os valores padrão. Um domínio de disponibilidade é designado para você.

    Os dados podem ser semelhantes aos seguintes:

    Domínio de disponibilidade

    • Domínio de disponibilidade: AD-1
    • Tipo de capacidade: Capacidade sob demanda
    • Domínio de falha: Permitir que a Oracle escolha o melhor domínio de falha
    Observação

    Para Free Tier, use a opção Always Free Elegível para o domínio de disponibilidade.
  4. Verifique as definições de Segurança.
    • Execute as configurações padrão.

    Os dados podem ser semelhantes aos seguintes:

    Segurança

    • Instância blindada: Desativada
    • Cálculo confidencial: Desativado
  5. Revise as definições de Imagem e forma. Altere a imagem do sistema operacional.
    • Clique em Editar.
    • Clique em Alterar Imagem.
    • Clique em Ubuntu.
    • Selecione o Ubuntu 22.04 Canônico ou uma versão posterior.
    • Clique em Selecionar Imagem.
    Observação

    A seguir estão amostras de dados de uma máquina virtual AMD. Os valores reais podem ser distintos.

    Imagem e forma

    • Imagem: Ubuntu 22,04 Canônico
    • build da imagem: <current-build-date>
    • Forma: VM.Standard.E2.1.Micro
    • OCPU: 1
    • Memória (GB): 1
    • Largura de Banda da rede (Gbps): 0.48
    Observação

    Para Free Tier, use as opções de forma Always Free Elegíveis.
    • Prosseguir para a próxima sessão.
  6. Verifique as configurações de Rede. Faça as seguintes alterações no padrão.
    • Clique em Editar.
    • Rede Principal: Selecione Criar nova rede virtual na nuvem.
    • Novo nome da rede virtual na nuvem: Crie o nome da VCN gerada ou forneça um nome.
    • Criar no compartimento: <your-compartment-name>.
    • Sub-rede: Selecione Criar nova sub-rede pública.
    • Novo nome de sub-rede: Crie o nome da sub-rede gerada ou forneça um nome.
    • Criar no compartimento: <your-compartment-name>.
    • Bloco CIDR: Obtenha o valor padrão (por exemplo, 10.0.0.0/24).
    • Endereço IPv4 público, obtenha o valor padrão de Designar um endereço IPv4 público.
    • Prosseguir para a próxima sessão.
  7. Verifique as definições de Adicionar chaves SSH. Utilize os valores padrão fornecidos pelo workflow.
    • Selecione a opção Gerar um par de chaves para mim.
    • Clique em Salvar Chave Privada e em Salvar Chave Pública para salvar as chaves SSH públicas e privadas desta instância de computação.

    Se você quiser usar suas próprias chaves SSH, selecione uma das opções para fornecer sua chave pública.

    Observação

    Coloque seus arquivos de chave privada e pública em um local seguro. Não será possível recuperar chaves novamente após a criação da instância de computação.
  8. Revise as definições de Volume de inicialização.

    Desmarque a definição Especificar um tamanho de volume de inicialização do cliente.

    Marque a definição Usar criptografia em trânsito.

    Desmarque a definição Criptografar este volume com uma chave gerenciada por você.

  9. Clique em Criar para criar a instância. O provisionamento do sistema poderá levar alguns minutos.
Você criou com sucesso uma instância do Ubuntu Linux.

3. Ativar Acesso à Internet

O assistente de Criação de uma Instância de VM cria automaticamente uma VCN para sua VM. Você adiciona uma regra de entrada à sua sub-rede para permitir conexões com a internet na porta 5000.

Criar uma Regra de Entrada para a sua VCN

Siga estas etapas para selecionar a sub-rede pública da sua VCN e adicionar a regra de entrada.

  1. Abra o menu de navegação e clique em Rede e clique em Redes Virtuais na Nuvem.
  2. Selecione a VCN que você criou com sua instância de computação.
  3. Com sua nova VCN exibida, clique no link de sub-rede <your-subnet-name>.

    As informações da sub-rede pública são exibidas com as Listas de Segurança na parte inferior da página. Um link para a Lista de Segurança Padrão da sua VCN é exibido.

  4. Clique no link Lista de Segurança Padrão.

    As Regras de Entrada padrão da sua VCN são exibidas.

  5. Clique em Adicionar Regras de Entrada.

    Uma caixa de diálogo Adicionar Regras de Entrada é exibida.

  6. Preencha a regra de entrada com as informações a seguir.

    Preencha a regra de entrada da seguinte forma:

    • Sem monitoramento de estado: Marcado
    • Tipo de Origem: CIDR
    • CIDR de Origem: 0.0.0.0/0
    • Protocolo IP: TCP
    • Intervalo de portas de origem: (leave-blank)
    • Faixa de Portas de Destino: 5000
    • Descrição: Permitir conexões HTTP

    Clique em Adicionar Regra de Entrada. Agora são permitidas conexões HTTP. Sua VCN está configurada para o servidor Apache.

  7. Clique em Adicionar Regras de Entrada.
    Agora são permitidas conexões HTTP. Sua VCN está configurada para o servidor Apache.
Você criou com sucesso uma regra de entrada que disponibiliza sua instância pela internet.

4. Criar um Aplicativo Flask

Em seguida, configure o Flask na sua instância do Ubuntu Linux e crie e execute um aplicativo Flask.

Instalar e Configurar o Flask

Para configurar o Flask com o Python 3, execute as seguintes etapas:

  1. Abra o menu de navegação e clique em Compute. Em Compute, clique em Instâncias.
  2. Clique no link para a instância criada na etapa anterior.

    Na página Detalhes da Instância, procure na seção Acesso à Instância. Copie o endereço IP público que o sistema criou para você. Você usa esse endereço IP para se conectar à sua instância.

  3. Abra uma janela Terminal ou Prompt de Comando.
  4. Altere o diretório no qual você armazenou as chaves de criptografia ssh criadas na parte 1.
  5. Conecte-se à sua VM com este comando SSH.
    ssh -i <your-private-key-file> ubuntu@<x.x.x.x>

    Como identificou sua chave pública quando você criou a VM, esse comando o registra na sua VM. Agora você pode executar comandos sudo para instalar e iniciar seu servidor.

  6. Atualize as definições do firewall.

    Por padrão, o firewall do Ubuntu está desativado. No entanto, você precisa atualizar sua configuração iptables para permitir o tráfego HTTP. Para atualizar iptables, execute os seguintes comandos:

    sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 5000 -j ACCEPT
    sudo netfilter-persistent save

    Os comandos adicionam uma regra para permitir o tráfego HTTP por meio da porta 5000 e salva as alterações nos arquivos de configuração iptables.

  7. Instale pip3 para Python 3.
    sudo apt update
    sudo apt install -y python3-pip
  8. Instale e ative um ambiente virtual mais um encapsulador de ambiente virtual.

    Você pode usar um ambiente virtual para gerenciar as dependências do seu projeto. Cada projeto pode estar em seu próprio ambiente virtual para hospedar grupos independentes de bibliotecas Python.

    O virtualenvwrapper é uma extensão para virtualenv. Ele fornece um conjunto de comandos que tornam o trabalho com ambientes virtuais muito mais agradável. Ele também coloca todos os seus ambientes virtuais em um só lugar. O virtualenvwrapper fornece preenchimento de guia em nomes de ambiente.

    pip3 install virtualenv
    pip3 install virtualenvwrapper
  9. Configure seu encapsulador de ambiente virtual em .bashrc.

    Atualize o arquivo:

    sudo vi .bashrc

    No arquivo, anexe o seguinte texto e salve o arquivo:

    # set up Python env
    export WORKON_HOME=~/envs
    export PATH=$PATH:/home/ubuntu/.local/bin
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=' -p /usr/bin/python3 '
    source /home/ubuntu/.local/bin/virtualenvwrapper.sh

    Ative os comandos anteriores na janela atual.

    source ~/.bashrc
  10. Inicie um ambiente virtual.
    mkvirtualenv flask01
    O comando retorna: (flask01) ubuntu@<ubuntu-instance-name>:~$
  11. Instale o Flask.
    pip3 install Flask
  12. Crie um aplicativo "Hello, World!".

    Crie o arquivo:

    sudo vi hello.py

    No arquivo, insira o seguinte texto e salve o arquivo:

    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/')
    def hello_world():
        return 'Hello, World!'
    
    if __name__ == "__main__":
        app.run(host="0.0.0.0", port=int("5000"), debug=True)
  13. Execute o programa Python.
    export FLASK_APP=hello.py
    flask run --host=0.0.0.0
  14. Agora você pode testar a estrutura do aplicativo.

    Em um novo terminal, conecte-se à sua VM do Ubuntu com suas chaves SSH e, em seguida, na linha de comando, digite curl localhost:5000. Como alternativa, você pode conectar o seu browser ao endereço IP público designado à sua VM: http://<x.x.x.x.x>:5000.

    O aplicativo retorna Hello World! na sua VM ou no seu browser.
Parabéns! Você instalou o Flask com sucesso na sua VM do Oracle Cloud Infrastructure.

O Que Vem a Seguir

Você instalou o Flask com sucesso e criou um aplicativo Python no Oracle Cloud Infrastructure usando uma VM com o Ubuntu.

Para explorar mais informações sobre desenvolvimento com produtos Oracle, confira estes sites: