Error in the first attempt for `regionzone` API with a given AWS connection
What happened
- regionzone API를 AWS 에 대해 실행시, 내부 오류 발생
- 모든 리스트에 대해 에러가 발생하는 것으로 보이나, 결과는 200 성공으로 빈 어레이를 리턴함.
- Azure, GCP는 정상 동작 확인.
How to reproduce it (as minimally and precisely as possible)
- 해당 API를 실행해본적이 없는 계정들로 시도
Anything else we need to know?
- Spider 에러 로그 일부
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 RegionZoneHandler.go:44, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.(*AwsRegionZoneHandler).ListRegionZone.func1() - AuthFailure on [ap-south-2]
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 RegionZoneHandler.go:45, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.(*AwsRegionZoneHandler).ListRegionZone.func1() - NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors
[HISCALL].[129.254.175.187] 2024-01-17 06:55:05 (Wednesday) github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.DescribeAvailabilityZones():764 - "CloudOS" : "AWS", "RegionZone" : "", "ResourceType" : "REGIONZONE", "ResourceName" : "", "CloudOSAPI" : "DescribeAvailabilityZones()", "ElapsedTime" : "6.3058", "ErrorMSG" : ""
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 CommonHandler.go:767, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.DescribeAvailabilityZones() - NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 RegionZoneHandler.go:44, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.(*AwsRegionZoneHandler).ListRegionZone.func1() - AuthFailure on [me-central-1]
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 RegionZoneHandler.go:45, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.(*AwsRegionZoneHandler).ListRegionZone.func1() - NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors
[HISCALL].[129.254.175.187] 2024-01-17 06:55:05 (Wednesday) github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.DescribeAvailabilityZones():764 - "CloudOS" : "AWS", "RegionZone" : "", "ResourceType" : "REGIONZONE", "ResourceName" : "", "CloudOSAPI" : "DescribeAvailabilityZones()", "ElapsedTime" : "6.3080", "ErrorMSG" : ""
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 CommonHandler.go:767, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.DescribeAvailabilityZones() - NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 RegionZoneHandler.go:44, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.(*AwsRegionZoneHandler).ListRegionZone.func1() - AuthFailure on [eu-west-1]
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 RegionZoneHandler.go:45, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.(*AwsRegionZoneHandler).ListRegionZone.func1() - NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors
[HISCALL].[129.254.175.187] 2024-01-17 06:55:05 (Wednesday) github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.DescribeAvailabilityZones():764 - "CloudOS" : "AWS", "RegionZone" : "", "ResourceType" : "REGIONZONE", "ResourceName" : "", "CloudOSAPI" : "DescribeAvailabilityZones()", "ElapsedTime" : "6.3235", "ErrorMSG" : ""
[HISCALL].[129.254.175.187] 2024-01-17 06:55:05 (Wednesday) github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.DescribeAvailabilityZones():764 - "CloudOS" : "AWS", "RegionZone" : "", "ResourceType" : "REGIONZONE", "ResourceName" : "", "CloudOSAPI" : "DescribeAvailabilityZones()", "ElapsedTime" : "6.3238", "ErrorMSG" : ""
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 CommonHandler.go:767, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.DescribeAvailabilityZones() - NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 CommonHandler.go:767, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.DescribeAvailabilityZones() - NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors
[HISCALL].[129.254.175.187] 2024-01-17 06:55:05 (Wednesday) github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.DescribeAvailabilityZones():764 - "CloudOS" : "AWS", "RegionZone" : "", "ResourceType" : "REGIONZONE", "ResourceName" : "", "CloudOSAPI" : "DescribeAvailabilityZones()", "ElapsedTime" : "6.3241", "ErrorMSG" : ""
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 CommonHandler.go:767, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.DescribeAvailabilityZones() - NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 RegionZoneHandler.go:44, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.(*AwsRegionZoneHandler).ListRegionZone.func1() - AuthFailure on [ap-northeast-1]
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 RegionZoneHandler.go:45, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.(*AwsRegionZoneHandler).ListRegionZone.func1() - NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 RegionZoneHandler.go:44, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.(*AwsRegionZoneHandler).ListRegionZone.func1() - AuthFailure on [eu-south-1]
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 RegionZoneHandler.go:45, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.(*AwsRegionZoneHandler).ListRegionZone.func1() - NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 RegionZoneHandler.go:44, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.(*AwsRegionZoneHandler).ListRegionZone.func1() - AuthFailure on [us-east-1]
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 RegionZoneHandler.go:45, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.(*AwsRegionZoneHandler).ListRegionZone.func1() - NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors
[HISCALL].[129.254.175.187] 2024-01-17 06:55:05 (Wednesday) github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.DescribeAvailabilityZones():764 - "CloudOS" : "AWS", "RegionZone" : "", "ResourceType" : "REGIONZONE", "ResourceName" : "", "CloudOSAPI" : "DescribeAvailabilityZones()", "ElapsedTime" : "6.3316", "ErrorMSG" : ""
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 CommonHandler.go:767, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.DescribeAvailabilityZones() - NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 RegionZoneHandler.go:44, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.(*AwsRegionZoneHandler).ListRegionZone.func1() - AuthFailure on [ap-northeast-3]
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 RegionZoneHandler.go:45, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.(*AwsRegionZoneHandler).ListRegionZone.func1() - NoCredentialProviders: no valid providers in chain. Deprecated.
For verbose messaging see aws.Config.CredentialsChainVerboseErrors
[CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 RegionZoneHandler.go:44, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.(*AwsRegionZoneHandler).ListRegionZone.func1() - AuthFailure on [ap-south-2] [CB-SPIDER].[ERROR]: 2024-01-17 06:55:05 RegionZoneHandler.go:45, github.com/cloud-barista/cb-spider/cloud-control-manager/cloud-driver/drivers/aws/resources.(*AwsRegionZoneHandler).ListRegionZone.func1() - NoCredentialProviders: no valid providers in chain. Deprecated.
Environment
- Source version or branch: 0.8.1 릴리스
- OS: Ubuntu 18.04
- Others:
Proposed solution
- 계정에 추가적인 롤바인딩이 필요하다면, 지침 및 방법 가이드 필요
- 에러 메시지 등, 사용자에게 오류 전달 방법 개선 필요
@powerkimhub @seokho-son
-
다음 AWS Price IAM 권한 관련 Docs 첨부 드립니다. https://docs.aws.amazon.com/ko_kr/awsaccountbilling/latest/aboutv2/using-price-list-query-api.html#iam-permissions-for-price-list-query-api
-
첨부해주신 문서에 대한 수정권한 요청드립니다. 권한 주시면 관련 특이사항 추가하겠습니다.
@raccoon-mh 감사합니다. 그리고, 권한 부족인 경우 오류로 리턴해주시는 것이 더 좋을 것 같습니다. :)
넵. 이번 통합 테스트 이후 드라이버 보완에 포함하여 PR 드리겠습니다.
@powerkimhub
- 공유시트 권한 상승 감사합니다.
- CSP별 Region.Zone 제공 현황 분석 요약시트에 특이사항으로 해당 링크와 IAM 권한 요구사항 추가하였습니다.
- 추후에 통합테스트 관련 보완하여 본 이슈 완료하겠습니다.
- 넵, 캄사합니다~
@raccoon-mh (@powerkimhub)
AWS region/zone 조회가 되지 않아서 이슈를 열었고,
말씀하신 IAM을 추가해봤는데, 아무래도 region이 아니라 price 에 대한 정보를 주신 것 같습니다. 링크 https://docs.aws.amazon.com/ko_kr/awsaccountbilling/latest/aboutv2/using-price-list-query-api.html#iam-permissions-for-price-list-query-api
혹시나해서, pricing 권한도 모두 추가해보았는데, region 조회는 되지 않는 것 같습니다.
"Statement": [ { "Action": [ "pricing:*" ], "Effect": "Allow", "Resource": "*" } ]
https://docs.aws.amazon.com/accounts/latest/reference/API_ListRegions.html#API_ListRegions_RequestBody 가 리전 조회에 관련된 권한이 아닐까 싶네요. (organization's management account or a delegated administrator account.)
@raccoon-mh @seokho-son
-
현재 오류는 AWS SDK 인증 방법의 차이로 발생하는 오류 입니다.
- [VPC~Cluster 등 기존 Driver 개발 방식] AWS SDK API 인자로 넘기는 방식
- [RegionZone, PriceInfo 신규 Driver 개발 방식]
~/.aws/credential설정 값을 활용하는 방식- 코드 확인은 안해봤지만, 시험 결과로 확인한 상황 입니다.
-
RegionZone, PriceInfo 기능 동작
- 개발/실행 환경에
~/.aws/credential존재시 정상 동작 - Container 실행 환경과 같이
~/.aws/credential없는 경우 현재 오류 발생
- 개발/실행 환경에
[@raccoon-mh]
- 기존 방식과 동일하게 인자 방식으로 SDK 인증 방법 정정 부탁드립니다.
[@seokho-son]
- patch를 기다리시거나,
- spider container 실행 명령에 다음 인자 추가(단, local 환경에 crdential 파일 존재시)
-v ~/.aws:/root/.aws
현황 파악 감사합니다. 급하게 필요하지는 않아서, patch를 기다리도록 하겠습니다.
기존 credential 이용 방식과 STS 인증 방식 테스트하며 반영토록하겠습니다. 감사합니다.
- Completed via #1294