

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
<a name="sdk-utilities-ec2-imds"></a>

 Puede utilizar AWS SDK para Go para acceder al [servicio de metadatos de instancias de Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html). El paquete Go [feature/ec2/imds](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/feature/ec2/imds) proporciona un tipo [Client](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/feature/ec2/imds#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](configure-gosdk.md) y [Uso de AWS SDK para Go v2 con los servicios de AWS](use-services.md). 

 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html#instancedata-data-categories) de la Guía del usuario de Amazon EC2. 