I have service which using go sdk v2 to read data from parameter store. I have farget profile with pod execution role attached to it with required permissions.
func getClient() aws.Config {
cfg, err := awsconfig.LoadDefaultConfig(context.TODO())
if err != nil {
panic("configuration error, " + err.Error())
}
return cfg
}
func ParameterStoreByName(parameterName string) (*ssm.GetParameterOutput, error) {
input := &ssm.GetParameterInput{
Name: ¶meterName,
}
client := ssm.NewFromConfig(getClient())
data, err := client.GetParameter(context.TODO(), input)
if err != nil {
fmt.Println(err.Error())
return nil, err
}
return data, err
}
when I run this on worker (node group) node its working as expected and returns data, But when I run the same on farget profile I am getting following error
operation error SSM: GetParameter, failed to sign request: failed to retrieve credentials: failed to refresh cached credentials, no EC2 IMDS role found, operation error ec2imds: GetMetadata, request canceled, context deadline exceeded
EKS Version: 1.24
How can I make service to use aws components?