반응형
SMALL
Amazon S3
- Amazon Simple Storage Service
- 스마트한 객체 스토리지 서비스
- 사용하기 쉬우며 기능이 강력한 스토리지 서비스
- S3의 특징 ↓↓
- 1. 확장성 : EC2와 마찬가지로 확장, 축소가 쉬움.
- 2. 가용성&내구성 : 99.99999%의 데이터 내구성을 가지고 있어 장애나 오류, 위협에 강하다.
- S3객체는 최소 4개의 가용 영역에 자동으로 복제되어 보존되기 때문에 어느 한쪽에 장애가 발생해도 계속 사용 O
- 3. 신뢰성 : 암호화 기능과 접근 관리 도구가 있고, 각종 규정을 준수하며 감사 기능을 갖추고 있음.
- 4. 다양한 관리 기능 : 스토리지 클래스 분석, 수명 주기 정책 등을 시작으로 각종 관리 기능 존재
- 5. 스마트한 기능 : S3 Select이라는 데이터에 쿼리를 실행하는 기능과 서비스가 있음.
- 이 외 Amazon Redshift Spectrum, Amazon Athena 등의 분석 서비스와 호환되며 AWS Lambda와 연동 가능
스토리지 클래스
- S3 스토리지의 종류를 "스토리지 클래스" 라 부름
- 버킷 단위가 아닌 "객체(파일)" 단위로 클래스 선택 가능.
- 스토리지 클래스 별 특징 ↓↓
- 1. Standard : 내구성 & 가용성이 높음 (99.99999%)
- 2. Standard - Infrequent Access : 내구성(99.99999%)이 높고 가용성(99.9%)이 조금 낮음
- 3. Reduced Redundancy Storage : 내구성이 낮고(99.9%) 가용성이 높음(99.99%)
- S3 Glacier / S3 Glacier Deep Archive
- 1. 데이터 아카이브와 장기간 백업을 고려하여 안정적인 Amazon S3 스토리지 클래스
- 2. 저렴한 가격으로 보관 가능 / 데이터는 '볼트'라고 하는 컨테이너에 저장
- 3. 저장된 데이터를 읽는 경우 다른 S3 버킷으로 옮겨야 하는 작업이 필요
S3의 사용 절차
- S3의 조작은 관리 콘솔의 대시보드에서 수행
- API와 SDK를 사용하여 업로드 가능 = 편리성
- "버킷" "객체 키" 등의 구성 요소
- 생성한 후에 이름과 리전 변경 할 수 없음!
객체와 버킷
- S3에서 드라이브를 "버킷"이라 부름.
- S3에서 파일을 "객체"라 부름.
- 버킷에는 명명 규칙이 있음. (처음과 마지막은 알파벳이나 숫자를 사용해야 함)
- 버킷을 생성하면 리전과 버킷명을 변경할 수 없기 때문에 신중하게 결정해야 함.
- 특히 버킷명은 S3 안에서 유일한 이름이어야 함.
버킷 정책과 사용자 정책
- S3 버킷에 대한 액세스 제한 설정 가능.
- 1. 버킷정책 = 해당 버킷에 접속할 수 있는 사용자를 지정 (사용자가 많은 경우 유리)
- 2. 사용자정책 = 사용자가 접속 가능한 버킷을 지정 (버킷이 많은 경우 유리)
- 3. ACL(액세스 제어 목록)에 의한 관리 정책 = 다른 AWS 계정의 읽기/쓰기에 대해서 허가 혹은 거부 설정
액세스 제한은 리소스, 작업, 효과, 보안 주체에 대해 설정할 수 있다.
(누가, 무엇을, 어떤 것에 대해)
- 리소스 = 제한 대상이 되는 버킷 및 객체 / 아마존 리소스 이름을 사용하여 대상 식별
- 작업 = 실제로 가능한 작업 / GET(취득), PUT(배치), DELETE(삭제) / 작업 키워드를 사용하여 지정
- 효과 = 설정 여부를 뜻함 / 허가(allow), 거부(deny)를 설정
- 보안 주체 = 허가 혹은 거부할 사용자 및 계정, 서비스 등을 말함.
웹 사이트 호스팅
- 웹 사이트 호스팅은 S3 버킷을 정적 웹 사이트로 공개하는 기능
- Amazon Lightsail은 필요한 기능을 선택하면 웹 사이트에 필요한 서비스 전체를 정가제로 구축
- AWS Amplify는 모바일 앱이나 웹 앱을 개발하기 위한 프레임워크
파일 업로드와 다운로드
- 멀티 파트 업로드는 객체를 여러 개로 분해하여 S3에 데이터를 업로드하는 기능
- 100MB 이상의 파일은 이 기능을 사용할 것을 추천
- AWS DataSync는 온프레미스 스토리지와 AWS 스토리지 서비스간의 대용량 데이터를 이동할 수 있음.
- AWS Transfer for SFTP = SFTP 서버를 제공하는 서비스
- 서드 파티 도구(API, SDK)를 사용해서 파일을 전송할 수 있음.
액세스 관리 및 변조 방지
- 액세스 로그는 서버에 어떤 요청이 있었는지를 기록하는 기능
- 스토리지 클래스 분석은 객체의 액세스 빈도를 분석하는 기능
- 객체 잠금은 객체를 변경하지 못 하게 하는 기능
- S3 배치 작업은 객체에 대한 복사, 복원 등 다양한 작업 실행할 수 있게 하는 기능
- S3 인벤토리는 객체의 메타데이터의 목록을 생성하는 기능
수명 주기
- 객체에 정기적으로 수행할 작업을 설정하는 기능
버전 관리
- 객체를 여러 버전으로 저장하는 기능
교차 리전 복제
- 객체를 다른 리전에 비동기로 복사하는 기능
데이터 분석과 연계
1. S3 Select
- SCV와 같이 구조화된 텍스트 형식의 데이터에 대해 SELECT와 같은 SQL 문을 실행하는 기능
2. Athena
- CSV와 같이 구조화된 텍스트 형식의 데이터에 대해 SQL 문을 실행하는 기능
3. Redshifts
- S3의 데이터에 대해 SQL 문을 실행하는 기능
- 대용량 데이터를 처리할 수 있음.
Amazon CloudFront
- 고속 콘텐츠 전송 네트워크(CDN, Content Delivery Network) 서비스
- 웹 콘텐츠를 빠르게 전송
- 이러한 고속화는 웹 서버의 내용을 캐시하는 엣지 서버를 사용하여 이루어짐
- 엣지 서버 = 각 리전의 네트워크 말단에 위치해 있음.
- → 클라이언트가 접속하는 네트워크의 거리가 가깝기 때문에 이에 따른 반응 속도도 빨라짐
- 요금 계층에 따라 사용할 수 있는 엣지 서버가 다름.
반응형
LIST
'기초 물방울 > AWS' 카테고리의 다른 글
AWS 기초 공부 기록#5(RDS) (0) | 2022.03.25 |
---|---|
AWS 기초 공부 기록 #4 (VPC~서브넷) (0) | 2022.03.24 |
AWS 기초 공부 흐름정리 #2 (0) | 2022.03.22 |
AWS 기초 공부 기록 정리(흐름정리...) (0) | 2022.03.21 |
생활코딩 AWS2 S3 공부 기록 (0) | 2022.03.16 |