-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Labels
Description
Please fill out the sections below to help us address your issue.
Version of AWS SDK for Go?
v1.25.41
Version of Go (go version
)?
go version go1.11.1 linux/amd64
What issue did you see?
Getting credentials from an ec2 role takes 20 seconds.
We have this issue on consistently on multiple different ec2 instances since a couple of days ago.
To me it looks like an issue with the service, but I am not sure.
Steps to reproduce
package slow
import (
"fmt"
"time"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds"
"github.com/aws/aws-sdk-go/aws/ec2metadata"
"github.com/aws/aws-sdk-go/aws/session"
)
func getCredentialsFromRole() (*credentials.Credentials, error) {
roleProvider := &ec2rolecreds.EC2RoleProvider{
Client: ec2metadata.New(session.New()),
}
creds := credentials.NewCredentials(roleProvider)
start := time.Now().UTC()
if _, err := creds.Get(); err != nil { // this takes 20 seconds
return nil, err
}
fmt.Printf("getting credentails from role took %s\n", time.Now().UTC().Sub(start))
return creds, nil
}
nlundbo, biffen, sieuwerts, tyrken, libeks and 25 more