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à.
Servizio di metadati di Amazon EC2 Instance
Puoi utilizzare il AWS SDK per Go per accedere ad Amazon EC2 Instance Metadata Service. Il pacchetto feature/ec2/imdsClient
operazioni associate possono essere utilizzate in modo simile agli altri client AWS di servizio forniti dall'SDK. Per ulteriori informazioni su come configurare l'SDK e utilizzare i client di servizio, consulta Configurare l'SDK e. Usa la AWS SDK per Go v2 con i servizi AWS
Il client può aiutarti a recuperare facilmente informazioni sulle istanze su cui vengono eseguite le tue applicazioni, come la AWS regione o l'indirizzo IP locale. In genere, è necessario creare e inviare richieste HTTP per recuperare i metadati dell'istanza. Invece, crea un servizio imds.Client
per accedere ad Amazon EC2 Instance Metadata Service utilizzando un client programmatico come altri AWS
servizi.
Ad esempio, per creare un client:
import "context" import "github.com/aws/aws-sdk-go-v2/config" import "github.com/aws/aws-sdk-go-v2/feature/ec2/imds" // ... cfg, err := config.LoadDefaultConfig(context.TODO()) if err != nil { log.Printf("error: %v", err) return } client := imds.NewFromConfig(cfg)
Quindi utilizza il client di servizio per recuperare informazioni da una categoria di metadati come local-ipv4
(l'indirizzo IP privato dell'istanza).
localIp, err := client.GetMetadata(context.TODO(), &imds.GetMetadataInput{ Path: "local-ipv4", }) if err != nil { log.Printf("Unable to retrieve the private IP address from the EC2 instance: %s\n", err) return } content, _ := io.ReadAll(localIp.Content) fmt.Printf("local-ip: %v\n", string(content))
Per un elenco di tutte le categorie di metadati, consulta le categorie di metadati delle istanze nella Amazon EC2 User Guide.