View a markdown version of this page

Servicio de metadatos de instancias de Amazon EC2 - AWS SDK para Go v2

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Servicio de metadatos de instancias de Amazon EC2

Puede utilizar AWS SDK para Go para acceder al servicio de metadatos de instancias de Amazon EC2. El paquete Go feature/ec2/imds proporciona un tipo Client que se puede utilizar para acceder al servicio de metadatos de instancias de Amazon EC2. Tanto Client como sus operaciones asociadas se pueden utilizar de forma similar a los demás clientes del servicio de AWS que proporciona el SDK. Para obtener más información sobre cómo configurar el SDK y utilizar los clientes de servicio, consulte Configurar el SDK y Uso de AWS SDK para Go v2 con los servicios de AWS.

El cliente puede ayudarle a recuperar fácilmente información sobre las instancias en las que se ejecutan sus aplicaciones, como su región de AWS o dirección IP local. Por lo general, debe crear y enviar solicitudes HTTP para recuperar metadatos de instancias. En su lugar, cree un imds.Client para acceder al servicio de metadatos de instancias de Amazon EC2 mediante un cliente programático, como otros servicios de AWS.

Por ejemplo, para crear un cliente:

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)

A continuación, utilice el cliente del servicio para recuperar información de una categoría de metadatos como local-ipv4 (la dirección IP privada de la instancia).

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))

Para obtener una lista de todas las categorías de metadatos, consulte Categorías de metadatos de instancia de la Guía del usuario de Amazon EC2.