Implantar no Azure

Concluído

Este exercício exige uma área restrita. Uma área restrita fornece acesso a recursos gratuitos. Não haverá cobranças na sua assinatura pessoal.

Você só pode usar a área restrita para concluir o treinamento no Microsoft Learn. O uso da área restrita por qualquer outro motivo é proibido e poderá resultar na perda permanente do acesso a ela.

Para disponibilizar seu site para o público, você o implantará no Azure. Você usará a extensão do Serviço de Aplicativo do Azure no Visual Studio Code para simplificar o processo.

Instalar a extensão do Serviço de Aplicativo do Azure

Comece instalando a extensão do Serviço de Aplicativo do Azure no Visual Studio Code:

  1. No Visual Studio Code, selecione o ícone Extensões.

    Screenshot showing the Extensions icon.

  2. No campo Pesquisar Extensões, digite Serviço de Aplicativo.

  3. Em Serviço de Aplicativo do Azure, escolha Instalar.

Se você já tiver a extensão do Serviço de Aplicativo do Azure, verifique se ela está atualizada para a versão mais recente. Confira a última data atualizada na página de extensão. Se você estiver trabalhando com a versão mais recente, verá um nó RESOURCES com um nó dos Serviços de Aplicativos.

Implantar o aplicativo

Ao seguir as etapas para clonar o repositório inicial, você também deve ter alterado o diretório para a pasta inicial antes de abrir o VS Code. O diretório inicial contém o arquivo manage.py que sinaliza para o Serviço de Aplicativo que você está implantando um aplicativo Web Django.

  1. No Visual Studio Code, na barra de ferramentas, selecione o ícone do Azure.

    Screenshot showing the Azure icon.

  2. Selecione Entrar para entrar no Azure usando a mesma conta que você usou para criar a área restrita.

  3. Na barra RECURSOS da extensão do Azure, passe o mouse e selecione o ícone + (sinal de adição) para criar um recurso.

    Screenshot showing the App Service bar. The Deploy icon is highlighted.

  4. Se solicitado a escolher uma assinatura, escolha sua assinatura do Azure.

  5. Selecione Criar Serviço de Aplicativo da Web....

    Screenshot showing how to create a new web app.

  6. Forneça um nome exclusivo para o aplicativo.

    Screenshot showing where to provide an app name.

  7. Selecione Python 3.9 como a pilha de runtime.

    Screenshot showing the runtime stack selection.

  8. Selecione um tipo de preço.

    Screenshot showing the the pricing tier selection.

    A extensão criará seu aplicativo Web. O processo levará alguns minutos.

  9. Quando o aplicativo Web é criado, você é solicitado a implantar o aplicativo Web no Serviço de Aplicativo, selecione Implantar.

    Screenshot showing the deployment configuration option.

    Se você perder a notificação de implantação do aplicativo ou fechá-la, também poderá implantar o aplicativo encontrando o Serviço de Aplicativo que criou, clicar com o botão direito do mouse nele e selecionar Implantar no Aplicativo Web.

Agora, seu site será implantado.

Criar o servidor de banco de dados

Agora crie o banco de dados PostgreSQL.

  1. Na barra RECURSOS da extensão do Azure, passe o mouse e selecione o ícone + (sinal de adição) para criar um recurso.

    Screenshot of the Databases extension, showing the Create Server icon.

  2. Se solicitado a escolher uma assinatura, escolha sua assinatura do Azure.

  3. Selecione Criar Servidor de Banco de Dados....

    Screenshot showing how to create a new database server.

  4. Para o Servidor de Banco de Dados do Azure, selecione Servidor Flexível do PostgreSQL.

    Screenshot showing a list of available database servers.

  5. Insira um nome exclusivo para o servidor de banco de dados.

    Importante

    Anote o nome usado para o servidor de banco de dados.

  6. Selecione o SKU do Postgres e as opções.

  7. Para o nome do usuário administrador, insira shelter_admin.

  8. Insira uma senha segura, como "86i^z5#emSk6wu3t10nC*".

    Importante

    Ao criar a senha, não use cifrões ($). Esse símbolo pode causar problemas de conexões no Python. Anote a senha usada.

  9. Insira a senha uma segunda vez para confirmá-la.

  10. Para o grupo de recursos, selecione o mesmo grupo de recursos no qual seu aplicativo Web foi criado.

    Para localizar o nome e o local do grupo de recursos usados para criar o aplicativo Web, localize o Serviço de Aplicativo na extensão do Azure, clique com o botão direito do mouse no nome e selecione Exibir Propriedades. Na chave "ID", o nome do grupo de recursos é a parte a seguir "/resourceGroups/". A chave "local" mostra o local.

    Você também pode clicar com o botão direito do mouse no nome do Serviço de Aplicativo e selecionar Abrir no Portal para localizar o nome e o local do grupo de recursos.

  11. Para o local dos novos recursos, selecione o mesmo local do grupo de recursos e do aplicativo Web.

    Importante

    Quando você criar vários recursos do Azure que se comunicarão entre si, sempre coloque-os na mesma região. Essa colocação garante o melhor desempenho.

Seu servidor será criado agora. Esse processo levará alguns minutos.

Criar uma regra de firewall de banco de dados para permitir o acesso do ambiente de desenvolvimento

Depois que o banco de dados for criado, você precisará criar uma regra de firewall para permitir que o ambiente do desenvolvedor acesse o banco de dados. Aguarde até que o banco de dados exista antes de seguir as próximas etapas para criar a regra.

  1. Abra a paleta de comandos do Visual Studio Code com F1 ou com a combinação de teclas Ctrl + Shift + P.

  2. Pesquise "PostgreSQL: Configurar Firewall" e selecione-o.

    Screenshot showing the firewall rule field.

  3. Quando solicitado que o recurso aplique o firewall, selecione o banco de dados Postgres que você criou.

  4. Uma caixa de diálogo final pede para continuar e mostra o endereço IP que ele adicionará. Selecione Sim.

Leva alguns minutos para adicionar a regra. Confira a janela de notificação do VS Code para obter o status.

Criar um banco de dados no servidor de banco de dados

Agora que você configurou o Serviço de Aplicativo e criou o servidor, crie o banco de dados no Servidor de Banco de Dados do Postgres.

  1. Nos RECURSOS da extensão ferramentas do Azure, expanda o nó Servidores PostgreSQL (Flexível) e localize o servidor que você criou.

  2. Clique com o botão direito do mouse no nome do servidor de banco de dados e escolha Criar Banco de Dados.

    Screenshot showing the Create Database selection.

  3. Insira abrigos.

O banco de dados será criado.

Permitir acesso ao servidor de banco de dados do Serviço de Aplicativo

Neste exercício, você também precisa do aplicativo Web de abrigos para cães hospedado no Serviço de Aplicativo do Azure para se conectar ao Servidor Flexível do Banco de Dados do Azure para PostgreSQL. Quando um aplicativo no Azure tenta se conectar ao seu servidor de banco de dados, o firewall verifica se as conexões do Azure são permitidas. Acima, você permitiu conexões de seu ambiente local. Agora, você também deve permitir conexões do Serviço de Aplicativo.

  1. No VS Code, nos RECURSOS da extensão ferramentas do Azure, expanda o nó Servidores PostgreSQL (Flexível) e localize o servidor que você criou.

  2. Clique com o botão direito do mouse no nome do servidor de banco de dados e selecione Abrir no Portal.

  3. Selecione o recurso Rede do Servidor Postgres.

  4. Selecione a opção Permitir acesso público nos serviços do Azure dentro do Azure para este servidor no portal, na guia Rede, e selecione Salvar.

    Screenshot showing the how to allow public access to database server.

Definir configurações de aplicativo para o aplicativo Web

O Serviço de Aplicativo usa as configurações de aplicativo para configurar variáveis de ambiente. As configurações são uma forma conveniente de armazenar informações que você não deve colocar no código, como cadeias de conexão de banco de dados.

  1. Em Serviço de Aplicativo, expanda a assinatura de área restrita. Depois, expanda o aplicativo.

  2. Para criar a primeira configuração de aplicativo, clique com o botão direito do mouse em Configurações de Aplicativo e selecione Adicionar Nova Configuração.

    Screenshot showing how to add a new setting.

  3. No primeiro campo, insira o nome DBUSER.

  4. No segundo campo, insira o valor shelter_admin.

  5. Repita as etapas anteriores para criar as configurações restantes:

    Name Valor
    DBHOST <The server name you created previously>
    DBPASS <The password you created previously>
    DBUSER shelter_admin
    DBNAME shelters
    SECRET_KEY <Generate a secure password>

    Observação

    Substitua os valores DBHOST e DBPASS por aqueles que você criou anteriormente neste exercício. Em SECRET_KEY, crie uma senha.

Todas as variáveis de ambiente necessárias agora serão criadas no serviço de aplicativo.

Criar o esquema e o superusuário

A última etapa na implantação é configurar o banco de dados. No desenvolvimento local, você executará python manage.py migrate e python manage.py createsuperuser para criar o esquema e o superusuário do banco de dados. No Azure, você fará o mesmo.

Você se conectará ao servidor Web no Azure usando o SSH (Secure Shell). Você pode fazer a conexão no Visual Studio Code conforme mostrado abaixo.

  1. Na extensão do Serviço de Aplicativo, clique com o botão direito do mouse no serviço de aplicativo e selecione SSH no Aplicativo Web.

    Screenshot of the menu for SSH.

    Uma conexão SSH será feita com o servidor Web no Azure. Esse processo pode levar alguns minutos. Um painel do terminal será exibido no Visual Studio Code. Esse terminal é a conexão SSH com o servidor Web. Se você tiver problemas para se conectar, confira as etapas de solução de problemas abaixo.

    Importante

    Se você receber uma mensagem de erro informando que precisa habilitar o SSL para o banco de dados, verifique se criou todas as variáveis de ambiente corretamente.

  2. No painel do terminal do SSH, execute os comandos a seguir para verificar se as bibliotecas apropriadas estão instaladas e para criar o banco de dados.

    # Run database migrations
    python manage.py makemigrations dog_shelters
    python manage.py migrate
    
  3. Crie o superusuário executando o comando a seguir.

    python manage.py createsuperuser
    
  4. Forneça um nome, um endereço de email e uma senha para o superusuário.

  5. Depois de criar o superusuário, execute o comando exit para fechar a conexão.

Seu banco de dados agora está configurado no Azure, e você tem um superusuário para seu site.

Solucionar problemas de SSH

Se você não conseguir se conectar ao SSH por meio do VS Code, veja algumas etapas que você pode tentar:

  • Vá para a página do portal do Azure para o Serviço de Aplicativo e acesse o SSH por lá. No VS Code, clique com o botão direito do mouse no nome do Serviço de Aplicativo e selecione Abrir no Portal. Na página do portal do Serviço de Aplicativo, vá para os recursos SSH no painel de recursos à esquerda.

  • Verifique se o Serviço de Aplicativo que hospeda o aplicativo Web foi iniciada corretamente. Se houver um erro de implantação ou um problema de codificação, é possível que o Serviço de Aplicativo não tenha sido iniciado e você não poderá usar o SSH nele. Na página do portal do Serviço de Aplicativo, vá para Diagnosticar e resolver problemas no painel de recursos esquerdo para procurar problemas.

  • Leia mais sobre o SSH no Serviço de Aplicativo.

Acessar seu site

Agora que você implantou e configurou tudo, veja seu site no Azure.

Na extensão do Serviço de Aplicativo, clique com o botão direito do mouse no nome do seu site e selecione Procurar Site.

Screenshot showing where to select Browse Website.

Agora, seu site será exibido. A página padrão não mostra abrigos. Para adicionar abrigos:

  1. Vá para a parte de administração do Django do site adicionando "/admin" a URL do site.

    Você será solicitado a autenticar com o nome do superusuário e a senha que você criou acima.

  2. Adicione um abrigo e navegue de volta para a página principal e você poderá registrar um cão nesse abrigo.

Aqui está uma captura de tela de exemplo do site:

Screenshot showing Django admin and how to add shelters.

Se você tentar acessar uma localização que não existe no site, receberá um erro genérico Não encontrado porque DEBUG está desabilitado.

Você acabou de implantar um site no Azure.