diff --git a/config/config.go b/config/config.go index ee088fe99..9cde12170 100644 --- a/config/config.go +++ b/config/config.go @@ -23,6 +23,8 @@ import ( "strings" "time" + "github.com/aws/aws-sdk-go/aws/ec2metadata" + "github.com/aws/aws-sdk-go/aws/session" "github.com/prometheus/common/model" "gopkg.in/yaml.v2" ) @@ -1126,7 +1128,13 @@ func (c *EC2SDConfig) UnmarshalYAML(unmarshal func(interface{}) error) error { return err } if c.Region == "" { - return fmt.Errorf("EC2 SD configuration requires a region") + sess := session.Must(session.NewSession()) + metadata := ec2metadata.New(sess) + region, err := metadata.Region() + if err != nil { + return fmt.Errorf("EC2 SD configuration requires a region") + } + c.Region = region } return nil }