AWS单个会话还是多个会话?

I am creating an application in Golang hosted on AWS cloud, that uses multiple AWS services i.e. S3, DynamoDB, Parameter Store.

Currently Individual modules handing each AWS service has their own AWS session.

awsSession, err := session.NewSession(&aws.Config{Region: aws.String(os.Getenv("AWS_REGION"))})

From performance perspective, is this a correct way, or having a single session created in the main program and passing the reference to individual module will be a better approach?

It's recommended to reuse the session if possible.

From the AWS Go SDK docs:

Sessions should be cached when possible, because creating a new Session will load all configuration values from the environment, and config files each time the Session is created. Sharing the Session value across all of your service clients will ensure the configuration is loaded the fewest number of times possible.