Instalar um pacote em uma instância do Windows - AWS OpsWorks

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

Instalar um pacote em uma instância do Windows

Importante

O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio de 2024 e foi desativado para clientes novos e existentes. É altamente recomendável que os clientes migrem suas cargas de trabalho para outras soluções o mais rápido possível. Se você tiver dúvidas sobre migração, entre em contato com a AWS Support equipe no AWS re:POST ou por meio do Premium AWS Support.

nota

Este exemplo supõe que você já tenha concluído o exemplo em Executar uma receita na instância Windows. Caso contrário, conclua esse exemplo primeiro. Especificamente, ele descreve como habilitar o acesso RDP para suas instâncias.

Caso seu software venha com um pacote de instalação, como um MSI, baixe o arquivo para a instância e execute-o. Este exemplo mostra como implementar um livro de receitas para instalar um pacote MSI, o runtime do Python, incluindo como definir variáveis de ambiente. Para obter mais informações sobre como instalar recursos do Windows, como o IIS, consulte Instalar um recurso do Windows: IIS.

Para configurar o livro de receitas
  1. Crie um diretório chamado installpython e navegue até ele.

  2. Adicione um arquivo metadata.rb a installpython, com o seguinte conteúdo.

    name "installpython" version "0.1.0"
  3. Adicione os diretórios recipes e files a installpython e um diretório default aos arquivos.

  4. Baixe um pacote Python de Python Releases for Windows para o diretório files\default do livro de receitas. Este exemplo instala a versão Windows x86- do 3.5.0a3, que usa um instalador chamado python-3.4.3.amd64.msipython-64.msi.

  5. Adicione um arquivo chamado default.rb ao diretório recipes com o seguinte código de receita.

    directory 'C:\tmp' do rights :full_control, 'Everyone' recursive true action :create end cookbook_file 'C:\tmp\python-3.4.3.amd64.msi' do source "python-3.4.3.amd64.msi" rights :full_control, 'Everyone' action :create end windows_package 'python' do source 'C:\tmp\python-3.4.3.amd64.msi' action :install end env "PATH" do value 'c:\python34' delim ";" action :modify end

    A receita faz o seguinte:

    1. Usa um recurso de diretório para criar um diretório C:\tmp.

      Para obter mais informações sobre esse recurso, consulte Exemplo 3: Criação de diretórios.

    2. Usa um recurso cookbook_file para copiar os arquivos do instalador do diretório files\default do livro de receitas para C:\tmp.

      Para obter mais informações sobre esse recurso, consulte Instalação de um arquivo usando um livro de receitas.

    3. Usa um recurso windows_package para executar o instalador MSI, que instala o Python em c:\python34.

      O instalador cria os diretórios necessários e instala os arquivos, mas não modifica a variável de ambiente PATH do sistema.

    4. Usa um recurso env para adicionar c:\python34 ao caminho do sistema.

      Use o recurso env para definir variáveis de ambiente. Nesse caso, a receita permite que você execute facilmente os scripts de Python a partir da linha de comando adicionando c:\python34 ao caminho.

      • O nome do recurso especifica o nome da variável de ambiente. Neste exemplo, é PATH.

      • O atributo value especifica o valor da variável. Neste exemplo, c:\\python34 (você precisa recuar o caractere \).

      • A ação :modify acrescenta o valor especificado ao valor atual da variável.

      • O atributo delim especifica um delimitador que separa o novo valor do valor existente, que é ; neste exemplo.

  6. Crie um arquivo .zip de installpython, carregue-o em um bucket do S3 e torne-o público. Registre o URL do arquivo para uso posterior. Para ter mais informações, consulte Repositórios de livro de receitas.

    O conteúdo entregue aos buckets do Amazon S3 pode conter conteúdo do cliente. Para obter mais informações sobre a remoção de dados confidenciais, consulte Como faço para esvaziar um bucket do S3? ou Como faço para excluir um bucket do S3?.

Crie uma pilha para este exemplo da seguinte maneira. Use também uma pilha existente do Windows. Basta atualizar os livros de receitas, como será descrito mais tarde.

Criar uma pilha
  1. Abra o console do AWS OpsWorks Stacks e selecione Add Stack (Adicionar pilha). Especifique as seguintes configurações, aceite os padrões para as outras configurações e escolha Add Stack.

    • Nome — InstallPython

    • Região: Oeste dos EUA (Oregon)

      Este exemplo funcionará em qualquer região, mas recomendamos o uso de Oeste dos EUA (Oregon) para tutoriais.

    • Sistema operacional padrão: Microsoft Windows Server 2012 R2

  2. Clique em Add a layer e adicione uma camada personalizada à pilha com as seguintes configurações.

    • Nome: Python

    • Nome curto: python

  3. Adicione uma instância ininterrupta com as configurações padrão à camada do Python e inicie-a.

Depois que a instância estiver online, instale o livro de receitas e execute a receita

Para instalar o livro de receitas e executar a receita
  1. Edite a pilha para habilitar livros de receitas personalizados, e especifique as seguintes configurações.

    • Tipo de repositório: Arquivamento do S3.

    • URL do repositório: o URL do arquivo do livro de receitas que você registrou anteriormente.

    Aceite os valores padrão para as outras configurações e escolha Save para atualizar a configuração da pilha.

  2. Execute o comando de pilha Update Custom Cookbooks, que instala a versão mais recente dos seus livros de receitas personalizado nas instâncias online da pilha. Se houver uma versão mais antiga de seu livro de receitas, este comando a substituirá.

  3. Execute a receita acionando o comando de stack Execute Recipes (Executar receitas) com a opção Recipes to execute (Receitas para executar) definida como installpython::default. Este comando inicia uma execução do Chef, com uma lista de execução que consiste em installpython::default.

    nota

    Este exemplo usa Execute Recipes por conveniência, mas normalmente você faz com que AWS OpsWorks as pilhas executem suas receitas automaticamente, atribuindo-as ao evento de ciclo de vida apropriado. Você pode executar essas receitas acionando manualmente o evento. Use um comando de stack para acionar eventos Setup e Configure, e um comando de pilha para acionar eventos Deploy e Undeploy.

  4. Para verificar a instalação, use RDP para conectar à instância e abrir o Windows Explorer.

    • O sistema de arquivos agora tem um diretório C:\Python34.

    • Se você executar path a partir da linha de comando, ele deve ser semelhante a: PATH=c:\python34;C:\Windows\system32;...

    • Se você executar python --version a partir da linha de comando, ele deve retornar Python 3.4.3.