Criar um servidor Chef Automate - 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 servidor Chef Automate

Importante

AWS OpsWorks O Chef Automate chegou ao fim da vida útil em 5 de maio de 2024 e foi desativado para clientes novos e existentes. Recomendamos que os clientes existentes migrem para o Chef SaaS ou uma solução alternativa. Se você tiver dúvidas, pode entrar em contato com a AWS Support equipe no AWS re:POST ou por meio do Premium AWS Support.

Você pode criar um servidor Chef usando o AWS OpsWorks for Chef Automate console ou AWS CLI o.

Crie um servidor Chef Automate no 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 Chef Automate.

    AWS OpsWorks casa de serviço
  3. Na página AWS OpsWorks for Chef Automate inicial, escolha Criar servidor Chef Automate.

    Página inicial de servidores do Chef Automate
  4. Na página Set name, region, and type, especifique um nome para o seu servidor. Os nomes de servidores do Chef podem ter no máximo 40 caracteres e 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 este passo a passo, estamos criando um tipo de instância m5.large no 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.

    Página Selecionar uma chave SSH
  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.

    Especificar uma seção de endpoint do servidor
  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.

    Usar um domínio personalizado
    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.

    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. Escolha Próximo.

  8. Na página Configure advanced settings (Definir configurações avançadas), na seção Network and security (Rede e segurança), escolha uma VPC, uma sub-rede e um ou mais grupos de segurança. Veja a seguir os requisitos para a VPC:

    • A VPC deve ter pelo menos uma sub-rede pública.

    • A resolução DNS deve estar habilitada.

    • Auto-assign public IP (Atribuir IP público de modo automático) deve estar habilitado em sub-redes públicas.

    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 do Chef 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. Os nós conectados entram no estado pending-server até a manutenção ser concluída.

    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 são mantidos; quando o máximo é atingido, AWS OpsWorks for Chef Automate 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 AWS OpsWorks for Chef Automate servidor, consulteTrabalhando com tags em AWS OpsWorks for Chef Automate 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 servidor Chef, acesse Configurar o servidor do Chef usando o Starter Kit e baixe o Starter Kit e as credenciais do painel do Chef Automate. Não espere até que o servidor esteja online para fazer o download desses itens.

    Quando a criação for concluída, o servidor do Chef estará disponível na página inicial do AWS OpsWorks for Chef Automate , com um status online. Depois que o servidor estiver online, o painel do Chef Automate estará disponível no domínio do servidor, em um URL no seguinte formato: https://your_server_name-random.region.opsworks-cm.io.

Crie um servidor Chef Automate usando o AWS CLI

Criar um AWS OpsWorks for Chef Automate servidor 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, enquanto AWS OpsWorks cria seu servidor Chef Automate, você baixa o kit inicial do Chef Automate e as credenciais de login para o painel do Chef Automate. Como você não pode fazer isso ao criar um AWS OpsWorks for Chef Automate servidor usando o AWS CLI, use um utilitário de processamento JSON para obter as credenciais de login e o kit inicial dos resultados do create-server comando depois que o novo servidor estiver on-line. AWS OpsWorks for Chef Automate Como alternativa, você pode gerar um novo conjunto de credenciais de login e um novo starter kit no console depois que o novo servidor do AWS OpsWorks for Chef Automate 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. Certifique-se de concluir os pré-requisitos, especialmente Configuração de um VPC ou verifique se você tem uma VPC existente que deseja usar. Para criar o servidor do Chef Automate, você precisa de um ID de sub-rede.

  2. Opcionalmente, gere uma chave principal do Chef usando o OpenSSL e salve a chave em um arquivo seguro e conveniente em seu computador local. A chave principal será gerada automaticamente como parte do processo de criação do servidor, se você não fornecer uma no comando create-server. Se quiser ignorar esta etapa, você poderá obter a chave principal do Chef Automate nos resultados do comando create-server. Se optar por gerar a chave principal usando os comandos a seguir, certifique-se de incluir o parâmetro -pubout, porque o valor da chave principal do Chef Automate é a metade pública do par de chaves RSA. Para obter mais informações, consulte a etapa 6.

    umask 077 openssl genrsa -out "pivotal" 2048 openssl rsa -in "pivotal" -pubout
  3. 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
  4. 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 servidor Chef Automate.

    { "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" }
  5. 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 servidor Chef Automate.

    { "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" } ] } } ] },
  6. Crie o AWS OpsWorks for Chef Automate servidor executando o create-server comando.

    • O valor de --engine é ChefAutomate, de --engine-model é Single e de --engine-version é 12.

    • 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 4 e 5.

    • Os tipos de instância válidos são m5.large, r5.xlarge ou r5.2xlarge. 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 um dos valores ou ambos, o processo de criação do servidor gerará os valores para você. Se você adicionar --engine-attributes, especifique o valor da CHEF_AUTOMATE_PIVOTAL_KEY que você gerou na Etapa 2, uma CHEF_AUTOMATE_ADMIN_PASSWORD ou ambos.

      Se você não definir um valor para CHEF_AUTOMATE_ADMIN_PASSWORD, uma senha será gerada e retornada como parte da resposta do comando create-server. Você também pode fazer download do starter kit novamente no console, o que fará com que a senha seja gerada novamente. O comprimento da senha deve ter um mínimo de 8 e um máximo de 32 caracteres. A senha só pode conter letras, números e caracteres especiais (!/@#$%^+=_). Ela deve conter pelo menos uma letra minúscula, uma letra maiúscula, um número e um caractere especial.

    • Um par de chaves SSH é opcional, mas pode ajudá-lo a se conectar ao servidor do Chef Automate se você precisar redefinir a senha de administrador do painel do Chef Automate. 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 servidor Chef Automate 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 "ChefAutomate" --engine-model "Single" --engine-version "12" --server-name "server_name" --instance-profile-arn "instance_profile_ARN" --instance-type "instance_type" --engine-attributes '{"CHEF_AUTOMATE_PIVOTAL_KEY":"pivotal_key","CHEF_AUTOMATE_ADMIN_PASSWORD":"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 "ChefAutomate" --engine-model "Single" --engine-version "12" --server-name "automate-06" --instance-profile-arn "arn:aws:iam::12345678912:instance-profile/aws-opsworks-cm-ec2-role" --instance-type "m5.large" --engine-attributes '{"CHEF_AUTOMATE_PIVOTAL_KEY":"MZZE...Wobg","CHEF_AUTOMATE_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::12345678912:role/service-role/aws-opsworks-cm-service-role" --subnet-ids subnet-300aaa00

    O exemplo a seguir cria um servidor Chef Automate que usa um domínio personalizado.

    aws opsworks-cm create-server --engine "ChefAutomate" --engine-model "Single" --engine-version "12" \ --server-name "my-custom-domain-server" \ --instance-profile-arn "arn:aws:iam::12345678912:instance-profile/aws-opsworks-cm-ec2-role" \ --instance-type "m5.large" \ --engine-attributes '{"CHEF_AUTOMATE_PIVOTAL_KEY":"MZZE...Wobg","CHEF_AUTOMATE_ADMIN_PASSWORD":"zZZzDj2DLYXSZFRv1d"}' \ --custom-domain "my-chef-automate-server.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::12345678912:role/service-role/aws-opsworks-cm-service-role" \ --subnet-ids subnet-300aaa00

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

    aws opsworks-cm create-server --engine "ChefAutomate" --engine-model "Single" --engine-version "12" \ --server-name "my-test-chef-server" \ --instance-profile-arn "arn:aws:iam::12345678912:instance-profile/aws-opsworks-cm-ec2-role" \ --instance-type "m5.large" \ --engine-attributes '{"CHEF_AUTOMATE_PIVOTAL_KEY":"MZZE...Wobg","CHEF_AUTOMATE_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::12345678912:role/service-role/aws-opsworks-cm-service-role" \ --subnet-ids subnet-300aaa00 \ --tags [{\"Key\":\"Stage\",\"Value\":\"Production\"},{\"Key\":\"Department\",\"Value\":\"Marketing\"}]
  7. AWS OpsWorks for Chef Automate 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": "automate-07-exampleexample.opsworks-cm.us-east-1.amazonaws.com"
  8. Se você optou por AWS OpsWorks for Chef Automate gerar uma chave e uma senha para você, poderá extraí-las dos create-server resultados em formatos utilizáveis usando um processador JSON, como jq. Após instalar o jq, você pode executar os comandos a seguir para extrair a chave principal, a senha de administrador do painel do Chef Automate e o starter kit. Se você não forneceu sua própria chave principal e senha na etapa 4, salve a chave principal e a senha de administrador extraídas em locais seguros e convenientes.

    #Get the Chef password: cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "CHEF_AUTOMATE_ADMIN_PASSWORD") | .Value' #Get the Chef Pivotal Key: cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "CHEF_AUTOMATE_PIVOTAL_KEY") | .Value' #Get the Chef Starter Kit: cat resp.json | jq -r '.Server.EngineAttributes[] | select(.Name == "CHEF_STARTER_KIT") | .Value' | base64 -D > starterkit.zip
  9. Opcionalmente, se você não extraiu o kit inicial dos resultados do create-server comando, você pode baixar um novo kit inicial na página Propriedades do servidor no console. AWS OpsWorks for Chef Automate Ao fazer download de um novo starter kit, a senha de administrador do painel do Chef Automate é redefinida.

  10. 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 para o AWS OpsWorks for Chef Automate endpoint que você copiou na etapa 7. Você não poderá acessar nem se conectar a um servidor com um domínio personalizado se não concluir esta etapa.

  11. Quando o processo de criação do servidor for concluído, vá para Configurar o servidor do Chef usando o Starter Kit.