aws / aws/aws-xray-sdk-python

InvalidSignatureException when calling the GetSamplingTargets

Open
#287 3 comments 2 reactions 1 assignee Claimed by @srprash View on GitHub
stale
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:

![Screenshot from 2021-04-09 14-11-56](https://user-images.githubusercontent.com/21259300/114185488-b09bfe00-993d-11eb-9b49-010d00d1c21f.png)

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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.