Creare un Puppet Enterprise Master - 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 Puppet Enterprise Master

Importante

Il AWS OpsWorks for Puppet Enterprise servizio ha raggiunto la fine del ciclo di vita il 31 marzo 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il AWS Support Team su AWS re:post o tramite Premium AWS Support.

Puoi creare un Puppet master utilizzando la console OpsWorks for Puppet Enterprise o il. AWS CLI

Crea un Puppet Enterprise Master utilizzando il 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 per Puppet Enterprise.

    AWS OpsWorks casa di servizio
  3. Nella home page OpsWorks di Puppet Enterprise, scegli Crea server Puppet Enterprise.

    Pannello di controllo Puppet master
  4. Nella pagina Set name, region, and type (Imposta nome, regione e tipo) specificare un nome per il server. I nomi dei Puppet master possono avere un massimo di 40 caratteri, devono iniziare con una lettera e possono 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.xlarge nella regione 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. Nel campo r10k remote (r10k remoto) dell'area Configure Puppet Code Manager (Configura Puppet Code Manager), specificare un URL SSH o HTTPS valido del Git in remoto. Nel campo della chiave privata r10k, incolla la chiave privata SSH che AWS OpsWorks puoi utilizzare per accedere all'archivio remoto r10k. Questa viene fornita da Git al momento della creazione di un repository privato, ma non è necessaria se si sta utilizzando l'autenticazione HTTPS per accedere al repository di controllo. Seleziona Successivo.

    Configura pagina server
  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.

  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.

    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. Rimuovere eventuali righe aggiuntive prima e dopo il certificato.

    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. Rimuovi eventuali linee extra prima e dopo la chiave privata. Seleziona Successivo.

  8. Nella pagina Configura impostazioni avanzate, nell'area Rete e sicurezza, scegli un VPC, una sottorete e uno o più gruppi di sicurezza. AWS OpsWorks può generare automaticamente 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 è possibile modificare le impostazioni di rete e di sicurezza per il Puppet master 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.

    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. È possibile conservare un massimo di 30 backup; quando viene raggiunto il numero massimo, OpsWorks for Puppet Enterprise 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 server OpsWorks for Puppet Enterprise, consulta. Utilizzo dei tag nelle AWS OpsWorks for Puppet Enterprise 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 creare il tuo Puppet master, vai AWS OpsWorks a scaricare lo Starter Kit Configurare il Puppet Master utilizzando lo Starter Kit e le credenziali della console Puppet Enterprise. Non attendere che il server sia online per scaricare questi elementi.

    Al termine della creazione del server, il tuo Puppet master è disponibile nella OpsWorks home page di Puppet Enterprise, con lo stato online. Dopo che il server è online, la console Puppet Enterprise è disponibile nel dominio del server, in un URL nel formato seguente: https://your_server_name-randomID.region.opsworks-cm.io.

Crea un Puppet Enterprise Master utilizzando il AWS CLI

Importante

Il AWS OpsWorks for Puppet Enterprise servizio ha raggiunto la fine del ciclo di vita il 31 marzo 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il AWS Support Team su AWS re:post o tramite Premium AWS Support.

La creazione di un server master OpsWorks for Puppet Enterprise 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 specifichi quelli esistenti che desideri 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 Puppet master, scarichi lo starter kit e le credenziali di accesso per la console Puppet Enterprise. Poiché non è possibile farlo quando si crea un master OpsWorks for Puppet Enterprise utilizzando AWS CLI, si utilizza un'utilità di elaborazione JSON per ottenere le credenziali di accesso e lo starter kit dai risultati del create-server comando dopo che il master nuovo per Puppet Enterprise è online. OpsWorks

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. Assicurarsi di completare Prerequisiti. Per creare il Puppet master, è necessario un ID di sottorete, quindi è necessario disporre di un VPC.

  2. 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
  3. 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 master Puppet Enterprise, 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" }
  4. 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 master Puppet Enterprise, 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" } ] } } ] },
  5. Crea il master OpsWorks for Puppet Enterprise eseguendo il comando. create-server

    • Il --engine valore è PuppetMonolithic, --engine-model è e --engine-version può essere 2019 o2017.

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

    • I tipi di istanza validi sono m5.xlarge, c5.2xlarge o c5.4xlarge. 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 si specifica una password di amministratore Puppet, il processo di creazione del server ne genera uno. Se si aggiunge --engine-attributes, specificare una PUPPET_ADMIN_PASSWORD, una password di amministratore per l'accesso alla pagina Web della console Puppet Enterprise. La password deve utilizzare da 8 a 32 caratteri ASCII.

    • Una coppia di chiavi SSH è facoltativa, ma può aiutare a connettersi al Puppet master se si deve reimpostare la password di amministratore della console. 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 master Puppet 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 "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

    Di seguito è riportato un esempio.

    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

    Nell'esempio seguente viene creato un master Puppet che utilizza un dominio personalizzato.

    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

    Nell'esempio seguente viene creato un master Puppet che aggiunge due tag: Stage: Production e Department: Marketing. Per ulteriori informazioni sull'aggiunta e la gestione dei tag sui OpsWorks server Puppet Enterprise, Utilizzo dei tag nelle AWS OpsWorks for Puppet Enterprise risorse consulta questa guida.

    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 for Puppet Enterprise impiega 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": "puppet-07-exampleexample.opsworks-cm.us-east-1.amazonaws.com"
  7. Se hai scelto di fare in modo che OpsWorks Puppet Enterprise generi una password per te, puoi estrarla in un formato utilizzabile dai create-server risultati utilizzando un processore JSON come jq. Dopo aver installato jq, è possibile eseguire i seguenti comandi per estrarre la password di amministratore Puppet e lo starter kit. Se non si fornisce la password nella Fase 3, assicurarsi di salvare la password di amministratore estratta in una posizione sicura, ma comoda.

    #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

    Non è possibile rigenerare un nuovo starter kit Puppet master nella AWS Management Console. Quando crei un master Puppet utilizzando il AWS CLI, esegui il jq comando precedente per salvare lo starter kit con codifica base64 nei risultati come file ZIP. create-server

  8. Se non si utilizza un dominio personalizzato, passare alla fase successiva. Se utilizzi un dominio personalizzato con il server, crea una voce CNAME nello strumento di gestione DNS dell'azienda per indirizzare il dominio personalizzato all'endpoint OpsWorks for Puppet Enterprise che hai copiato nel passaggio 6. Non è possibile raggiungere o eseguire l'accesso al server con un dominio personalizzato fino a quando non si completa questa fase.

  9. Passare alla fase successiva, Configurare il Puppet Master utilizzando lo Starter Kit.