InvalidSignatureException when calling the GetSamplingTargets
- Dominant language
- Python
- Stars
- 338
- Forks
- 147
- PR merge metrics
- No merged PRs in 30d
Description
Hello,
We are currently using Aws Xray in production on our django applications. The application is running on ECS using EC2. The xray-daemon is installed on django container itself. We have given the daemon permissions by adding the `AWSXRayDaemonWriteAccess` to the task's role. Occasionally we are seeing this error:
```
An error occurred (InvalidSignatureException) when calling the GetSamplingTargets operation: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.
```
I guess the important thing to note here is we are only seeing this occasionally. As you see below, most of requests to this endpoint are good:

From some debugging it looks like the failing request is using `us-west-2` as the region, whilst the region the daemon and our services are running are on `eu-west-1`
```
{
body: b'{"SamplingStatisticsDocuments": [{"RuleName": "Default", "ClientID": "xxxxxxxxxxxxx", "RequestCount":
1, "BorrowCount": 0, "SampledCount": 0, "Timestamp": 1617955918}]}',
context: {
auth_type: [Filtered],
client_config: ,
client_region: 'us-west-2',
has_streaming_input: False
},
headers: {
User-Agent: 'Botocore/1.20.47 Python/3.7.10 Linux/4.14.225-169.362.amzn2.x86_64 exec-env/AWS_ECS_EC2'
},
method: 'POST',
query_string: {},
url: 'http://127.0.0.1:2000/SamplingTargets',
url_path: '/SamplingTargets'
}
```
Contributor guide
Assessment
This issue has not been assessed yet.