S3 URL 접근 방식
이번에 S3를 이용해서 업로드한 이미지를 얻어오려고 했습니다.
S3에 올린 Contents를 사용하기 위해서 접근해보니까 두가지의 URL 방식이 있었습니다.
두 가지 URL이 있었는데 이 URL을 가지고 버킷에 접근을 합니다.
S3는 RESTful 아키텍처를 지원합니다. 무슨 이야기인가 하면 이미지를 불러올 수 있는 고유한 URI를 연결해놓으면,
URI를 호출해서 이미지를 불러올 수 있게 해주는 것입니다.
Amazon S3는 URI 형식으로 불러오는 방식을 두 가지로 지원합니다.
1) 가상 호스팅 방식 URL
2) 경로 방식 URL
1) 가상 호스팅 방식 URL에서 버킷 이름이 도메인 이름의 일부로 들어갑니다.
ex) https://[bucket name].s3-[aws-region].amazonaws.com
2) 경로 방식 URL에서 버킷 이름은 resource path로 들어갑니다.
ex) https://s3.[aws-region].amazonaws.com/[bucket name]
* 두 방식의 차이점
두 방식을 어떤 경우에 사용하는 가를 알아야합니다.
S3는 모든 리전에서 버킷 액세스에 대해 1) 가상 호스팅 방식 2) 경로 방식 액세스 를 지원합니다.
하지만 차이점은 2) 경로 방식 액세스를 사용할 경우 버킷에 엑세스할 때 리전별로 다른 엔드포인트를 사용해야합니다.
예를 들면, 아시아(서울) 에 mybucket이라는 버킷을 생성하고 파일명이 puppy.jpg이면,
* 참고 : 서울 리전 표기 방식 (ap-northeast-2)입니다.
올바른 URI 사용은 https://s3.ap-northeast-2.amazonaws.com/mybucket/puppy.jpg 입니다.
여기까지 S3 URL 접근 방식이었습니다.