ECS: 옵스 : HTTP 403-SignatureDoesNotMatch로 인해 버킷 간 복사가 실패함

요약: 동일한 네임스페이스 내의 두 버킷 간에 오브젝트를 복사하면 다음 오류와 함께 실패합니다. 03(SignatureDoesNotMatch): 계산한 요청 서명이 입력한 서명과 일치하지 않습니다. 암호 액세스 키와 서명 방법을 확인합니다. 자세한 내용은 REST 인증 및 SOAP 인증을 참조하십시오.

이 문서는 다음에 적용됩니다. 이 문서는 다음에 적용되지 않습니다. 이 문서는 특정 제품과 관련이 없습니다. 모든 제품 버전이 이 문서에 나와 있는 것은 아닙니다.

증상

동일한 네임스페이스에 있는 두 버킷 간에 오브젝트를 복사하면 다음 오류와 함께 실패합니다.
ERROR HTTP 403 (SignatureDoesNotMatch): The request signature we calculated does not match the signature you provided. Check your Secret Access Key and signing method. For more information, see REST Authentication and SOAP Authentication for details.)

다른 버킷은 버킷 간에 오브젝트를 복사할 수 있습니다.

클라이언트의 샘플 오류(아래 예의 s3cmd)

user@ubuntu:~$ s3cmd cp s3://sourcebucket/0001.txt s3://destinationbucket/0001.txt --add-header=x-emc-copy-mode:deep
ERROR: Copy failed for: 's3://sourcebucket/0001.txt' (403 (SignatureDoesNotMatch): The request signature we calculated does not match the signature you provided. Check your Secret Access Key and signing method. For more information, see REST Authentication and SOAP Authentication for details.)

로그 출처: svc_request 이 세션의 내용:

x.x.x.159 02-20 11:43:04 0a3c129f:195052e2352:383d:6d0 s3 GET - x.x.x.253 200 454 4 y-test sourcebucket/0001.txt?acl
x.x.x.159 02-20 11:43:04 0a3c129f:195052e2352:37e3:1045 s3 HEAD - x.x.x.253 200 0 2 y-test sourcebucket/0001.txt
x.x.x.159 02-20 11:43:04 0a3c129f:195052e2352:383d:6d3 s3 PUT No x.x.x.253 400 - 7 y-test destinationbucket/0001.txt
x.x.x.159 02-20 11:43:04 0a3c129f:195052e2352:37e3:1048 s3 PUT No x.x.x.253 403 - 1 - destinationbucket/0001.txt

ECS 로그에 다음이 표시됩니다.

varray mismatch: source bucket has urn:storageos:VirtualArray:IDb.urn:storageos:ReplicationGroupInfo:ID:global, dest bucket has urn:storageos:VirtualArray:ID.urn:storageos:ReplicationGroupInfo:ID:global

HTTP 400 요청을 추적하면 "varray 불일치"가 표시됩니다.

xxx.xxx.x.1 2025-02-20 11:43:04,682 0a3c129f:195052e2352:383d:6d3 x.x.x.159:9020 x.x.x.253:60062 y-test-1 - PUT y-test destinationbucket 0001.txt - HTTP/1.1 400 7 - - 6 - copy - - 'X-Forwarded-For: -' 'x-amz-meta-firstName: -' 'x-amz-meta-lastname: -' 'x-amz-meta-age: -' xxx.xxx.x.1 2025-02-20 11:43:04,682 0a3c129f:195052e2352:383d:6d3 x.x.x.159:9020 x.x.x.253:60062 y-test-1 - PUT y-test destinationbucket 0001.txt - HTTP/1.1 400 7 - - 6 - copy - - 'X-Forwarded-For: -' 'x-amz-meta-firstName: -' 'x-amz-meta-lastname: -' 'x-amz-meta-age: -' xxx.xxx.x.1 2025-02-20T11:43:04,675 [qtp2087040347-23314-0a3c129f:195052e2352:383d:6d3-s3-x.x.x.253] INFO V4Signer.java (line 118) credential: y-test-1/20250220/US-EAST-1/s3/aws4_request, amz_expires: null, amz_signed_headers: content-type;host;x-amz-content-sha256;x-amz-copy-source;x-amz-date;x-amz-meta-s3b-last-modified;x-amz-meta-sha256;x-amz-metadata-directive;x-amz-storage-class;x-emc-copy-mode;x-emc-mtime, amz_signature: 65edd5ab6e7b30a19993f88c160df46b826010f199583a41468272321c229ea0, payloadHash: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855, amz_date: 20250220T114323Z xxx.xxx.x.1 2025-02-20T11:43:04,678 [qtp2087040347-23314-0a3c129f:195052e2352:383d:6d3-s3-x.x.x.253] ERROR S3Exception.java (line 1733) got object access exception. RequestId 0a3c129f:195052e2352:383d:6d3 com.emc.storageos.objcontrol.object.exception.ObjectAccessException: varray mismatch: source bucket has urn:storageos:VirtualArray:<ID>.urn:storageos:ReplicationGroupInfo:<ID>:global, dest bucket has urn:storageos:VirtualArray:<ID>.urn:storageos:<ID>:global

원인

대부분의 AWS 호환 툴은 동일한 소스의 버킷 간에 복사할 때 s3 복사 옵션을 사용합니다. 이 옵션은 클라이언트를 사용하여 오브젝트를 다운로드 및 업로드하지 않고 대신 타겟에 복사 작업을 수행하도록 요청합니다.

소스 버킷과 타겟 버킷이 서로 다른 복제 그룹에서 호스팅되는 경우 복사에 실패할 경우 ECS는 동일한 복제 그룹 내에서만 S3 복사를 허용합니다. 복제 그룹의 개념은 Amazon AWS에서 사용되지 않으며 클라이언트 도구는 사용된 다른 복제 그룹이 있는지 감지하지 못합니다.

버킷이 다른 복제 그룹에 있는지 확인하는 방법:

CLI에서 다음을 실행합니다. 

svc_bucket list -n <namespace>

admin@ecsnode2:~> svc_bucket list -n y-test 
svc_bucket v1.1.3 (svc_tools v2.24.0)                 Started 2025-07-29 07:18:45

                                                                                                                                       Bucket     Temp      
                                                                 Replication         Owner            Owner           API     FS       Versioning Failed    
Bucket Name                            Namespace                 Group               User             VDC             Type    Enabled  Enabled    (TSO)     

destinationbucket                      y-test                    local_vdc           y-test-1         VDC1            S3      False    Disabled   False       
destinationiam                         y-test                    local_vdc           urn:ec...t:root  VDC1            S3      False    Disabled   False       
destsamerg                             y-test                    RG1                 y-test-1         VDC1            S3      False    Disabled   False       
iam                                    y-test                    RG1                 urn:ec...t:root  VDC1            S3      False    Disabled   False       
iamsamerg                              y-test                    RG1                 urn:ec...t:root  VDC1            S3      False    Disabled   False       
new-bucket-37494b67                    y-test                    RG1                 y-test-1         VDC1            S3      False    Enabled    False       
s3                                     y-test                    RG1                 y-test-1         VDC1            S3      False    Disabled   False       
sourcebucket                           y-test                    RG1                 y-test-1         VDC1            S3      False    Disabled   False       
sourceiam                              y-test                    RG1                 urn:ec...t:root  VDC1            S3      False    Disabled   False       
steve                                  y-test                    RG1                 y-test-1         VDC1            S3      False    Disabled   False       
versioning-test                        y-test                    RG1                 y-test-1         VDC1            S3      False    Enabled    False

위의 예에서 이름에 destination 이 있는 두 버킷은 모두 local_vdc, 다른 것들은 RG1
모든 간에 복사할 수 있습니다. RG1 양동이뿐만 아니라 둘 사이에도 local_vdc 버킷(버킷 사이는 아님) local_vdcrg1 통.

해결

이는 정상적인 작동입니다.

ECS에서 클라이언트로 오브젝트를 다운로드하고 새 소스에 다시 업로드합니다. 또는 동일한 네임스페이스 및 복제 그룹 내의 버킷을 사용합니다.

해당 제품

ECS, ObjectScale, ECS Appliance, ECS Appliance Hardware Series, ECS Appliance Software with Encryption, ECS Appliance Software without Encryption, ObjectScale Software without Encryption, ObjectScale Software Series
문서 속성
문서 번호: 000350675
문서 유형: Solution
마지막 수정 시간: 30 7월 2025
버전:  1
다른 Dell 사용자에게 질문에 대한 답변 찾기
지원 서비스
디바이스에 지원 서비스가 적용되는지 확인하십시오.