Amazon Simple Storage Service
버킷 : 객체를 담아두는 통
버킷에 저장할 수 있는 객체는 무제한이다.
- 버킷 내에 버킷을 만들 수는 없다.
- Unversioned (Default) 버전 관리 비사용 상태
- Versioning-enabled 버전 관리 사용 상태
- Versioning-suspended 버전 관리가 일시 중지된 상태
- 객체 크기: 최대
5TB
- 업로드, 복사: 단일 PUT 요청시 최대
5GB
- 개별 아카이브 저장 가능 총량: 최대
40TB
버킷은 생성한 자의 소유이며 타인에게 양도 불가하다.
버킷을 생성할 때는 두 가지를 선택하게 된다.
계정 당 생성 가능한 최대 버킷 수
- 일반적으로 100개의 버킷 생성 가능.
- 만약 100개 이상의 버킷을 만들고 싶다면 서비스 한도 증가를 함으로써 추가 가능하다.
- 한도가 증가 된다면 최대 1,000 버킷까지 사용 가능.
- 버킷의 개수는 성능면에서 차이를 가져다 주지 않는다.
버킷 이름짓기에 관해서는 아래와 같은 규칙이 존재한다.
- 3-63 자의 이름.
- alphanumeric 으로 시작하거나 끝나야 한다.
- 대문자를 사용하지 않는다.
- 숫자, 점, 하이픈만 사용 가능.
- 단, Amazon S3 Transfer Acceleration에서 사용되는 버킷일 시 dot(
.
) 사용 불가
- 단, Amazon S3 Transfer Acceleration에서 사용되는 버킷일 시 dot(
- IP 주소 형식을 사용하지 않도록 한다. (
127.0.0.1
) xn--
으로 시작할 수 없다.- 버킷 이름은 파티션 내에서 유일해야 한다. 모든 Amazon S3 내에서 중복된 이름이 존재하면 안된다.
- 파티션 == 리전 그룹
AWS 에서는 3가지 파티션이 존재한다.- aws
- aws-cn
- aws-us-gov
- 파티션 == 리전 그룹
객체와 관련된 작업은 총 두가지 업로드
와 복사
로 나뉜다.
업로드와, 복사 가능한 최대 사이즈는 5GB
이다. 멀티파트 업로드는 최대 5TB
까지 사용 가능.
객체 업로드 : 버킷에 객체 업로드 하기.
Single upload
와 Multipart upload
, 두 가지 업로드 방법이 존재한다. 업로드 하고자 하는 객체 크기가 100MB 이상일 경우 보통 multipart upload
방법을 사용한다.
-
Single Upload: 단일 객체를 한번에(한 파트로) 업로드
-
Multipart Upload: 단일 객체를 여러 파트로 나누어 업로드
각각의 파트의 크기는 5MB-5GB 정도.- 높은 처리량 → 조각 조각 나눠진 객체의 파트는 병렬로 업로드 된다.
- 빠른 복구 → 조각난 파트가 오류로 인해 업로드에 실패하더라도 크기가 작기에 빠르게 복구된다.
- Max parts: 한 객체 업로드시 나눠질 수 있는 최대 개수는 10,000 개
- 권한: Multipart upload 를 진행할 수 있는 권한이 부여되어 있어야 한다.
객체 복사: 버킷에 저장되어 있는 객체의 복사본 만들기.
S3 객체는 Data, Key, and Metadata 이 세 가지로 구성되어 있다.
객체 키는 버킷 내의 객체의 유일성을 보장한다.
이로인해 버킷안에 저장되어 있는 객체를 고유하게 식별할 수 있다.
- Max Length : 1,024 bytes
- UTF-8 인코딩을 사용
- 하지만 모든 문자를 사용 가능한 것은 아니다.
(아래 규칙을 참고)
- 하지만 모든 문자를 사용 가능한 것은 아니다.
객체 키에 사용 가능한 문자는 아래와 같다.
-
영숫자
- 0~9
- a-z
- A-Z
-
특수 문자
!
-
_
.
*
'
(
)
-
특별 처리가 필요한 문자
아래에 해당되는 문자들은 추가 처리```(URL 인코딩 하거나, HEX로 참조하기 등)``를 진행해야 한다.
- 앰퍼샌드
("&") - 달러
("$") - ASCII 문자 범위
16진수00~1F(10진수: 0~31)
및7F(10진수: 127)
- 'At' 기호
("@") - 등호
("=") - 세미콜론
(";") - 콜론
(":") - 더하기
("+") - 공백
(" ") - 쉼표
(",") - 물음표
("?")
- 앰퍼샌드
사용 금지 문자
-
사용하지 말아야 하는 문자.
- 백슬래시
("\") - 인쇄되지 않는 ASCII 문자
(128~255 10진수) - 캐럿
("^") - 왼쪽 중괄호
("{") - 오른쪽 중괄호
("}") - Percentage
("%") - backtick
("`") - 왼쪽 대괄호
("[") - 오른쪽 대괄호
("]") - 인용 부호
- '보다 큼' 기호
(">") - '보다 작은' 기호
("<") - 물결표
("~") - '파운드' 문자
("#") - 세로 막대/파이프
("|")
- 백슬래시