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
Puoi creare State Manager associazioni che funzionano Chef ricette utilizzando il AWS-ApplyChefRecipes
SSM documento. State Manager è una capacità di AWS Systems Manager. È possibile indirizzare i nodi gestiti di Systems Manager basati su Linux con il documento. AWS-ApplyChefRecipes
SSM 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. -
Applica facoltativamente JSON attributi personalizzati alle
chef-client
esecuzioni. -
Facoltativamente, applica JSON gli attributi personalizzati da un file sorgente archiviato in una posizione specificata dall'utente.
Puoi usare Git, GitHubo bucket Amazon S3 come sorgenti di download per HTTP 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 il Chef versione client (Chef da 11 a Chef 18) che usi.
-
Il ricettario è compatibile con Chef Infra Client, e non richiede un server Chef.
Verificate di poter accedere al Chef.io
sito Web, in modo che tutti i libri di cucina specificati nell'elenco di esecuzione possano essere installati quando viene eseguito il documento (SSMdocumento) Systems Manager. 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 Systems Manager, o rendere disponibili i risultati di conformità in risposta ai comandi di Systems ManagerAPI. 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 Systems Manager PutComplianceItem
API. 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 (SSMdocumento) 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 JSON degli attributi agli obiettivi durante l'esecuzione di una ricetta
È possibile specificare JSON gli attributi per Chef client da applicare ai nodi di destinazione durante un'esecuzione di associazione. Durante la configurazione dell'associazione, puoi fornire raw JSON o fornire il percorso di un JSON file archiviato in Amazon S3.
Usa JSON gli attributi 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
Usa custom JSON per evitare di dover mantenere più versioni di una ricetta per adattarsi a differenze minori.
-
Fornire valori variabili
Usa custom JSON per specificare i valori che possono cambiare da run-to-run. Ad esempio, se il tuo Chef i libri di cucina configurano un'applicazione di terze parti che accetta pagamenti, puoi utilizzare custom JSON per specificare l'endpoint URL di pagamento.
Specificare gli attributi in formato raw JSON
Di seguito è riportato un esempio del formato che è possibile utilizzare per specificare JSON gli attributi personalizzati per Chef ricetta.
{"filepath":"
/tmp/example.txt
", "content":"Hello, World!
"}
Specificare il percorso di un file JSON
Di seguito è riportato un esempio del formato che è possibile utilizzare per specificare il percorso JSON degli attributi 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 downloadContent plugin aws: per il download Chef libri di cucina. Per scaricare contenuti da Git, specifica le informazioni sul tuo repository Git nel JSON formato come nell'esempio seguente. 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 AWS-ApplyChefRecipes
documento utilizza il downloadContent plugin aws: per scaricare libri di cucina. Per scaricare contenuti da GitHub, specifica le informazioni sul tuo GitHub repository nel JSON formato illustrato nell'esempio seguente. Sostituisci ciascuno 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 fonte di libro di cucina
È possibile memorizzare Chef libri di cucina in una HTTP posizione personalizzata come struttura singola .zip
o a tar.gz
file o come struttura di directory. Per scaricare contenuti daHTTP, specificate il percorso del file o della directory nel JSON formato illustrato 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 nel JSON formato 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, vedere Configurazione delle autorizzazioni di istanza richieste per Systems Manager.
Crea un'associazione che venga eseguita 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, GitHubHTTP, 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 ciascuno
example-resource-placeholder
con le tue informazioni.recipe[
cookbook-name1
::recipe-name
],recipe[cookbook-name2
::recipe-name
] -
(Facoltativo) Specificate JSON gli attributi personalizzati che desiderate Chef client da passare ai nodi di destinazione.
-
Nel contenuto JSON degli attributi, aggiungi tutti gli attributi che desideri Chef client da passare ai nodi di destinazione.
-
Nelle fonti JSON degli attributi, aggiungi i percorsi a tutti gli attributi che desideri Chef client da passare ai nodi di destinazione.
Per ulteriori informazioni, consulta Applicazione JSON degli attributi agli obiettivi 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 il 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 sulla 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 garantiscono la possibilità di scrivere i dati in un bucket S3 sono quelle del profilo di istanza assegnato al nodo gestito, non quelle dell'IAMutente che esegue questa attività. Per ulteriori informazioni, vedere Configurare le autorizzazioni di istanza richieste per Systems Manager o Creare un ruolo IAM di servizio 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 di IAM servizio 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 ciascuno
example-resource-placeholder
con le tue informazioni.-
Origine Git
-
GitHub fonte
Ecco un esempio.
-
HTTPfonte
-
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 rispetto 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à.