Como migrar um servidor OpsWorks for Puppet Enterprise para o Amazon Elastic Compute Cloud (Amazon) EC2 - 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á.

Como migrar um servidor OpsWorks for Puppet Enterprise para o Amazon Elastic Compute Cloud (Amazon) EC2

Importante

O AWS OpsWorks for Puppet Enterprise serviço chegou ao fim da vida útil em 31 de março 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.

As instruções abaixo descrevem como migrar os servidores existentes do Puppet Enterprise para a Amazon EC2, caso você queira continuar usando o Puppet Enterprise para suas necessidades de gerenciamento de configuração fora da. OpsWorks

Etapa 1: entre em contato com o Puppet para comprar uma licença

Quando você migra seus servidores para EC2, a nova instância não vem com uma licença do Puppet. Para comprar uma chave de licença, siga as instruções no site do Puppet.

Etapa 2: Obtenha detalhes sobre seu servidor OpsWorks for Puppet Enterprise

Encontre e salve os valores do seu servidor OpsWorks para o Puppet Enterprise.

  1. Faça login no AWS Management Console e abra o console do Amazon S3 em. https://console.aws.amazon.com/s3/

    Copie o nome do bucket Amazon S3 existente para o seu servidor OpsWorks para o Puppet Enterprise. O nome do bucket tem o formato: aws-opsworks-cm-server-name-random-string

  2. Execute o aws opsworks-cm describe-servers comando para obter a configuração do seu servidor OpsWorks para o Puppet Enterprise.

    aws opsworks-cm describe-servers \ --server-name server-name \ --region region

    Armazene os valores para InstanceType, KeyPair, SubnetIds,SecurityGroupIds, InstanceProfileArn, e Endpoint da resposta.

  3. Use SSH para se conectar ao servidor existente OpsWorks do Puppet Enterprise. Você pode usar o Gerenciador de Sessões no EC2 console em vez do SSH.

    Execute o seguinte comando:

    rpm -qa | grep opsworks-cm-puppet-enterprise | cut -d '-' -f 5

    A resposta fornece a versão do Puppet Enterprise (por exemplo, 2019.8.10). Armazene esse valor.

Você usará o SSH ou o Gerenciador de sessões na próxima etapa.

Etapa 3: Faça um backup do seu servidor OpsWorks para o Puppet Enterprise

  1. Execute os comandos a seguir para fazer um backup local.

    mkdir /tmp/puppet-backup/ sudo /opt/puppetlabs/bin/puppet-backup create --dir=/tmp/puppet-backup/
  2. Execute o comando a seguir para armazenar o nome do backup.

    ls /tmp/puppet-backup/ PUPPET_BACKUP=$(ls /tmp/puppet-backup/)
  3. Execute o comando a seguir para fazer upload do seu backup em um bucket S3. S3-BucketSubstitua pelo valor da etapa 1 emEtapa 2: Obtenha detalhes sobre seu servidor OpsWorks for Puppet Enterprise.

    aws s3 cp /tmp/puppet-backup/PUPPET_BACKUP s3://S3_Bucket/tmp/puppet-backup/

    Armazene os valores PUPPET_BACKUP e S3_BUCKET. Você importará esses valores para a nova EC2 instância.

Você pode sair da sessão SSH ou do Gerenciador de sessões.

Etapa 4: iniciar uma nova EC2 instância

Execute uma nova EC2 instância a partir do EC2 console https://console.aws.amazon.com/ec2/usando a mesma configuração do servidor do OpsWorks Puppet Enterprise.

Nome do parâmetro Valor

SO

Amazon Linux 2

Tipo de instância

O valor InstanceType da etapa 2 do Etapa 2: Obtenha detalhes sobre seu servidor OpsWorks for Puppet Enterprise.

Key pair name (Nome do par de chaves)

O valor KeyPair da etapa 2 do Etapa 2: Obtenha detalhes sobre seu servidor OpsWorks for Puppet Enterprise.

VPC

O VPC da etapa 2 SubnetIds do Etapa 2: Obtenha detalhes sobre seu servidor OpsWorks for Puppet Enterprise.

Sub-rede

O SubnetIds da etapa 2 do Etapa 2: Obtenha detalhes sobre seu servidor OpsWorks for Puppet Enterprise.

Selecione um grupo de segurança existente -> Grupos de segurança comuns

O SecurityGroupIds da etapa 2 do Etapa 2: Obtenha detalhes sobre seu servidor OpsWorks for Puppet Enterprise.

Armazenamento

Pelo menos 120 GB.

Perfil de instância do IAM

O InstanceProfileArn da etapa 2 do Etapa 2: Obtenha detalhes sobre seu servidor OpsWorks for Puppet Enterprise.

Se você quiser criar e anexar um IP elástico à nova instância, copie o ID da instância da nova instância e conclua as etapas em (Opcional) Etapa 4.1: criar e anexar um IP elástico.

(Opcional) Etapa 4.1: criar e anexar um IP elástico

Com um endereço IP elástico, é possível mascarar a falha de uma instância ou software remapeando rapidamente o endereço para outra instância na conta.

Como criar e associar um endereço IP elástico
  1. Faça login no AWS Management Console e abra o EC2 console da Amazon em https://console.aws.amazon.com/ec2/.

  2. Escolha Elastic IPs.

  3. Escolha Alocar endereço IP elástico.

  4. Na página Alocar endereço IP elástico, escolha Alocar. Isso cria um IPv4 endereço público.

  5. Copie o IPv4 endereço alocado.

  6. Em Ações, escolha Associar endereços IP elásticos.

  7. Em Instância, insira o ID da instância nova.

  8. Selecione Associar .

Etapa 5: instalar o Puppet Enterprise na nova instância EC2

Use SSH para se conectar à nova EC2 instância. Você pode usar o Gerenciador de Sessões no EC2 console em vez do SSH.

# switch to sudo user sudo -i # Setup environment variables PUPPET_ENTERPRISE_VERSION=Puppet Enterprise version from step 2.3 hostname Public IPv4 DNS or Custom Domain if available # Install Puppet Enterprise curl -JLO https://pm.puppetlabs.com/puppet-enterprise/$PUPPET_ENTERPRISE_VERSION/puppet-enterprise-$PUPPET_ENTERPRISE_VERSION-el-7-x86_64.tar.gz tar -xf puppet-enterprise-$PUPPET_ENTERPRISE_VERSION-el-7-x86_64.tar.gz ./puppet-enterprise-$PUPPET_ENTERPRISE_VERSION-el-7-x86_64/puppet-enterprise-installer

Você pode manter sua sessão SSH ou Gerenciador de sessão abertos para a próxima etapa.

Etapa 6: restaurar o backup na nova EC2 instância

# Setup environment variables S3_BUCKET=S3 bucket name from step 2.1 PUPPET_BACKUP=Puppet backup file name from step 3.2 # download backup aws s3 cp s3://$S3_BUCKET/tmp/puppet-backup/$PUPPET_BACKUP # Prepare Puppet Enterprise backup to remove OpsWorks metadata mkdir output tar -xf $PUPPET_BACKUP -C output/ cd output/ rm -f opt/puppetlabs/facter/facts.d/opsworks.json tar -cf ../$PUPPET_BACKUP * cd .. rm -rf output/ # Restore from backup PATH=$PATH:/opt/puppetlabs/puppet/bin/ puppet-backup restore $PUPPET_BACKUP puppet agent -t

Você pode acessar o console do Puppet para a EC2 instância restaurada em https://Public IPv4 of the instance. Você pode encontrar o IPv4 DNS público na página de detalhes da instância no EC2 console. As credenciais de login são as mesmas que você usa para acessar seu OpsWorks servidor do Puppet Enterprise.

Você pode manter sua sessão SSH ou Gerenciador de sessão abertos para a próxima etapa.

Etapa 7: configurar sua licença do Puppet

Siga as etapas no site do Puppet para configurar sua licença.

Você pode manter sua sessão SSH ou Gerenciador de sessão abertos para a próxima etapa.

Etapa 8: migrar seus nós

Há dois tipos de domínios suportados pelos servidores do OpsWorks Puppet Enterprise:

  • BYODC (traga seu próprio domínio e certificado)

  • OpsWorks endpoint

Etapa 8.1: para BYODC (traga seu próprio domínio e certificado)

Para esses nós, tudo o que você precisa fazer é apontar o domínio personalizado em seu provedor de DNS para o IPv4 DNS público ou IPv4 endereço público da nova EC2 instância.

Etapa 8.2: Para endpoint OpsWorks

Para um OpsWorks endpoint, a documentação do Puppet recomenda desinstalar o agente Puppet no nó e depois instalar o agente Puppet usando o servidor Puppet Enterprise recém-restaurado.

nota

Embora o Puppet não tenha um procedimento automatizado para mover um nó de agente, há alguns módulos que os membros da comunidade do Puppet publicaram no site do Puppet Forge para realizar a migração automatizada de nós. Esses módulos incluem o módulo pe_migrate e um segundo módulo de migração de um autor diferente. Os módulos no site do Puppet Forge não são suportados pelo Puppet ou a OpsWorks menos que estejam explicitamente indicados no módulo Forge. Recomendamos ter cuidado com esses módulos e testá-los antes de usá-los amplamente.

As seções a seguir fornecem as etapas para desinstalar e reinstalar agentes do Puppet em instâncias Linux.

Etapa 8.2.1: copie o desinstalador do servidor Puppet

Antes de desinstalar o agente, certifique-se de que o perfil da instância do IAM do nó forneça ReadOnly permissões do S3.

Execute o comando a seguir para copiar o desinstalador do servidor do Puppet para o bucket do S3.

aws s3 cp \ /opt/puppetlabs/bin/puppet-enterprise-uninstaller \ s3://$S3_BUCKET/tmp/puppet-enterprise-uninstaller

Depois de executar o comando, você pode sair da sessão SSH ou do Gerenciador de sessões do servidor Puppet.

Etapa 8.2.2: baixe o desinstalador e execute-o em um nó

Use o SSH para conectar ao nó. Você pode usar o Gerenciador de Sessões no EC2 console em vez do SSH se o nó for uma EC2 instância.

sudo -i S3_BUCKET=aws-opsworks-cm-abcdefg-uuhtyn6messn aws s3 cp s3://$S3_BUCKET/tmp/puppet-enterprise-uninstaller /opt/puppetlabs/bin/ chmod 700 /opt/puppetlabs/bin/puppet-enterprise-uninstaller /opt/puppetlabs/bin/puppet-enterprise-uninstaller

Você pode manter sua sessão SSH ou Gerenciador de sessão abertos para a próxima etapa.

Etapa 8.2.3: reinstalar o agente Puppet em um nó

Conclua as etapas a seguir para reinstalar o agente do Puppet em um nó.

Etapa 8.2.3.1: instalar o agente Puppet com a configuração correta

Execute o seguinte comando para instalar o agente do Puppet.

curl -k https://Public_IPv4_DNS:8140/packages/current/install.bash | bash

Você pode manter sua sessão SSH ou Gerenciador de sessão abertos para a etapa 8.2.2.3.

Etapa 8.2.3.2: aceitar o certificado no console do Puppet
  1. Acesse o console do servidor Puppet em https://Public_IPv4_DNS.

  2. Escolha Certificados e, em seguida, Certificados não assinados.

  3. Escolha Aceitar para assinar o certificado do agente do Puppet.

Etapa 8.2.3.3: verifique o nó no servidor Puppet Enterprise

Execute o comando a seguir no nó para verificá-lo no servidor.

puppet agent -t

O nó agora deve estar visível no console do servidor Puppet.

Etapa 9: Exclua seu servidor OpsWorks for Puppet Enterprise

Você pode usar o OpsWorks console ou AWS CLI excluir seu OpsWorks servidor do Puppet Enterprise.

Para excluir seu servidor usando o OpsWorks console

  1. Faça login no AWS Management Console e abra o OpsWorks console em https://console.aws.amazon.com/opsworks/.

  2. No painel de navegação, escolha Servidores Puppet Enterprise.

  3. Na página Servidores Puppet Enterprise, selecione o servidor que você deseja excluir.

  4. Em Ações, selecione Excluir servidor Puppet Enterprise.

Para excluir seu servidor usando o AWS CLI

Execute o seguinte comando:

aws opsworks-cm delete-server \ --server-name server-name \ --region region