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/imdsClient 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.