Perché alcuni tipi di istanza non sono disponibili quando cerco di lanciare un'istanza EC2 da un'AMI?

3 minuti di lettura
0

Desidero lanciare un'istanza Amazon Elastic Compute Cloud (Amazon EC2) da Amazon Machine Image (AMI). Il tipo di istanza che voglio avviare non è disponibile.

Breve descrizione

I processori AWS Graviton utilizzano l'architettura aarch64 (ARM64) invece di x86_64 (AMD64). Di seguito sono riportati alcuni tipi di istanze che utilizzano processori AWS Graviton:

  • Scopo generale: M7g, M6g, A1, T4g
  • Ottimizzato per l'elaborazione: C7g, C7gn, C6g, C6gn
  • Memoria ottimizzata: R7g, R6g, X2gd
  • Elaborazione accelerata: G5g
  • Archiviazione ottimizzata: Im4gn, Is4gen

L'architettura ARM64 utilizza un set di istruzioni per CPU diverso da quello della famiglia di architetture x86_64. Queste istruzioni forniscono un meccanismo per l'invio di comandi al processore. Durante la compilazione del software, il codice software leggibile dall'uomo viene convertito in istruzioni della CPU specifiche per l'architettura della CPU. Qualsiasi CPU di quel tipo di architettura può utilizzare queste istruzioni della CPU. Tuttavia, la CPU di un tipo di architettura non è in grado di comprendere il set di istruzioni di un altro tipo. Un'AMI compilata da un'architettura viene eseguita solo sulle CPU di quel tipo di architettura.

Le istanze e le AMI di Amazon EC2 create utilizzando l'architettura x86_64 non sono compatibili con le istanze che utilizzano l'architettura ARM64. Quando avvii o modifichi i tipi di istanza, questa incompatibilità può causare una delle seguenti situazioni:

  • Quando avvii un tipo di istanza Graviton con l'AMI EC2 selezionata, la procedura guidata di avvio potrebbe visualizzare i nuovi tipi di istanza come non disponibili.
  • Se modifichi il tipo di istanza di un'istanza EC2 già distribuita che non utilizza il nuovo tipo di architettura, potresti ricevere un errore. Il messaggio di errore è simile al seguente:
    "'m6g.large' non è un tipo di istanza valida per l'istanza 'i-xyz' dell'architettura 'x86_64'".

Per utilizzare un'architettura diversa, completa i seguenti passaggi:

  1. Crea una nuova istanza Amazon EC2 o AMI.
  2. Esegui la migrazione dell'applicazione alla nuova istanza Amazon EC2.

Nota: Un'AMI potrebbe essere incompatibile con il tipo di istanza in uso senza l'attivazione della rete avanzata. Per ulteriori informazioni, vedi Come posso attivare e configurare una rete avanzata sulle mie istanze EC2?

Risoluzione

Crea una nuova istanza Amazon EC2 o AMI

Tutte le principali distribuzioni Linux sono disponibili su architettura ARM. Per avviare un'istanza che utilizza l'architettura ARM:

  1. Apri la console Amazon EC2.
  2. Scegli Avvia istanza, quindi scegli Avvia istanza.
  3. Scegli 64-bit (ARM) accanto all'AMI che corrisponde alla versione ARM della tua distribuzione, quindi scegli Seleziona.
  4. Completa il lancio dell'istanza.

Esegui la migrazione dell'applicazione su una nuova istanza Amazon EC2

A causa dei diversi set di istruzioni, non è possibile modificare direttamente il tipo di istanza tra i tipi di architettura. Per eseguire la migrazione del sistema alla nuova architettura, completa i seguenti passaggi:

  1. Avvia una nuova istanza EC2 per la configurazione scelta.
  2. Esegui la migrazione dell'applicazione alla nuova istanza EC2.

Informazioni correlate

Processore AWS Graviton

AWS UFFICIALE
AWS UFFICIALEAggiornata 10 mesi fa