클라우드 개발

S3 URL 변환

S3 주소를 분석하거나 버킷과 원본 키로 주소를 만드세요. 서명된 입력은 그대로 유지합니다.

S3 URL 변환

주소

객체 정보와 주소

주소는 브라우저 안에서 처리하며 S3나 지정한 엔드포인트로 요청을 보내지 않습니다.

출력 옵션

URL에 리전이 있으면 우선 사용합니다. 대체 값은 버킷의 실제 위치를 조회한 결과가 아닙니다.

사용자 지정 엔드포인트는 경로 방식만 지원합니다. 경로·쿼리·인증 정보 없는 HTTPS 오리진을 입력하세요.

결과 갱신이 필요하여 내보내기를 잠갔습니다.

애플리케이션의 S3 URI와 전달받은 HTTPS 링크가 같은 객체를 가리키는지 확인할 때 S3 URL 변환을 사용할 수 있습니다. 버킷 이름과 디코딩된 객체 키를 따로 보여 주므로 폴더처럼 보이는 접두사, 공백, 연속된 슬래시를 직접 비교할 수 있습니다.

S3 URL 변환을 사용하는 이유

같은 객체의 주소 방식 비교

S3 URL 변환은 버킷을 호스트 이름 또는 첫 경로 구간에 배치합니다. 객체 키는 그대로 둡니다. 클라이언트의 경로 방식 설정을 바꿀 때 어떤 부분이 달라지는지 확인할 수 있습니다.

동일한 버킷과 객체를 호스트에 버킷이 있는 주소와 경로에 버킷이 있는 주소로 나타낸 그림.

서명된 원문 유지

미리 서명된 URL의 쿼리를 발견하면 분석 전용 결과로 전환합니다. 버킷과 키를 읽을 수 있지만 다른 URI를 생성하지 않습니다. 주소를 수정해도 기존 권한이 유지된다고 오해하지 않도록 원문만 복사합니다.

잠금 표시로 원본 주소를 유지하고 추출한 버킷과 키를 옆에 보여 주는 그림.

인코딩과 리전을 먼저 확인하세요

01

주소와 원본 키 구분

주소의 %252F는 한 번만 디코딩되어 문자 그대로의 %2F가 됩니다. 필드 모드에서 %2F를 입력하면 이것이 실제 키이므로 생성 주소에는 %252F가 들어갑니다.

02

대체 리전 검토

입력 URL의 리전이 우선합니다. S3 URI나 전역 엔드포인트에는 실제 리전이 없으므로 기본 us-east-1을 직접 확인하세요. 사용자 지정 엔드포인트는 경로 방식을 선택해야 합니다.

03

최신 결과만 내보내기

수정 즉시 내보내기가 잠기고 350ms 후 자동 갱신됩니다. 자동 변환을 끄면 변환 버튼과 Ctrl/Cmd+Enter를 사용할 수 있습니다. 예제나 지우기는 미리보기 후 적용하며 한 번 되돌릴 수 있습니다.

객체 식별 정보를 유지하는 처리

주소 분석과 필드 작성

일반 HTTPS 주소에서 S3 URI를 만들거나 링크 없이 버킷 이름과 객체 키를 직접 입력할 수 있습니다. 빈 키는 버킷 루트입니다. 경로의 접두사는 별도의 하위 버킷이 아니라 전체 객체 키의 일부입니다.

리전과 엔드포인트

표준 리전 주소, 기존 s3-region 및 dualstack 입력을 인식하고 일반 AWS 또는 중국 리전에 맞는 도메인을 만듭니다. 출력은 일반 리전 엔드포인트이므로 입력 주소의 이중 스택 네트워크 기능까지 유지하지는 않습니다.

쿼리 원문 보존

HTTPS 결과에서 중복된 이름, 순서, 빈 값, 더하기 기호와 퍼센트 표기를 그대로 유지합니다. URI에는 버킷과 키만 포함합니다. JSON 보고서에는 원본 쿼리도 있어 versionId 같은 매개변수를 따로 검토할 수 있습니다.

지원 범위와 제한

접근 권한 검증 없음
GET 또는 HEAD 요청을 보내지 않고 객체 존재, 공개 여부, 실제 리전을 조회하지 않습니다. 서명 생성이나 만료 검증도 하지 않습니다. 올바른 주소 형식이 접근 허가를 의미하지는 않습니다.
특수 엔드포인트 제외
ARN, 콘솔, CloudFront, website, Access Point, Outposts, Express 및 accelerate는 지원하지 않습니다. 사용자 지정 도메인은 HTTPS 오리진을 명시한 경로 방식만 지원합니다.
키를 파일 경로로 정리하지 않음
독립적인 . 및 .. 구간과 제어 문자는 거부합니다. 브라우저가 이를 정규화하면 다른 객체를 가리킬 수 있습니다. 원본 키의 공백과 반복된 슬래시는 보존하고 키가 정확히 soap이면 경로 방식을 요구합니다.
인코딩 및 크기
주소의 공백과 문자 그대로의 #은 인코딩해야 합니다. UTF-8로 한 번만 디코딩하며 +를 공백으로 바꾸지 않습니다. 입력은 16,384자까지, 키는 UTF-8 기준 1,024바이트까지 허용합니다.
일반 버킷 이름 검사
소문자 DNS 형식과 예약된 이름 조건을 확인합니다. 점이 있는 이름은 가상 호스팅에서 TLS 경고를 표시합니다. 이름의 사용 가능 여부나 소유자는 알 수 없습니다.

S3 URL 변환 질문

가상 호스팅 방식과 경로 방식의 S3 URL은 어떻게 다른가요?

가상 호스팅 방식은 호스트 이름에서 s3 앞에 버킷 이름을 넣습니다. 경로 방식은 엔드포인트 뒤 첫 경로에 버킷을 넣습니다. 같은 객체를 나타낼 수 있지만 권한은 별도입니다. 사용자 지정 엔드포인트에는 경로 방식을 사용하세요.

객체 키의 URL 인코딩은 언제 디코딩해야 하나요?

전체 주소에서 객체 키를 추출할 때 한 번만 디코딩합니다. a%20b는 a b이지만 a%2520b는 문자 그대로 a%20b입니다. 더하기 기호는 그대로 남습니다. 필드 모드에서는 원본 키를 입력하고 출력 시 인코딩합니다.

미리 서명된 URL에서도 버킷과 키를 추출할 수 있나요?

가능합니다. 서명 관련 쿼리가 있으면 버킷과 키를 추출하면서 원본 URL을 보존하고 URI 복사를 막습니다. 불완전한 서명처럼 보이는 쿼리도 같은 방식으로 처리합니다. 이것은 서명이 유효하다는 확인은 아닙니다.

미리 서명된 URL에 접근할 때 403 오류가 나는 이유는 무엇인가요?

요청 방법이나 서명된 헤더가 다르거나, 권한이 부족하거나, 자격 증명이 만료되면 403이 발생할 수 있습니다. 정확한 AWS 오류 코드와 정책을 확인하세요. 이 도구는 객체를 요청하지 않으므로 실패 원인을 판정하지 않습니다.

S3 미리 서명된 URL에서 SignatureDoesNotMatch 오류가 발생하면 어떻게 해야 하나요?

실제로 보낸 HTTP 메서드, 호스트, 경로, 쿼리, 필요한 헤더를 서명 시점의 값과 비교하세요. 이 도구는 원문을 보존할 뿐 서명을 고치지 않습니다. 필요한 경우 권한이 있는 AWS 환경에서 새 링크를 발급하세요.

설명에 없는 주소 형식인가요?

다음 객체 주소 확인

S3 URL 변환으로 객체 키를 확인한 뒤 클라이언트가 요구하는 주소 방식을 복사하세요.