Criar um Puppet Enterprise master - 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á.

Criar um Puppet Enterprise master

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.

Você pode criar um Puppet master usando o console OpsWorks for Puppet Enterprise ou o. AWS CLI

Crie um Puppet Enterprise Master usando o AWS Management Console

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

  2. Na página AWS OpsWorks inicial, escolha Ir OpsWorks para o Puppet Enterprise.

    AWS OpsWorks casa de serviço
  3. Na página inicial do OpsWorks Puppet Enterprise, escolha Criar servidor Puppet Enterprise.

    Painel do Puppet master
  4. Na página Set name, region, and type, especifique um nome para o seu servidor. Os nomes do Puppet master podem ter no máximo 40 caracteres, devem iniciar com uma letra e podem conter somente caracteres alfanuméricos e traços. Selecione uma região compatível e, em seguida, escolha um tipo de instância compatível com o número de nós que deseja gerenciar. É possível alterar o tipo de instância após a criação do servidor, se necessário. Para esta demonstração, estamos criando um tipo de instância m5.large na região Oeste dos EUA (Oregon). Escolha Próximo.

    Página Definir nome, região e tipo
  5. Na página Configure server (Configurar servidor), deixe a seleção padrão na lista suspensa SSH key (Chave SSH), a não ser que você deseje especificar um nome de par de chaves. No campo r10k remote (r10k remoto) da área Configure Puppet Code Manager (Configurar gerenciador de códigos do Puppet), especifique um URL de SSH ou HTTPS válido do Git remoto. No campo chave privada r10k, cole a chave privada SSH que AWS OpsWorks pode ser usada para acessar o repositório remoto r10k. Isso é fornecido pelo Git quando você cria um repositório privado, mas não será necessário se você estiver usando a autenticação HTTPS para acessar seu repositório de controle. Escolha Próximo.

    Página Configurar servidor
  6. Em Specify server endpoint (Especificar endpoint do servidor), deixe o padrão, Use an automatically-generated endpoint (Usar um endpoint gerado automaticamente) e escolha Next (Avançar), a menos que você queira que o servidor esteja em um domínio personalizado. Para configurar um domínio personalizado, vá para a próxima etapa.

  7. Para usar um domínio personalizado, em Specify server endpoint (Especificar endpoint do servidor), escolha Use a custom domain (Usar um domínio personalizado) na lista suspensa.

    1. Em Fully qualified domain name (FQDN) (Nome de domínio totalmente qualificado [FQDN]), especifique um FQDN. Você deve ser proprietário do nome de domínio que usará.

    2. Em SSL certificate (Certificado SSL), cole todo o certificado em formato PEM, começando com –––--BEGIN CERTIFICATE----- e terminando com –––--END CERTIFICATE-----. O assunto do certificado SSL deve corresponder ao FQDN inserido na etapa anterior. Remova todas as linhas extras antes e depois do certificado.

    3. Em SSL private key (Chave privada SSL), cole toda a chave privada RSA, começando com –––--BEGIN RSA PRIVATE KEY----- e terminando com –––--END RSA PRIVATE KEY-----. A chave privada SSL precisa corresponder à chave pública do certificado SSL inserido na etapa anterior. Remova todas as linhas extras antes e depois da chave privada. Escolha Próximo.

  8. Na página Definir configurações avançadas, na área Rede e segurança, escolha uma VPC, uma sub-rede e um ou mais grupos de segurança. AWS OpsWorks pode gerar um grupo de segurança, uma função de serviço e um perfil de instância para você, caso ainda não tenha alguns que queira usar. O servidor pode ser membro de vários grupos de segurança. Não é possível alterar as configurações de rede e segurança do servidor Puppet master depois de sair desta página.

    Rede e segurança
  9. Na seção System maintenance, defina o dia e a hora em que você deseja que a manutenção do sistema se inicie. Como é recomendável que o servidor esteja offline durante a manutenção do sistema, escolha um horário de baixa demanda do servidor no horário comercial regular.

    A janela de manutenção é necessária. Você pode alterar o dia e a hora de início posteriormente usando o AWS Management Console AWS CLI, ou as APIs.

    Manutenção do sistema
  10. Configure os backups. Por padrão, os backups automáticos estão ativados. Defina uma preferência de frequência e hora para o início do backup automático e defina o número de gerações de backup a armazenar no Amazon Simple Storage Service. Um máximo de 30 backups podem ser mantidos; quando o máximo é atingido, OpsWorks pois o Puppet Enterprise exclui os backups mais antigos para abrir espaço para novos.

    Backups automáticos
  11. (Opcional) Em Tags, adicione tags ao servidor e aos recursos relacionados, como a instância do EC2, o endereço IP elástico, o grupo de segurança, o bucket do S3 e os backups. Para obter mais informações sobre como marcar um servidor OpsWorks para o Puppet Enterprise, consulte. Trabalhando com tags em AWS OpsWorks for Puppet Enterprise recursos

  12. Ao concluir a configuração das definições avançadas, selecione Next.

  13. Na página Analisar, examine suas escolhas. Quando você estiver pronto para criar o servidor, escolha Launch.

    Enquanto você espera AWS OpsWorks para criar seu Puppet master, faça o download do Starter Kit Configurar o Puppet master usando o Starter Kit e das credenciais do console Puppet Enterprise. Não espere até que o servidor esteja online para fazer o download desses itens.

    Quando a criação do servidor estiver concluída, seu mestre do Puppet estará disponível na OpsWorks página inicial do Puppet Enterprise, com o status de online. Depois que o servidor estiver online, o console do Puppet Enterprise estará disponível no domínio do servidor, em um URL no seguinte formato: https://your_server_name-randomID.region.opsworks-cm.io.

Crie um Puppet Enterprise Master usando o AWS CLI

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.

Criar um servidor mestre OpsWorks para o Puppet Enterprise executando AWS CLI comandos é diferente de criar um servidor no console. No console, AWS OpsWorks cria uma função de serviço e um grupo de segurança para você, se você não especificar os existentes que deseja usar. No AWS CLI, AWS OpsWorks pode criar um grupo de segurança para você se você não especificar um, mas ele não cria automaticamente uma função de serviço; você deve fornecer um ARN da função de serviço como parte do seu create-server comando. No console, ao AWS OpsWorks criar seu Puppet master, você baixa o kit inicial e as credenciais de login para o console do Puppet Enterprise. Como você não pode fazer isso ao criar um mestre OpsWorks para o Puppet Enterprise usando o AWS CLI, você usa um utilitário de processamento JSON para obter as credenciais de login e o kit inicial a partir dos resultados do create-server comando depois que seu novo OpsWorks mestre do Puppet Enterprise estiver online.

Se seu computador local ainda não estiver executando o AWS CLI, faça o download e instale-o AWS CLI seguindo as instruções de instalação no Guia do usuário da interface de linha de comando da AWS. Esta seção não descreve todos os parâmetros que você pode usar com o comando create-server. Para obter mais informações sobre os parâmetros do create-server, consulte create-server na Referência da AWS CLI .

  1. Conclua o Pré-requisitos. Para criar o Puppet master, você precisa de um ID de sub-rede, portanto, você deve ter uma VPC.

  2. Crie uma função de serviço e um perfil de instância. AWS OpsWorks fornece um AWS CloudFormation modelo que você pode usar para criar ambos. Execute o AWS CLI comando a seguir para criar uma AWS CloudFormation pilha que crie a função de serviço e o perfil da instância para você.

    aws cloudformation create-stack --stack-name OpsWorksCMRoles --template-url https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml --capabilities CAPABILITY_NAMED_IAM
  3. Depois de AWS CloudFormation terminar de criar a pilha, encontre e copie os ARNs das funções de serviço em sua conta.

    aws iam list-roles --path-prefix "/service-role/" --no-paginate

    Nos resultados do comando list-roles, procure pelas entradas de ARN da função de serviço semelhantes às seguintes. Anote os ARNs da função de serviço. Você precisa desses valores para criar o Puppet Enterprise mestre.

    { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" } } ] }, "RoleId": "AROZZZZZZZZZZQG6R22HC", "CreateDate": "2018-01-05T20:42:20Z", "RoleName": "aws-opsworks-cm-ec2-role", "Path": "/service-role/", "Arn": "arn:aws:iam::000000000000:role/service-role/aws-opsworks-cm-ec2-role" }, { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "opsworks-cm.amazonaws.com" } } ] }, "RoleId": "AROZZZZZZZZZZZZZZZ6QE", "CreateDate": "2018-01-05T20:42:20Z", "RoleName": "aws-opsworks-cm-service-role", "Path": "/service-role/", "Arn": "arn:aws:iam::000000000000:role/service-role/aws-opsworks-cm-service-role" }
  4. Encontre e copie os ARNs de perfis de instância na sua conta.

    aws iam list-instance-profiles --no-paginate

    Nos resultados do comando list-instance-profiles, procure pelas entradas de ARN do perfil de instância semelhantes às seguintes. Anote os ARNs do perfil de instância. Você precisa desses valores para criar o Puppet Enterprise mestre.

    { "Path": "/", "InstanceProfileName": "aws-opsworks-cm-ec2-role", "InstanceProfileId": "EXAMPLEDC6UR3LTUW7VHK", "Arn": "arn:aws:iam::123456789012:instance-profile/aws-opsworks-cm-ec2-role", "CreateDate": "2017-01-05T20:42:20Z", "Roles": [ { "Path": "/service-role/", "RoleName": "aws-opsworks-cm-ec2-role", "RoleId": "EXAMPLEE4STNUQG6R22HC", "Arn": "arn:aws:iam::123456789012:role/service-role/aws-opsworks-cm-ec2-role", "CreateDate": "2017-01-05T20:42:20Z", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } } ] },
  5. Crie o master OpsWorks for Puppet Enterprise executando o create-server comando.

    • O --engine valor é Puppet, --engine-model é Monolithic e --engine-version pode ser 2019 ou 2017.

    • O nome do servidor deve ser exclusivo em sua AWS conta, em cada região. Os nomes dos servidores devem começar com uma letra; letras, números ou hífens (-) são permitidos, até um máximo de 40 caracteres.

    • Use o ARN do perfil de instância e o ARN da função de serviço que você copiou nas etapas 3 e 4.

    • Os tipos de instância válidos são m5.xlarge, c5.2xlarge ou c5.4xlarge. Para obter mais informações sobre as especificações desses tipos de instância, consulte Tipos de instância no Guia do usuário do Amazon EC2.

    • O parâmetro --engine-attributes é opcional; se você não especificar uma senha de administrador do Puppet, o processo de criação do servidor gerará uma para você. Se você adicionar --engine-attributes, especifique uma PUPPET_ADMIN_PASSWORD, uma senha de administrador para fazer login na página da web do console do Puppet Enterprise. A senha deve ter entre 8 e 32 caracteres ASCII.

    • Um par de chaves SSH é opcional, mas pode ajudá-lo a se conectar ao Puppet master se você precisar redefinir a senha de administrador do console. Para obter mais informações sobre a criação de pares de chaves SSH, consulte Pares de chaves do Amazon EC2 no Guia do usuário do Amazon EC2.

    • Para usar um domínio personalizado, adicione os seguintes parâmetros ao comando. Caso contrário, o processo de criação do Puppet mestre gerará automaticamente um endpoint para você. Todos os três parâmetros são necessários para configurar um domínio personalizado. Para obter informações sobre requisitos adicionais para usar esses parâmetros, consulte CreateServera Referência da API AWS OpsWorks CM.

      • --custom-domain – um endpoint público opcional de um servidor, como https://aws.my-company.com.

      • --custom-certificate – um certificado HTTPS no formato PEM. O valor pode ser um certificado autoassinado único ou uma cadeia de certificados.

      • --custom-private-key – uma chave privada no formato PEM para a conexão com o servidor usando HTTPS. A chave privada não deve ser criptografada e não pode ser protegida por senha nem por frase secreta.

    • É necessário fazer a manutenção semanal do sistema. Os valores válidos devem sempre ser especificados no seguinte formato: DDD:HH:MM. A hora especificada está em formato de Tempo Universal Coordenado (UTC). Se você não especificar um valor para --preferred-maintenance-window, o valor padrão será aleatório, um período de uma hora na terça, quarta ou sexta-feira.

    • Os valores válidos para --preferred-backup-window devem ser especificados em um dos seguintes formatos: HH:MM para backups diários ou DDD:HH:MM para backups semanais. A hora é especificada em UTC. O valor padrão é uma hora de início aleatória estabelecida diariamente. Para cancelar os backups automáticos, adicione o parâmetro --disable-automated-backup.

    • Em --security-group-ids, insira um ou mais IDs de grupos de segurança separados por um espaço.

    • Em --subnet-ids, insira um ID de sub-rede.

    aws opsworks-cm create-server --engine "Puppet" --engine-model "Monolithic" --engine-version "2019" --server-name "server_name" --instance-profile-arn "instance_profile_ARN" --instance-type "instance_type" --engine-attributes '{"PUPPET_ADMIN_PASSWORD":"ASCII_password"}' --key-pair "key_pair_name" --preferred-maintenance-window "ddd:hh:mm" --preferred-backup-window "ddd:hh:mm" --security-group-ids security_group_id1 security_group_id2 --service-role-arn "service_role_ARN" --subnet-ids subnet_ID

    Veja um exemplo a seguir.

    aws opsworks-cm create-server --engine "Puppet" --engine-model "Monolithic" --engine-version "2019" --server-name "puppet-02" --instance-profile-arn "arn:aws:iam::111122223333:instance-profile/aws-opsworks-cm-ec2-role" --instance-type "m5.xlarge" --engine-attributes '{"PUPPET_ADMIN_PASSWORD":"zZZzDj2DLYXSZFRv1d"}' --key-pair "amazon-test" --preferred-maintenance-window "Mon:08:00" --preferred-backup-window "Sun:02:00" --security-group-ids sg-b00000001 sg-b0000008 --service-role-arn "arn:aws:iam::111122223333:role/service-role/aws-opsworks-cm-service-role" --subnet-ids subnet-383daa71

    O exemplo a seguir cria um Puppet mestre que usa um domínio personalizado.

    aws opsworks-cm create-server \ --engine "Puppet" \ --engine-model "Monolithic" \ --engine-version "2019" \ --server-name "puppet-02" \ --instance-profile-arn "arn:aws:iam::111122223333:instance-profile/aws-opsworks-cm-ec2-role" \ --instance-type "m5.xlarge" \ --engine-attributes '{"PUPPET_ADMIN_PASSWORD":"zZZzDj2DLYXSZFRv1d"}' \ --custom-domain "my-puppet-master.my-corp.com" \ --custom-certificate "-----BEGIN CERTIFICATE----- EXAMPLEqEXAMPLE== -----END CERTIFICATE-----" \ --custom-private-key "-----BEGIN RSA PRIVATE KEY----- EXAMPLEqEXAMPLE= -----END RSA PRIVATE KEY-----" \ --key-pair "amazon-test" --preferred-maintenance-window "Mon:08:00" \ --preferred-backup-window "Sun:02:00" \ --security-group-ids sg-b00000001 sg-b0000008 \ --service-role-arn "arn:aws:iam::111122223333:role/service-role/aws-opsworks-cm-service-role" \ --subnet-ids subnet-383daa71

    O exemplo a seguir cria um Puppet mestre que adiciona duas tags: Stage: Production e Department: Marketing. Para obter mais informações sobre como adicionar e gerenciar tags nos OpsWorks servidores do Puppet Enterprise, consulte Trabalhando com tags em AWS OpsWorks for Puppet Enterprise recursos este guia.

    aws opsworks-cm create-server \ --engine "Puppet" \ --engine-model "Monolithic" \ --engine-version "2019" \ --server-name "puppet-02" \ --instance-profile-arn "arn:aws:iam::111122223333:instance-profile/aws-opsworks-cm-ec2-role" \ --instance-type "m5.xlarge" \ --engine-attributes '{"PUPPET_ADMIN_PASSWORD":"zZZzDj2DLYXSZFRv1d"}' \ --key-pair "amazon-test" --preferred-maintenance-window "Mon:08:00" \ --preferred-backup-window "Sun:02:00" \ --security-group-ids sg-b00000001 sg-b0000008 \ --service-role-arn "arn:aws:iam::111122223333:role/service-role/aws-opsworks-cm-service-role" \ --subnet-ids subnet-383daa71 \ --tags [{\"Key\":\"Stage\",\"Value\":\"Production\"},{\"Key\":\"Department\",\"Value\":\"Marketing\"}]
  6. OpsWorks para Puppet Enterprise leva cerca de 15 minutos para criar um novo servidor. Não descarte a saída do comando create-server ou feche a sessão de shell, pois a saída pode conter informações importantes que não serão exibidas novamente. Para obter as senhas e o starter kit dos resultados do comando create-server, vá para a próxima etapa.

    Se você estiver usando um domínio personalizado com o servidor, na saída do comando create-server, copie o valor do atributo Endpoint. Veja um exemplo a seguir.

    "Endpoint": "puppet-07-exampleexample.opsworks-cm.us-east-1.amazonaws.com"
  7. Se você optou OpsWorks por fazer com que o Puppet Enterprise gerasse uma senha para você, você pode extraí-la dos create-server resultados em um formato utilizável usando um processador JSON, como jq. Após instalar o jq, você pode executar os comandos a seguir para extrair a senha de administrador do Puppet e o starter kit. Se você não forneceu sua própria senha na etapa 3, salve a senha de administrador extraída em um local seguro e conveniente.

    #Get the Puppet password: cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "PUPPET_ADMIN_PASSWORD") | .Value' #Get the Puppet Starter Kit: cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "PUPPET_STARTER_KIT") | .Value' | base64 -D > starterkit.zip
    nota

    Não é possível gerar novamente um starter kit do Puppet master no AWS Management Console. Ao criar um Puppet master usando o AWS CLI, execute o jq comando anterior para salvar o kit inicial codificado em base64 nos resultados como um arquivo ZIP. create-server

  8. Se você não estiver usando um domínio personalizado, vá para a próxima etapa. Se você estiver usando um domínio personalizado com o servidor, crie uma entrada CNAME na ferramenta de gerenciamento de DNS da sua empresa para direcionar seu domínio personalizado OpsWorks para o endpoint do Puppet Enterprise que você copiou na etapa 6. Você não poderá acessar nem se conectar a um servidor com um domínio personalizado se não concluir esta etapa.

  9. Prossiga para a próxima seção, Configurar o Puppet master usando o Starter Kit.