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à.
Creazione di associazioni che vengono eseguite Chef recipes
È possibile creare State Manager associazioni che funzionano Chef ricette utilizzando il documento AWS-ApplyChefRecipes
SSM. State Manager è uno strumento in AWS Systems Manager. È possibile definire come destinazione i nodi di Systems Manager gestiti basati su Linux con il documento SSM AWS-ApplyChefRecipes
. Questo documento offre i seguenti vantaggi per l'esecuzione Chef ricette:
-
Supporta più versioni di Chef (Chef Da 11 a Chef 18).
-
Installa automaticamente Chef software client sui nodi di destinazione.
-
Facoltativamente esegue controlli di conformità Systems Manager su nodi di destinazione e memorizza i risultati dei controlli di conformità in un bucket Amazon Simple Storage Service (Amazon S3).
-
Esegue più cookbook e ricette in un'unica esecuzione del documento.
-
Facoltativamente esegue le ricette in modalità
why-run
, per mostrare quali ricette cambieranno nei nodi di destinazione senza apportare modifiche. -
Facoltativamente applica attributi JSON personalizzati alle esecuzioni
chef-client
. -
Facoltativamente, applica attributi JSON personalizzati da un file di origine archiviato in una posizione specificata dall'utente.
Puoi usare Git, GitHub, bucket HTTP o Amazon S3 come fonti di download per Chef libri di cucina e ricette specificati in un documento. AWS-ApplyChefRecipes
Nota
Associazioni che funzionano Chef le ricette non sono supportate su macOS.
Nozioni di base
Prima di creare un AWS-ApplyChefRecipes
documento, preparate il Chef libri di cucina e archivio di libri di cucina. Se non ne hai già uno Chef il ricettario che desideri utilizzare, puoi iniziare utilizzando un HelloWorld
ricettario di prova che AWS hai preparato per te. Il documento AWS-ApplyChefRecipes
punta già a questo libro di cucina per impostazione predefinita. I tuoi libri di cucina dovrebbero essere impostati in modo simile alla seguente struttura di directory. Nel seguente esempio, jenkins
e nginx
sono esempi di Chef libri di cucina disponibili in Chef Supermarket
Sebbene non AWS possa supportare ufficialmente i libri di cucina su Chef SupermarketAWS-ApplyChefRecipes
documento. Di seguito sono riportati esempi di criteri per stabilire quando si sta testando un libro di cucina della community:
-
Il libro di cucina dovrebbe supportare i sistemi operativi basati su Linux dei nodi di Systems Manager gestiti individuati come target.
-
Il ricettario deve essere valido per Chef versione client (Chef da 11 a Chef 18) che usi.
-
Il ricettario è compatibile con Chef Infra Client, e non richiede un server Chef.
Verifica di avere la possibilità di accedere al sito web Chef.io
, in modo che tutti i libri di cucina specificati nell'elenco di esecuzione siano installati quando viene eseguito il documento di Systems Manager (documento SSM). L'utilizzo di una cartella cookbooks
nidificata è supportato, ma non obbligatorio; è possibile memorizzare i libri di cucina direttamente sotto il livello radice.
<Top-level directory, or the top level of the archive file (ZIP or tgz or tar.gz)> └── cookbooks (optional level) ├── jenkins │ ├── metadata.rb │ └── recipes └── nginx ├── metadata.rb └── recipes
Importante
Prima di creare un State Manager associazione che esegue Chef ricette, tieni presente che l'esecuzione del documento installa il Chef software client sui nodi gestiti di Systems Manager, a meno che non si imposti il valore di Chef versione client suNone
. Questa operazione utilizza uno script di installazione da Chef installare Chef componenti per tuo conto. Prima di pubblicare un AWS-ApplyChefRecipes
documento, assicuratevi che la vostra azienda sia in grado di rispettare tutti i requisiti legali applicabili, incluse le condizioni di licenza applicabili all'uso di Chef software. Per ulteriori informazioni, consultare la .Chef sito web
Systems Manager può fornire report di conformità a un bucket S3, alla console di Systems Manager o rendere disponibili i risultati di conformità in risposta ai comandi dell'API Systems Manager. Per eseguire report di conformità di Systems Manager, il profilo dell'istanza collegato con i nodi Systems Manager gestiti deve disporre delle autorizzazioni per scrivere nel bucket S3. Il profilo dell'istanza deve disporre delle autorizzazioni per utilizzare l'API PutComplianceItem
Systems Manager. Per ulteriori informazioni sulla conformità di Systems Manager, consultare ConformitàAWS Systems Manager.
Registrazione dell'esecuzione del documento
Quando si esegue un documento Systems Manager (documento SSM) utilizzando un State Manager associazione, puoi configurare l'associazione per scegliere l'output dell'esecuzione del documento e puoi inviare l'output ad Amazon S3 o Amazon CloudWatch Logs (Logs)CloudWatch . Per facilitare la risoluzione dei problemi al termine dell'esecuzione di un'associazione, verifica che l'associazione sia configurata per scrivere l'output dei comandi su un bucket Amazon S3 o su Logs. CloudWatch Per ulteriori informazioni, consulta Utilizzo delle associazioni in Systems Manager.
Applicazione degli attributi JSON alle destinazioni durante l'esecuzione di una ricetta
Puoi specificare gli attributi JSON per Chef client da applicare ai nodi di destinazione durante l'esecuzione di un'associazione. Durante la configurazione dell'associazione, è possibile fornire un formato JSON non elaborato o specificare il percorso di un file JSON archiviato in Amazon S3.
Usa gli attributi JSON quando desideri personalizzare il modo in cui viene eseguita la ricetta senza dover modificare la ricetta stessa, ad esempio:
-
Sovrascrivere un numero limitato di attributi
Utilizza un formato JSON personalizzato per evitare di dover mantenere più versioni di una ricetta per adattarla a piccole differenze.
-
Fornire valori variabili
Usa JSON personalizzato per specificare i valori che possono cambiare da run-to-run. Ad esempio, se Chef i libri di cucina configurano un'applicazione di terze parti che accetta pagamenti, puoi utilizzare un codice JSON personalizzato per specificare l'URL dell'endpoint di pagamento.
Definizione degli attributi in formato JSON non elaborato
Di seguito è riportato un esempio del formato che puoi utilizzare per specificare attributi JSON personalizzati per Chef ricetta.
{"filepath":"
/tmp/example.txt
", "content":"Hello, World!
"}
Definizione di un percorso per un file JSON
Di seguito è riportato un esempio del formato che puoi utilizzare per specificare il percorso degli attributi JSON personalizzati per Chef ricetta.
{"sourceType":"s3", "sourceInfo":"
someS3URL1
"}, {"sourceType":"s3", "sourceInfo":"someS3URL2
"}
Utilizzo di Git come origine di un libro di cucina
Il AWS-ApplyChefRecipes
documento utilizza il plugin AWS:DownloadContent per il download Chef libri di cucina. Per scaricare contenuti da Git, specifica le informazioni sul repository Git in formato JSON come nel seguente esempio. Sostituisci ogni example-resource-placeholder
con le tue informazioni.
{ "repository":"
GitCookbookRepository
", "privateSSHKey":"{{ssm-secure:ssh-key-secure-string-parameter
}}", "skipHostKeyChecking":"false
", "getOptions":"branch:refs/head/main
", "username":"{{ssm-secure:username-secure-string-parameter
}}", "password":"{{ssm-secure:password-secure-string-parameter
}}" }
Utilizzo GitHub come fonte di libri di cucina
Il documento AWS-ApplyChefRecipes
utilizza il plug-in aws:downloadContent per scaricare libri di cucina. Per scaricare contenuti da GitHub, specifica le informazioni sul tuo GitHub repository in formato JSON come nell'esempio seguente. Sostituisci ogni example-resource-placeholder
con le tue informazioni.
{ "owner":"
TestUser
", "repository":"GitHubCookbookRepository
", "path":"cookbooks/HelloWorld
", "getOptions":"branch:refs/head/main
", "tokenInfo":"{{ssm-secure:token-secure-string-parameter
}}" }
Utilizzo di HTTP come origine di un libro di cucina
È possibile archiviare Chef libri di cucina in una posizione HTTP personalizzata come tar.gz
file singolo .zip
o come struttura di directory. Per scaricare contenuti da HTTP, specifica il percorso del file o della directory in formato JSON, come nell'esempio seguente. Sostituisci ogni example-resource-placeholder
con le tue informazioni.
{ "url":"https:
//my.website.com/chef-cookbooks/HelloWorld.zip
", "allowInsecureDownload":"false", "authMethod":"Basic", "username":"{{ssm-secure:username-secure-string-parameter
}}", "password":"{{ssm-secure:password-secure-string-parameter
}}" }
Utilizzo di Amazon S3 come fonte di libro di cucina
Puoi anche archiviare e scaricare Chef libri di cucina in Amazon S3 come struttura .zip
singola o a file tar.gz
o come struttura di directory. Per scaricare contenuti da Amazon S3, specifica il percorso del file in formato JSON, come negli esempi seguenti. Sostituisci ogni example-resource-placeholder
con le tue informazioni.
Esempio 1: Scaricare un libro di cucina specifico
{ "path":"https://s3.amazonaws.com/
chef-cookbooks/HelloWorld.zip
" }
Esempio 2: download dei contenuti di una directory
{ "path":"https://s3.amazonaws.com/
chef-cookbooks-test/HelloWorld
" }
Importante
Se specifichi Amazon S3, il profilo dell'istanza AWS Identity and Access Management (IAM) sui nodi gestiti deve essere configurato con la AmazonS3ReadOnlyAccess
policy. Per ulteriori informazioni, consulta la pagina Configurazione delle autorizzazioni dell'istanza richieste per Systems Manager.
Crea un'associazione che funzioni Chef ricette (console)
La procedura seguente descrive come utilizzare la console Systems Manager per creare un State Manager associazione che viene eseguita Chef libri di cucina utilizzando il AWS-ApplyChefRecipes
documento.
Apri la AWS Systems Manager console all'indirizzo https://console.aws.amazon.com/systems-manager/
. Nel riquadro di navigazione, scegli State Manager.
-
Scegliere State Manager, quindi scegli Crea associazione.
-
Per Name (Nome), specificare un nome che consente di ricordare lo scopo dell'associazione.
-
Nell'elenco Document (Documento) scegliere
AWS-ApplyChefRecipes
. -
In Parametri, per Tipo di sorgente, seleziona Git, GitHub, HTTP o S3.
-
Per informazioni origine, inserisci le informazioni sull'origine del libro di cucina utilizzando il formato appropriato per Tipo di origine selezionato nel passaggio 6. Per ulteriori informazioni, consulta i seguenti argomenti:
-
In Esegui elenco, elencare le ricette che si desidera eseguire nel formato seguente, separando ogni ricetta con una virgola come mostrato. Non includere uno spazio dopo la virgola. Sostituisci ogni
example-resource-placeholder
con le tue informazioni.recipe[
cookbook-name1
::recipe-name
],recipe[cookbook-name2
::recipe-name
] -
(Facoltativo) Specificate gli attributi JSON personalizzati che desiderate Chef client da passare ai nodi di destinazione.
-
Nel contenuto degli attributi JSON, aggiungi tutti gli attributi che desideri Chef client da passare ai nodi di destinazione.
-
Nelle sorgenti degli attributi JSON, aggiungi i percorsi a tutti gli attributi che desideri Chef client da passare ai nodi di destinazione.
Per ulteriori informazioni, consulta Applicazione degli attributi JSON alle destinazioni durante l'esecuzione di una ricetta.
-
-
Per Chef versione client, specificare a Chef versione. I valori validi sono compresi tra
11
e18
oNone
. Se si specifica un numero compreso tra11
18
(incluso), Systems Manager installa il file corretto Chef versione client sui nodi di destinazione. Se si specificaNone
, Systems Manager non installa Chef client sui nodi di destinazione prima di eseguire le ricette del documento. -
(Facoltativo) Per Chef argomenti del client, specificare argomenti aggiuntivi supportati per la versione di Chef stai usando. Per saperne di più sugli argomenti supportati, esegui
chef-client -h
su un nodo che esegue Chef cliente. -
(Facoltativo) Abilitare Why-run per mostrare le modifiche apportate ai nodi di destinazione se vengono eseguite le ricette, senza modificare effettivamente i nodi di destinazione.
-
In Gravità della conformità, scegliere la gravità dei risultati della conformità di Systems Manager che si desidera segnalare. Il report di conformità indica se l'associazione è conforme o non conforme e il livello di gravità specificato qui. I report di conformità vengono archiviati in un bucket S3 specificato come valore del parametro Compliance report bucket (bucket del report di conformità) (passaggio 14). Per ulteriori informazioni sulla conformità, consultare Scopri i dettagli sulla conformità in questa guida.
Le scansioni di conformità misurano lo spostamento tra le configurazioni specificate nel Chef ricette e risorse dei nodi. I valori validi sono
Critical
,High
,Medium
,Low
,Informational
,Unspecified
oNone
. Per ignorare la segnalazione di conformità, scegliereNone
. -
Per Tipo di conformità, specificare il tipo di conformità per il quale si desidera segnalare i risultati. I valori validi sono
Association
per State Manager associazioni oCustom:
custom-type
. Il valore predefinito èCustom:Chef
. -
Per il bucket di report di conformità, inserisci il nome di un bucket S3 in cui archiviare le informazioni su ogni Chef esecuzione eseguita da questo documento, inclusa la configurazione delle risorse e i risultati di conformità.
-
In Rate control, configura le opzioni per l'esecuzione State Manager associazioni attraverso una flotta di nodi gestiti. Per informazioni sull'utilizzo dei controlli di velocità, consultare Comprensione degli obiettivi e dei controlli delle tariffe in State Manager associazioni.
In Convaluta, scegli un'opzione:
-
Scegliere targets (target) per immettere il numero assoluto di target che possono eseguire contemporaneamente l'associazione.
-
Scegliere percentage (percentuale) per immettere la percentuale del set target che può eseguire contemporaneamente l'associazione.
In Soglia di errore, scegli un'opzione:
-
Scegli gli errori per inserire un numero assoluto di errori consentiti in precedenza State Manager interrompe l'esecuzione di associazioni su obiettivi aggiuntivi.
-
Scegli la percentuale per inserire una percentuale di errori consentiti in precedenza State Manager interrompe l'esecuzione di associazioni su obiettivi aggiuntivi.
-
(Opzionale) In Output optione (Opzioni di output), per salvare l'output del comando in un file, selezionare la casella Enable writing output to S3 (Abilita scrittura in S3). Digitare i nomi del bucket e del prefisso (cartella) nelle caselle.
Nota
Le autorizzazioni S3 che assegnano la possibilità di scrivere dati in un S3 Bucket sono quelle del profilo del nodo e non quelle dell'utente IAM che esegue questo processo. Per ulteriori informazioni, consulta le pagine Configurazione delle autorizzazioni dell'istanza richieste per Systems Manager oppure Creazione di un ruolo di servizio IAM per un ambiente ibrido. Inoltre, se il bucket S3 specificato si trova in un altro bucket Account AWS, verifica che il profilo di istanza o il ruolo del servizio IAM associato al nodo gestito disponga delle autorizzazioni necessarie per scrivere su quel bucket.
-
Scegliere Create Association (Crea associazione).
Crea un'associazione che venga eseguita Chef ricette (CLI)
La procedura seguente descrive come utilizzare AWS Command Line Interface (AWS CLI) per creare un State Manager associazione che esegue i libri di cucina Chef utilizzando il AWS-ApplyChefRecipes
documento.
Installa e configura AWS Command Line Interface (AWS CLI), se non l'hai già fatto.
Per informazioni, consulta la pagina Installazione o aggiornamento della versione più recente di AWS CLI.
-
Eseguite uno dei seguenti comandi per creare un'associazione che venga eseguita Chef libri di cucina sui nodi di destinazione che hanno i tag specificati. Usa il comando appropriato per il tipo di origine del libro di cucina e il sistema operativo. Sostituisci ogni
example-resource-placeholder
con le tue informazioni.-
Origine Git
-
GitHub source (origine)
Ecco un esempio.
-
Origine HTTP
-
Origine Amazon S3
Ecco un esempio.
Il sistema crea l'associazione e, a meno che l'espressione cron o rate specificata non lo impedisca, esegue l'associazione sui nodi di destinazione.
Nota
State Manager le associazioni non supportano tutte le espressioni cron e rate. Per ulteriori informazioni sulla creazione di espressioni cron e rate per le associazioni, consulta Riferimento: espressioni Cron e Rate per Systems Manager.
-
-
Esegui il comando riportato sotto per visualizzare lo stato dell'associazione appena creata.
aws ssm describe-association --association-id "
ID
"
Visualizzazione dei dettagli di conformità delle risorse Chef
Systems Manager acquisisce informazioni sulla conformità relative a Chef-risorse gestite nel valore del bucket del report di conformità di Amazon S3 che hai specificato quando hai eseguito il documento. AWS-ApplyChefRecipes
Ricerca di informazioni su Chef gli errori relativi alle risorse in un bucket S3 possono richiedere molto tempo. È invece possibile visualizzare queste informazioni nella pagina Compliance (Conformità) di Systems Manager.
Una scansione di Systems Manager Compliance raccoglie informazioni sulle risorse sui nodi gestiti che sono state create o controllate nei nodi più recenti. Chef eseguire. Le risorse possono includere file, directory, servizi systemd
, pacchetti yum
, file con modelli, pacchetti gem
e libri di cucina dipendenti, tra gli altri.
Nella sezione Compliance resources summary (Riepilogo risorse di conformità) è visualizzato il conteggio delle risorse non riuscite. Nell'esempio seguente, ComplianceTypeè Custom:Chefe una risorsa non è conforme.
Nota
Custom:Chef
è il ComplianceTypevalore predefinito nel documento. AWS-ApplyChefRecipes
Il valore è personalizzabile.

La sezione Panoramica dei dettagli delle risorse mostra le informazioni sulla AWS risorsa che non è conforme. Questa sezione include anche Chef tipo di risorsa in base alla quale è stata eseguita la conformità, gravità del problema, stato di conformità e collegamenti a ulteriori informazioni, ove applicabile.

View output (Visualizzazione dell'output) mostra gli ultimi 4.000 caratteri dello stato dettagliato. Systems Manager inizia con l'eccezione come primo elemento, trova messaggi dettagliati e li mostra fino a raggiungere la quota di 4.000 caratteri. Questo processo mostra i messaggi di log generati prima dell'eccezione, ovvero i messaggi più rilevanti per la risoluzione dei problemi.
Per informazioni su come visualizzare le informazioni di conformità, consulta ConformitàAWS Systems Manager.
Importante
Se il file State Manager l'associazione fallisce, non viene riportato alcun dato di conformità. Ad esempio, se Systems Manager tenta di scaricare un Chef ricettario da un bucket S3 a cui il nodo non dispone dell'autorizzazione di accesso, l'associazione fallisce e Systems Manager non riporta dati di conformità.