참고 자료
S3(Simple Storage Service)
무제한 파일 저장 스토리지
* URL을 통해 손쉽게 파일 공유
* 정작 웹사이트 호스팅 가능
특징
* 객체 스토리지 특성 상 일부만 수정이 불가능하므로 최종 파일을 저장하는 용도로 사용
* 빠른 속도로 Read/Write하는 작업에는 부적합
* 이미지, 동영상, 문서 등 미디어 파일을 보관하거나 로그 파일을 보관하기에 적합
* AWS 서비스 데이터 백업 등 데이터 백업에도 적합
구성
* Bucket: 객체를 담는 최상위 단위
* Object: Bucket에 담는 데이터 단위(파일)
* Metadata: Object에 대한 여러 가지 정보를 담고 있는 데이터
* Policy: Bucket과 Object에 대한 접근을 통제하는 권한 정보
* S3 스토리지 클래스
스토리지를 저장하는 형태
* 종류
* Standard: 최소 3개의 가용 영역에 데이터 저장, 자주 액세스하는 데이터 전용(내구성, 가용성, 성능)
* Standard IA(Infrequent Access): 자주 접근하진 않지만 필요할 때 빠르게 액세스해야 하는 데이터에 적합
최소 3개의 가용 영역에 객체 중복 저장(고가용성, 복원력)
* One-zone IA: 단일 가용 역역에만 데이터 저장(복원력 X)
* Glacier: 자주 접근하지 않는 데이터를 저렴한 비용으로 보관
* 객체 라이프 사이클 관리
1. Standard 클래스 저장
2. 30일 경과 후, 자주 사용하지 않게 되면 Standard IA 클래스로 변경
3. Standard IA 클래스에서 30일 경과 후, 데이터 아카이빙 목적으로 Glacier 클래스로 변경
Object Storage
데이터를 객체로 관리하는 저장소
객체 구성
* 아이디
* 데이터
* 메타데이터
특징
* 규모와 유연성이 필요한 애플리케이션 구축 시 적합
* 분석, 백업, 아카이브 목적으로 사용 가능
* 데이터 일부 수정 불가 -> 전체 덮어쓰기로 수정
File Storage
데이터를 파일로 관리하는 저장소
특징
* 애플리케이션이 공유 파일에 액세스하거나 파일 시스템이 있어야 하는 경우에 적합
* 파일 시스템을 통해 데이터를 파일 단위로 저장
* 파일의 일부분만 수정 가능
* 예시: NAS, 사용자 홈 디렉터리 등
Block Storage
데이터를 블록(저장 공간을 나누는 단위)으로 관리하는 저장소
특징
* 데이터를 작은 블록 단위로 나누어 저장하며, 각 블록은 고유한 주소 또는 식별자를 가짐
* 파일 시스템이나 메타 데이터 없이 순수 데이터 블록만 저장
* 낮은 지연 시간 -> 고성능 애플리케이션에서 사용하기 적합
* 예시: 데이터베이스 시스템, 가상 머신, 클라우드 스토리지 등
비교
Object Storage | File Storage |
데이터를 객체 단위로 관리 | 데이터를 파일 단위로 관리 |
객체 데이터 일부분만 수정 불가능 | 파일 내용 일부분만 수정 가능 |
운영체제에서 직접 접근 불가 | 운영체제에서 직접 접근 가능(볼륨 마운트) |
큰 확장에 유연하게 대처 가능 | 큰 확장에 대처하기 어려움 |
다수의 사본을 분산시켜 저장 | 사본 저장하지 않음 |
* 볼륨 마운트: 외부 저장소(예: 하드 드라이브, SSD, 네트워크 스토리지, 클라우드 스토리지)를 운영체제의 특정 경로(마운트 포인트)에 연결하여 일반적인 파일 시스템처럼 사용할 수 있도록 하는 것(예: Windows: D:\, E:\ 같은 드라이브 문자로 마운트됨)
S3 버킷 생성
1. 버킷 이름 입력
* 버킷 이름은 DNS형식으로 전 세계에서 유일해야 함
2. 객체 소유권 선택
* ACL 비활성화: 버킷의 모든 객체 소유권을 현재 AWS 계정이 소유
3. 퍼블릭 액세스 차단 설정 선택
4. 버킷 만들기 클릭
S3 버킷에 파일 업로드 및 다운로드
1. 업로드 클릭
2. 파일 추가 클릭
3. 업로드 클릭
4. 다운로드 클릭
S3 버킷에 폴더 생성
* 폴더 개념: 파일 이름의 Prefix 개념
1. 폴더 만들기 클릭
2. 폴더 이름 입력
3. 폴더 만들기 클릭
4. 파일 - 작업 - 복사 클릭
5. 대상 - S3 찾아보기 - 폴더 클릭 - 대상 선택
6. 복사 클릭
MobaXTerm으로 S3 다루기
* Cyberduck: FTP, SFTP 등의 다양한 형태로 원격 서버에 접속해서 사용할 수 있는 스토리지 브라우저
1. IAM - 사용자 - 사용자 추가
2. 사용자 이름 입력
3. 권한 옵션 - 직접 정책 연결 - AmazonS3FullAccess 선택
4. 사용자 생성
5. 보안 자격 증명 탭 - 액세스 키 - 액세스 키 만들기 클릭
6. 사용 사례 선택
* CLI: 키와 시크릿 키를 통해 접속할 때 사용하는 옵션
7. 액세스 키 만들기 클릭
[AWS] 📚 클라이언트 툴로 S3 접속해서 간편하게 다루기 [MobaXterm]
S3 클라이언트 툴 웹 콘솔 브라우저로 S3 서비스를 다루기에는 한국인 정서에는 좀 많이 느린편이라 답답하다. 그래서 보통 aws cli 커맨드로 S3를 다루는데, 그래도 간단한 작업 같은 경우 GUI 환경
inpa.tistory.com
connection lost due to error 10054
* 비밀번호 확인
connection failed due to error 75795
* 버킷 접근 권한 확인
S3 정적 웹사이트 호스팅
1. 속성 탭 - 정적 웹 사이트 호스팅 - 편집 클릭
2. 활성화 클릭
* 인덱스 문서 등 입력
3. 변경 사항 저장 클릭
4. 버킷 최상위 경로에 index.html 업로드
* 403 Forbidden
* 버킷 객체에 대한 접근 권한 문제
* 권한 탭 - 퍼블릭 액세스 차단 - 편집 클릭 - 차단 해제 후 변경 사항 저장 클릭
* 버킷 정책(버킷과 객체들에 대한 접근 권한 설정, 각 정책은 JSON 형태로 작성) - 편집 - 버킷 ARN 복사 - 정책 생성기 클릭 - Select type of Policy: S3 Bucket Policy - Principal(리소스에 대한 액세스가 허용되거나 거부되는 사용자, 계정, 서비스 또는 기타 Entity를 지정하는 옵션): *(모든 사용자) - Select Actions: GetObject - ARN 입력 후 '/*(버킷 내 모든 객체에 접근할 수 있도록 하기 위함)' 추가 - Add Statement 클릭 - Generate Policy 클릭 - JSON 복사 후 붙여넣기 - 변경 사항 저장 클릭
S3 버킷 삭제
* 버킷을 삭제하기 위해서 버킷이 비어있어야 함
1. 버킷 선택
2. 비어 있음 클릭(= 버킷 비우기)
3. 비어 있음 클릭
4. 종료 클릭
5. 삭제 클릭
6. 버킷 삭제 클릭
* 버킷 이름은 DNS 형식으로 전 세계에서 유일해야 하며, 삭제하면 곧바로 같은 이름으로 버킷을 만들기 어려울 수 있음
'PlayGround > AWS 연습' 카테고리의 다른 글
[AWS] DynamoDB (0) | 2025.04.08 |
---|---|
[AWS] CloudFront (0) | 2025.04.07 |
[AWS] CloudWatch (1) | 2025.03.31 |
[AWS] IAM (0) | 2025.03.24 |
[AWS] Route53 (0) | 2025.03.23 |