Aggiornamento AMIs tramite automazione e Jenkins - AWS Systems Manager

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à.

Aggiornamento AMIs tramite automazione e Jenkins

Se la tua organizzazione utilizza Jenkins software in una pipeline CI/CD, puoi aggiungere Automation come fase successiva alla compilazione per preinstallare le versioni delle applicazioni in (). Amazon Machine Images AMIs L'automazione è una capacità di. AWS Systems ManagerÈ inoltre possibile utilizzare la funzionalità di Jenkins pianificazione per chiamare Automation e creare una cadenza di patch personalizzata per il sistema operativo (OS).

L'esempio seguente mostra come richiamare l'automazione da un Jenkins server in esecuzione in locale o in Amazon Elastic Compute Cloud (Amazon EC2). Per l'autenticazione, il Jenkins server utilizza AWS credenziali basate su una policy IAM creata nell'esempio e allegata al profilo dell'istanza.

Nota

Assicurati di seguire le migliori pratiche Jenkins di sicurezza durante la configurazione dell'istanza.

Prima di iniziare

Completa le seguenti attività prima di configurare Automation conJenkins:

Per creare una policy IAM per il server Jenkins
  1. Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione, scegliere Policies (Policy) e Create Policy (Crea policy).

  3. Scegli la scheda JSON.

  4. Sostituisci ciascun segnaposto delle risorse di esempio con le tue informazioni.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:StartAutomationExecution", "Resource": [ "arn:aws:ssm:region:account ID:document/UpdateMyLatestWindowsAmi", "arn:aws:ssm:region:account ID:automation-definition/UpdateMyLatestWindowsAmi:$DEFAULT" ] } ] }
  5. Scegli Review policy (Rivedi policy).

  6. Nella pagina Review policy (Rivedi policy), per l'opzione Name (Nome) specificare un nome per la policy inline, ad esempio JenkinsPolicy.

  7. Scegli Crea policy.

  8. Nel riquadro di navigazione, seleziona Ruoli.

  9. Scegli il profilo dell'istanza collegato al tuo Jenkins server.

  10. Nella scheda Autorizzazioni, scegli Aggiungi autorizzazioni, quindi scegli Collega policy.

  11. Nella sezione Altre policy di autorizzazione, inserisci il nome della policy creata nei passaggi precedenti. Ad esempio, JenkinsPolicy.

  12. Seleziona la casella di controllo accanto alla policy, quindi scegli Collega policy.

Utilizza la procedura seguente per configurarli AWS CLI sul tuo Jenkins server.

Per configurare il Jenkins server per l'automazione
  1. Connect al Jenkins server sulla porta 8080 utilizzando il browser preferito per accedere all'interfaccia di gestione.

  2. Inserire la password trovata in /var/lib/jenkins/secrets/initialAdminPassword. Per visualizzare la password, eseguire il comando seguente.

    sudo cat /var/lib/jenkins/secrets/initialAdminPassword
  3. Lo script Jenkins di installazione ti indirizza alla pagina Personalizza Jenkins. Selezionare Install suggested plugins (Installazione dei plug-in suggeriti).

  4. Una volta completata l'installazione, scegli Credenziali di amministratore, seleziona Salva credenziali, quindi seleziona Inizia a utilizzare. Jenkins

  5. Nel riquadro di navigazione a sinistra, scegli Gestisci Jenkins, quindi scegli Gestisci plugin.

  6. Scegliere la scheda Available (Disponibilità) e quindi inserire Amazon EC2 plugin.

  7. Selezionare la casella di controllo relativa a Amazon EC2 plugin e quindi selezionare Install without restart (Installazione senza riavvio).

  8. Al termine dell'installazione, selezionare Go back to the top page (Torna alla pagina iniziale).

  9. Scegli Gestisci Jenkins, quindi scegli Gestisci nodi e cloud.

  10. Nella sezione Cloud, seleziona Aggiungi un nuovo cloud, quindi scegli Amazon EC2.

  11. Inserisci le tue informazioni nei campi rimanenti. Assicurati di selezionare l'opzione Utilizza il profilo dell'istanza EC2 per ottenere le credenziali.

Utilizza la seguente procedura per configurare il Jenkins progetto in modo che richiami l'automazione.

Per configurare il Jenkins server per richiamare l'automazione
  1. Apri la Jenkins console in un browser web.

  2. Scegliere il progetto che si desidera configurare con il servizio di automazione, quindi scegliere Configure (Configura).

  3. Nella scheda Build (Compilazione) scegliere Add Build Step (Aggiungi fase di compilazione).

  4. Scegliere Execute shell (Esegui shell) o Execute Windows batch command (Esegui comando batch Windows) (a seconda del sistema operativo in uso).

  5. Nel campo Comando, esegui un AWS CLI comando come il seguente. Sostituisci ciascun segnaposto delle risorse di esempio con le tue informazioni.

    aws ssm start-automation-execution \ --document-name runbook name \ --region Regione AWS of your source AMI \ --parameters runbook parameters

    Il comando di esempio seguente utilizza il UpdateMyLatestWindowsAmirunbook e il parametro Systems Manager latestAmi creati inAggiorna un golden AMI usando Automation AWS Lambda, e Parameter Store.

    aws ssm start-automation-execution \ --document-name UpdateMyLatestWindowsAmi \ --parameters \ "sourceAMIid='{{ssm:latestAmi}}'" --region region

    InJenkins, il comando è simile all'esempio nella schermata seguente.

    Un comando di esempio nel Jenkins software.
  6. Nel Jenkins progetto, scegli Costruisci ora. Jenkinsrestituisce un output simile al seguente esempio.

    Esempio di output dei comandi nel Jenkins software.