-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
use_dualstack_endpoint=True
does not fallback to regular endpoint
#3060
Comments
Hi @fluxth thanks for reaching out. I raised this issue for discussion with the team and was told that the current behavior is expected. AWS SDKs like Boto3 produce the dualstack endpoint whether it exists or not when I reached out to the STS team to get more information regarding their plans to add support for these endpoints. I can update this issue when we hear back, but given the intended design here - the request to fall back to a regular endpoint is not under consideration. |
|
What is the recourse here? If I set Specifically I'd like an environment variable to enable this for S3, and maybe a couple other services, and then obviously keep STS on the default endpoints until it actually supports a dualstack endpoint. It's just amazing to me that botocore would be ok making up a DNS endpoint for STS that doesn't exist right now. |
Looks like the only approach right now is per-service opt-in, for example |
Agree with @mmerickel regarding the re-evaluation. We'll open up an internal support case and engage our Technical Account Managers but appreciate @fluxth raising this issue! |
I ran into another problem that occurs due to the brokenness of this feature. Since the only way to use a dualstack endpoint right now is to override it per-service, I can't do it in such a way that it talks to an appropriate dualstack endpoint for the correct region via external config files or env vars. If I set I should be able to configure this better in the environment. Right now botocore / aws decisions here are actively making it harder to use any service endpoints that support IPv6 when they happen to be available. |
Describe the bug
When explicitly passing
aioboto.config.Config(use_dualstack_endpoint=True)
to a client:boto will always use
https://{service}.{region}.api.aws
endpoint for that service even if that service doesn't support dual stack.Expected Behavior
use_dualstack_endpoint=True
should fallback to regular endpoint when the dual stack endpoint does not exist.For STS service, the dual stack endpoint at
https://sts.ap-northeast-1.api.aws/
does not exist.Boto should fallback to
https://sts.ap-northeast-1.amazonaws.com/
endpoint in this case.https://docs.aws.amazon.com/general/latest/gr/sts.html
Current Behavior
Boto will use non-existent dual stack endpoint for services that still doesn't support dual stack instead of falling back to the regular endpoint.
(see
Reproduction Steps
)Reproduction Steps
This script should print the current STS identity.
But instead, we get this exception:
Possible Solution
/botocore/data/endpoints.json
file should have sufficient tagging to detect if a service has dual stack enabled.Additional Information/Context
No response
SDK version used
boto3 = "1.28.64"
Environment details (OS name and version, etc.)
Fedora Linux 38
The text was updated successfully, but these errors were encountered: