Creare un server Chef Automate - AWS OpsWorks

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creare un server Chef Automate

Importante

AWS OpsWorks for Chef Automate ha raggiunto la fine del ciclo di vita il 5 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo ai clienti esistenti di migrare a Chef SaaS o a una soluzione alternativa. Se hai domande, puoi contattare il AWS Support team su AWS re:POST o tramite Premium AWS Support.

Puoi creare un server Chef utilizzando la AWS OpsWorks for Chef Automate console o il. AWS CLI

Crea un server Chef Automate in AWS Management Console

  1. Accedi AWS Management Console e apri la AWS OpsWorks console all'indirizzo https://console.aws.amazon.com/opsworks/.

  2. Nella AWS OpsWorks home page, scegli Vai a OpsWorks Chef Automate.

    AWS OpsWorks casa di servizio
  3. Nella AWS OpsWorks for Chef Automate home page, scegli Create Chef Automate server.

    Pagina principale dei server Chef Automate
  4. Nella pagina Set name, region, and type (Imposta nome, regione e tipo) specificare un nome per il server. I nomi del server Chef possono avere un massimo di 40 caratteri e devono contenere solo caratteri alfanumerici e trattini. Seleziona una regione supportata, quindi scegli un tipo di istanza che supporti il numero di nodi che desideri gestire. Se necessario, puoi modificare il tipo di istanza dopo la creazione del tuo server. Per questa procedura dettagliata, stiamo creando un tipo di istanza m5.large nella regione degli Stati Uniti occidentali (Oregon). Seleziona Successivo.

    Pagina per l'impostazione di nome, regione e tipo
  5. Nella pagina Configure server (Configura server), lasciare la selezione predefinita nell'elenco a discesa SSH key (Chiave SSH), a meno che non si desideri specificare il nome di una coppia di chiavi.

    Pagina relativa alla selezione di una chiave SSH
  6. Per Specify server endpoint (Specifica endpoint del server), lasciare l'impostazione predefinita, Use an automatically-generated endpoint (Utilizza un endpoint generato automaticamente) e quindi scegliere Next (Avanti), a meno che non si desideri che il server sia in un dominio personalizzato di proprietà dell'utente. Per configurare un dominio personalizzato, passare alla fase successiva.

    Specificare una sezione di endpoint del server
  7. Per utilizzare un dominio personalizzato, per Specify server endpoint (Specifica endpoint del server), scegliere Use a custom domain (Usa un dominio personalizzato) dall'elenco a discesa.

    Utilizzare un dominio personalizzato
    1. Per Fully qualified domain name (FQDN) (Nome di dominio completo (FQDN)), specificare un nome completo (FQDN). È necessario essere proprietari del nome di dominio che si desidera utilizzare.

    2. Per SSL certificate (Certificato SSL), incollare l'intero certificato in formato PEM, iniziando con –––--BEGIN CERTIFICATE----- e terminando con –––--END CERTIFICATE-----. L'oggetto del certificato SSL deve corrispondere al nome di dominio completo immesso nella fase precedente.

    3. Per SSL private key (Chiave privata SSL), incollare l'intera chiave privata RSA, iniziando con –––--BEGIN RSA PRIVATE KEY----- e finendo con –––--END RSA PRIVATE KEY-----. La chiave privata SSL deve corrispondere alla chiave pubblica nel certificato SSL immesso nella fase precedente. Seleziona Successivo.

  8. Nella pagina Configure Advanced Settings(Configura impostazioni avanzate) nell'area Network and Security (Rete e sicurezza), selezionare un VPC, una sottorete e uno o più gruppi di sicurezza. Di seguito sono riportati i requisiti del VPC:

    • Il VPC deve avere almeno una sottorete pubblica.

    • La risoluzione DNS deve essere abilitata.

    • Auto-assign public IP (Assegnazione automatica dell'IP pubblico) deve essere abilitata nelle sottoreti pubbliche.

    AWS OpsWorks può generare per te un gruppo di sicurezza, un ruolo di servizio e un profilo di istanza, se non ne hai già uno che desideri utilizzare. Il tuo server può essere un membro di più gruppi di sicurezza. Non puoi modificare le impostazioni di rete e di sicurezza per il server Chef dopo aver lasciato questa pagina.

    Rete e sicurezza
  9. Nella sezione System maintenance (Manutenzione sistema), impostare il giorno e l'ora quando si desidera che il mantenimento del sistema inizi. In quanto ci si deve aspettare che il server sia offline durante il mantenimento del sistema, scegliere un orario di utilizzo del server basso durante l'orario di ufficio regolare. I nodi connessi inseriscono lo stato pending-server fino al completamento della manutenzione.

    La finestra di manutenzione è obbligatoria. Puoi modificare il giorno e l'ora di inizio in un secondo momento utilizzando AWS Management Console AWS CLI, o le API.

    Manutenzione sistema
  10. Configurare i backup. I backup automatici sono abilitati per impostazione predefinita. Imposta una frequenza e un'ora preferite per l'avvio del backup automatico e imposta il numero di generazioni di backup da archiviare in Amazon Simple Storage Service. Vengono conservati un massimo di 30 backup; quando viene raggiunto il numero massimo, AWS OpsWorks for Chef Automate elimina i backup più vecchi per fare spazio a quelli nuovi.

    Backup automatici
  11. (Facoltativo) In Tag, aggiungere tag al server e alle risorse correlate, ad esempio l'istanza EC2, l'indirizzo IP elastico, il gruppo di sicurezza, il bucket S3 e i backup. Per ulteriori informazioni sull'assegnazione di tag a un AWS OpsWorks for Chef Automate server, vedere. Lavorare con i tag sulle AWS OpsWorks for Chef Automate risorse

  12. Quando la configurazione delle impostazioni avanzate è terminata, selezionare Next (Successivo).

  13. Nella pagina Review (Esamina), esaminare le proprie opzioni. Quando si è pronti per creare il server, selezionare Launch (Avvia).

    Mentre aspetti di AWS OpsWorks creare il tuo server Chef, vai Configura il server Chef utilizzando lo Starter Kit e scarica lo Starter Kit e le credenziali della dashboard di Chef Automate. Non attendere che il server sia online per scaricare questi elementi.

    Al termine della creazione del server, il tuo server Chef sarà disponibile nella home page di AWS OpsWorks for Chef Automate , con lo stato online. Dopo che il server è online, il pannello di controllo Chef Automate è disponibile nel dominio del server, per una URL nel formato seguente: https://your_server_name-random.region.opsworks-cm.io.

Crea un server Chef Automate utilizzando il AWS CLI

La creazione di un AWS OpsWorks for Chef Automate server eseguendo AWS CLI comandi è diversa dalla creazione di un server nella console. Nella console, AWS OpsWorks crea automaticamente un ruolo di servizio e un gruppo di sicurezza, se non si specificano quelli esistenti che si desidera utilizzare. In AWS CLI, AWS OpsWorks può creare automaticamente un gruppo di sicurezza se non lo si specifica, ma non crea automaticamente un ruolo di servizio; è necessario fornire un ruolo di servizio ARN come parte del create-server comando. Nella console, mentre AWS OpsWorks crei il tuo server Chef Automate, scarichi lo starter kit Chef Automate e le credenziali di accesso per la dashboard di Chef Automate. Poiché non è possibile farlo quando si crea un AWS OpsWorks for Chef Automate server utilizzando AWS CLI, si utilizza un'utilità di elaborazione JSON per ottenere le credenziali di accesso e lo starter kit dai risultati del comando dopo che il nuovo server è online. create-server AWS OpsWorks for Chef Automate In alternativa, puoi generare una nuova serie di credenziali di accesso e un nuovo kit nella console, dopo che il nuovo server AWS OpsWorks for Chef Automate è online.

Se sul tuo computer locale non è già in esecuzione AWS CLI, scaricalo e installalo AWS CLI seguendo le istruzioni di installazione nella AWS Command Line Interface User Guide. Questa sezione non descrive tutti i parametri che è puoi utilizzare con il comando create-server. Per ulteriori informazioni sui parametri create-server, consulta create-server nella documentazione di riferimento delle AWS CLI .

  1. Assicurati di completare i prerequisiti, soprattutto Impostare una VPC, o assicurati di disporre già di una VPC esistente che desideri utilizzare. Per creare il tuo server Chef Automate, hai bisogno dell'ID di una sottorete.

  2. Eventualmente puoi generare una chiave pivotal di Chef con OpenSSLe salvare la chiave per un file semplice e sicuro sul computer locale. La chiave pivotal viene generata automaticamente come parte del processo di creazione di server, nel caso in cui non ne fornissi una nel comando create-server. Se desideri ignorare questo passaggio, puoi ottenere la chiave pivotal Chef Automate dai risultati del comando create-server. Se scegli di generare la chiave pivotal utilizzando i comandi seguenti, assicurati di includere il parametro -pubout, perché il valore della chiave pivotal Chef Automate è la metà pubblica della coppia di chiavi RSA. Per ulteriori informazioni, consulta la Fase 6.

    umask 077 openssl genrsa -out "pivotal" 2048 openssl rsa -in "pivotal" -pubout
  3. Crea un ruolo di servizio e un profilo di istanza. AWS OpsWorks fornisce un AWS CloudFormation modello che è possibile utilizzare per creare entrambi. Esegui il AWS CLI comando seguente per creare uno AWS CloudFormation stack che crei automaticamente il ruolo di servizio e il profilo dell'istanza.

    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. Al AWS CloudFormation termine della creazione dello stack, trova e copia gli ARN dei ruoli di servizio nel tuo account.

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

    Nei risultati del comando list-roles, cercare le voci ARN dei ruoli di servizio che sono simili a quanto segue. Prendi nota degli ARN dei ruoli di servizio. Per creare il server Chef Automate, hai bisogno di questi valori.

    { "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. Trova e copia gli ARN dei profili delle istanze nell'account.

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

    Nei risultati del comando list-instance-profiles, cerca le voci ARN dei profili delle istanze che sono simili a quanto segue. Prendi nota degli ARN dei profili delle istanze. Per creare il server Chef Automate, hai bisogno di questi valori.

    { "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. Crea il AWS OpsWorks for Chef Automate server eseguendo il create-server comando.

    • Il valore --engine è ChefAutomate, --engine-model è Single e --engine-version è 12.

    • Il nome del server deve essere univoco all'interno del tuo AWS account, all'interno di ogni regione. I nomi dei server devono iniziare con una lettera; quindi sono consentiti lettere, numeri o trattini (-) fino a un massimo di 40 caratteri.

    • Utilizza l'ARN del profilo dell'istanza e l'ARN del ruolo di servizio copiati nella Fase 4 e 5.

    • I tipi di istanza validi sono m5.large, r5.xlarge o r5.2xlarge. Per ulteriori informazioni sulle specifiche di questi tipi di istanze, consulta Instance Types nella Amazon EC2 User Guide.

    • Il parametro --engine-attributes è opzionale; se non specifichi uno o entrambi i valori, il processo di creazione del server genera i valori al posto tuo. Se aggiungi --engine-attributes, specifica il valore CHEF_AUTOMATE_PIVOTAL_KEY che hai generato nella Fase 2, un valore di CHEF_AUTOMATE_ADMIN_PASSWORD o entrambi.

      Se non imposti un valore per CHEF_AUTOMATE_ADMIN_PASSWORD, viene generata e restituita una password come parte della risposta create-server. Inoltre puoi scaricare nuovamente lo starter kit nella console, il quale rigenera questa password. La lunghezza della password è compresa tra 8 e 32 caratteri. La password può contenere lettere, numeri e caratteri speciali (!/@#$%^+=_). La password deve contenere almeno una lettera minuscola, una maiuscola, un numero e un carattere speciale.

    • Una coppia di chiavi SSH è facoltativa, ma può essere utile per connettersi al server Chef Automate se dovessi reimpostare la password amministratore del pannello di controllo di Chef Automate. Per ulteriori informazioni sulla creazione di una coppia di chiavi SSH, consulta Amazon EC2 Key Pairs nella Amazon EC2 User Guide.

    • Per utilizzare un dominio personalizzato, aggiungere i seguenti parametri al comando. Diversamente, il processo di creazione del server Chef Automate genera automaticamente un endpoint. Tutti e tre i parametri sono necessari per configurare un dominio personalizzato. Per informazioni sui requisiti aggiuntivi per l'utilizzo di questi parametri, consulta il AWS OpsWorks CM API CreateServerReference.

      • --custom-domain - Un endpoint pubblico opzionale di un server, ad esempio https://aws.my-company.com.

      • --custom-certificate - Un certificato HTTPS in formato PEM. Il valore può essere un singolo certificato autofirmato o una catena di certificati.

      • --custom-private-key - Una chiave privata in formato PEM per la connessione al server tramite HTTPS. La chiave privata non deve essere crittografata; non può essere protetta da password o da passphrase.

    • La manutenzione del sistema settimanale è obbligatoria. I valori validi devono essere specificati nel seguente formato: DDD:HH:MM. L'ora specificata è espressa nel Tempo coordinato universale (UTC). Se non si specifica un valore per --preferred-maintenance-window, il valore predefinito è un periodo casuale di un'ora il martedì, mercoledì o venerdì.

    • I valori validi per --preferred-backup-window devono essere specificati in uno dei seguenti formati: HH:MM per backup giornaliero o DDD:HH:MM per backup settimanali. L'orario specificato è nel formato UTC. Il valore predefinito è un'ora di avvio giornaliera casuale. Per disattivare i backup automatici, aggiungere invece il parametro --disable-automated-backup.

    • Per --security-group-ids, inserire uno o più ID del gruppo di sicurezza, separati da uno spazio.

    • Per --subnet-ids, inserire un ID di sottorete.

    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

    Di seguito è riportato un esempio.

    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

    Nell'esempio seguente viene creato un server Chef Automate che utilizza un dominio personalizzato.

    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

    Nell'esempio seguente viene creato un server Chef Automate che aggiunge due tag: Stage: Production e Department: Marketing. Per ulteriori informazioni sull'aggiunta e la gestione dei tag sui AWS OpsWorks for Chef Automate server, Lavorare con i tag sulle AWS OpsWorks for Chef Automate risorse consulta questa guida.

    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 richiede circa 15 minuti per creare un nuovo server. Non annullare l'output del comando create-server né chiudere la sessione shell, poiché l'output può contenere informazioni importanti che non vengono visualizzate nuovamente. Per ottenere le password e lo starter kit dai risultati create-server, passare alla fase successiva.

    Se si utilizza un dominio personalizzato con il server, nell'output del comando create-server, copiare il valore dell'attributo Endpoint. Di seguito è riportato un esempio.

    "Endpoint": "automate-07-exampleexample.opsworks-cm.us-east-1.amazonaws.com"
  8. Se hai scelto di AWS OpsWorks for Chef Automate generare automaticamente una chiave e una password, puoi estrarle in formati utilizzabili dai create-server risultati utilizzando un processore JSON come jq. Dopo aver installato jq, puoi eseguire i seguenti comandi per estrarre la chiave pivotal, la password amministratore del pannello di controllo di Chef Automate e lo starter kit. Se non hai fornito la chiave pivotal e la password nella Fase 4, assicurati di salvare in una posizione comoda e sicura la chiave pivotal e la password amministratore estratte.

    #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. Facoltativamente, se non avete estratto lo starter kit dai risultati dei create-server comandi, potete scaricare un nuovo starter kit dalla pagina Proprietà del server nella console. AWS OpsWorks for Chef Automate Effettuare il download di un nuovo starter kit reimposta la password amministratore del pannello di controllo di Chef Automate.

  10. Se non si utilizza un dominio personalizzato, passare alla fase successiva. Se utilizzate un dominio personalizzato con il server, create una voce CNAME nello strumento di gestione DNS aziendale per indirizzare il dominio personalizzato all' AWS OpsWorks for Chef Automate endpoint copiato nel passaggio 7. Non è possibile raggiungere o eseguire l'accesso al server con un dominio personalizzato fino a quando non si completa questa fase.

  11. Al termine del processo di creazione del server, vai su Configura il server Chef utilizzando lo Starter Kit.