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 una configurazione dell'infrastruttura
Questa sezione descrive come utilizzare la console o imagebuilder i comandi di Image Builder AWS CLI per creare una configurazione dell'infrastruttura.
- Console
-
Per creare una risorsa di configurazione dell'infrastruttura dalla console di Image Builder, segui questi passaggi:
-
Apri la console EC2 Image Builder all'indirizzo https://console.aws.amazon.com/imagebuilder/
. -
Dal pannello di navigazione, scegli Configurazione dell'infrastruttura.
-
Scegli Crea configurazione dell'infrastruttura.
-
Nella sezione Generale, inserisci le seguenti informazioni obbligatorie:
-
Inserisci il nome della risorsa di configurazione dell'infrastruttura.
-
Seleziona un ruolo IAM da associare al profilo dell'istanza per le autorizzazioni dei componenti sulle istanze di build e test. Image Builder utilizza queste autorizzazioni per scaricare ed eseguire i componenti CloudWatch, caricare i log ed eseguire qualsiasi azione aggiuntiva specificata dai componenti della ricetta.
-
-
Nel pannello dell'AWS infrastruttura, configura le restanti impostazioni dell'infrastruttura. Immetti le seguenti informazioni necessarie:
-
Tipo di istanza: puoi specificare uno o più tipi di istanza da utilizzare per questa build. Image Builder seleziona uno di questi tipi di istanza in base alla disponibilità.
Nota
Le istanze Mac vengono eseguite su tipi di
.metalistanze su un host dedicato. Il tipo di istanza deve corrispondere a uno dei tipi definiti per l'host su cui viene eseguita. Per ulteriori informazioni sulle istanze Mac e un elenco dei tipi di istanze che supportano nativamente il sistema operativo macOS, consulta le istanze Mac di Amazon EC2 nella Amazon EC2 User Guide. -
Argomento SNS (opzionale): seleziona un argomento SNS per ricevere notifiche e avvisi da EC2 Image Builder.
Se non si forniscono valori per le seguenti impostazioni, vengono utilizzate le impostazioni predefinite specifiche del servizio, ove applicabile.
-
VPC, sottorete e gruppi di sicurezza: Image Builder utilizza il VPC e la sottorete predefiniti. Per ulteriori informazioni sulla configurazione degli endpoint dell'interfaccia VPC, vedere. Image Builder e endpoint AWS PrivateLink VPC di interfaccia
-
Nella sezione delle impostazioni per la risoluzione dei problemi, configura i seguenti valori:
-
Per impostazione predefinita, la casella di controllo Termina istanza in caso di errore è selezionata. Tuttavia, quando una compilazione fallisce, puoi connetterti all'istanza Amazon EC2 per risolvere il problema. Se desideri che l'istanza continui a funzionare dopo un errore di compilazione, deseleziona la casella di controllo.
-
Coppia di chiavi: se l'istanza Amazon EC2 continua a funzionare dopo un errore di compilazione, puoi creare una coppia di chiavi o utilizzare una coppia di chiavi esistente per connetterti all'istanza e risolvere il problema.
-
Log: puoi specificare un bucket Amazon S3 in cui Image Builder può scrivere i log delle applicazioni per aiutarti a risolvere i problemi di compilazione e test. Se non si specifica un bucket Amazon S3, Image Builder scrive i log dell'applicazione nell'istanza.
-
-
Nella sezione Impostazioni dei metadati dell'istanza, configura i seguenti valori da applicare alle istanze Amazon EC2 utilizzate da Image Builder per creare e testare l'immagine:
-
Seleziona la versione dei metadati per determinare se Amazon EC2 richiede un'intestazione del token firmata per le richieste di recupero dei metadati delle istanze.
-
V1 e V2 (token opzionale): valore predefinito se non selezioni nulla.
-
V2 (token richiesto)
Nota
Ti consigliamo di configurare tutte le istanze EC2 che Image Builder avvia da una build di pipeline per utilizzare IMDSv2 in modo che le richieste di recupero dei metadati delle istanze richiedano un'intestazione token firmata.
-
-
Limite di hop di risposta del token di metadati: il numero di salti di rete che il token di metadati può percorrere. Intervallo valido: 1—64. Se non imposti un valore, Image Builder applica un limite di hop di 2.
-
-
Nella sezione Instance placement settings, configura i seguenti valori da applicare alle istanze Amazon EC2 utilizzate da Image Builder per creare e testare l'immagine:
-
Puoi selezionare la zona di disponibilità in cui Image Builder avvia le istanze durante la creazione dell'immagine.
-
Facoltativamente, seleziona Tenancy per i server che eseguono le istanze avviate. Per impostazione predefinita, le istanze Amazon EC2 vengono eseguite su hardware di tenancy condiviso. Ciò significa che più dispositivi Account AWS potrebbero condividere lo stesso hardware fisico. Un'istanza con
dedicatedtenancy viene eseguita su hardware single-tenant. Un'istanza conhosttenancy viene eseguita su un host dedicato.Le istanze Mac richiedono un host dedicato creato come prerequisito prima di creare un'immagine personalizzata. Seleziona
hostper la tua immagine macOS. Puoi quindi selezionare un host o un gruppo di risorse host di destinazione per avviare le istanze, ma non è necessario se il posizionamento automatico dell'host dedicato è abilitato. Per ulteriori informazioni, consulta Auto-placement la Amazon EC2 User Guide.-
ID host di tenancy: l'ID dell'host dedicato su cui vengono eseguite le istanze.
-
Gruppo di risorse host di Tenancy: Amazon Resource Name (ARN) del gruppo di risorse host in cui avviare le istanze.
-
-
-
-
Nella sezione Tag di infrastruttura (opzionale), puoi assegnare tag di metadati all'istanza Amazon EC2 che Image Builder avvia durante il processo di compilazione. Inserisci i tag come coppie chiave-valore.
-
Nella sezione Tag (opzionale), puoi assegnare tag di metadati alla risorsa di configurazione dell'infrastruttura creata da Image Builder come output. Inserisci i tag come coppie chiave-valore.
-
- AWS CLI
-
La procedura seguente mostra come configurare l'infrastruttura per l'immagine con il create-infrastructure-configuration
comando Image Builder nel. AWS CLI Il comando nel passaggio 2 consente di inserire il file creato nel passaggio 1. Per questi esempi, viene chiamato il file del passaggio 1 create-infrastructure-configuration.json.L'esempio seguente imposta i campi di infrastruttura comuni. Per richiedere i token IMDSv2 nelle istanze di build e test, aggiungi un
instanceMetadataOptionsblocco con set to.httpTokensrequiredNota
Ti consigliamo di configurare tutte le istanze EC2 che Image Builder avvia da una build di pipeline per utilizzare IMDSv2 in modo che le richieste di recupero dei metadati delle istanze richiedano un'intestazione del token firmata.
-
Creazione di un file JSON di input nella CLI
Gli esempi seguenti mostrano le varianti del file JSON che è possibile creare per la configurazione dell'infrastruttura. Utilizzate uno strumento di modifica dei file per creare un file JSON personalizzato.
Esempio 1: configurazione per conservare un'istanza di una build fallita
Questo esempio specifica due tipi di istanza
m7i.largeem7i.xlarge. Si consiglia di specificare più di un tipo di istanza perché ciò consente a Image Builder di avviare un'istanza da un pool con capacità sufficiente. Questo può ridurre gli errori transitori di compilazione.instanceProfileNameSpecifica il profilo dell'istanza che fornisce all'istanza le autorizzazioni richieste dal profilo per eseguire le attività di personalizzazione. Ad esempio, se disponi di un componente che recupera risorse da Amazon S3, il profilo dell'istanza richiede le autorizzazioni per accedere a tali file. Il profilo dell'istanza richiede anche un set minimo di autorizzazioni affinché EC2 Image Builder possa comunicare correttamente con l'istanza. Per ulteriori informazioni, consulta Preparati per creare immagini personalizzate con Image Builder.{ "name": "ExampleInfraConfigDontTerminate", "description": "An example that will retain instances of failed builds", "instanceTypes": [ "m7i.large", "m7i.xlarge" ], "instanceProfileName": "myIAMInstanceProfileName", "securityGroupIds": [ "sg-12345678" ], "subnetId": "subnet-12345678", "logging": { "s3Logs": { "s3BucketName": "my-logging-bucket", "s3KeyPrefix": "my-path" } }, "keyPair": "myKeyPairName", "terminateInstanceOnFailure": false, "snsTopicArn": "arn:aws:sns:us-west-2:123456789012:MyTopic" }Esempio 2: configurazione macOS con posizionamento automatico
Questo esempio specifica i tipi e la posizione di un'istanza Mac in cui l'host dedicato ha il posizionamento automatico abilitato.
{ "name": "macOSInfraConfigAutoPlacement", "description": "An example infrastructure configuration for macOS.", "instanceProfileName": "EC2InstanceProfileForImageBuilder", "instanceTypes": ["mac1.metal", "mac2.metal"], "terminateInstanceOnFailure": false, "placement": { "tenancy": "host" } }Esempio 3: configurazione macOS con l'ID host specificato
Questo esempio specifica il tipo e la posizione di un'istanza Mac destinata a un host dedicato specifico.
{ "name": "macOSInfraConfigHostPlacement", "description": "An example infrastructure configuration for macOS.", "instanceProfileName": "EC2InstanceProfileForImageBuilder", "instanceTypes": ["mac2-m1ultra.metal"], "terminateInstanceOnFailure": false, "placement": { "tenancy": "host", "hostId" : "h-1234567890abcdef0" } }Esempio 4: VPC personalizzato con registrazione IMDSv2 e Amazon S3
Questo esempio avvia istanze in una sottorete e un gruppo di sicurezza specifici, richiede token IMDSv2 e scrive i log delle applicazioni su Amazon S3. Poiché l'esempio imposta, deve anche essere impostato.
subnetIdsecurityGroupIds{ "name": "VpcInfraConfigWithLogging", "description": "Build in a custom VPC with IMDSv2 and S3 logging", "instanceTypes": ["m7i.large", "m8i.large"], "instanceProfileName": "EC2InstanceProfileForImageBuilder", "subnetId": "subnet-12345678", "securityGroupIds": ["sg-12345678"], "instanceMetadataOptions": { "httpTokens": "required", "httpPutResponseHopLimit": 2 }, "logging": { "s3Logs": { "s3BucketName": "my-logging-bucket", "s3KeyPrefix": "image-builder-logs" } }, "resourceTags": { "Project": "golden-ami" }, "terminateInstanceOnFailure": true }Esempio 5: posizionamento di un host dedicato con un gruppo di risorse host
Questo esempio si rivolge a un gruppo di risorse host anziché a un ID host specifico. Per questo motivo
host,tenancyè possibile specificare un ARN del gruppo di risorse host. Non specificare anche unhostId.{ "name": "HostResourceGroupInfraConfig", "instanceProfileName": "EC2InstanceProfileForImageBuilder", "instanceTypes": ["mac2.metal"], "terminateInstanceOnFailure": false, "placement": { "tenancy": "host", "hostResourceGroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/my-host-group" } } -
Usa il file che hai creato come input quando esegui il seguente comando.
aws imagebuilder create-infrastructure-configuration --cli-input-json file://create-infrastructure-configuration.json
-