📍요약
1️⃣버킷 기본 설정 그대로 만들기
2️⃣정적 파일들 업로드
3️⃣정적 웹사이트 호스팅 설정
4️⃣버킷 정책 생성 완료
5️⃣URL 접속
📍버킷 만들기 클릭
- 나머지는 기본 설정대로 진행하고, 태그에 키, 밸류 페어 추가
📍S3에 업로드
- 폴더 만들고 업로드 클릭
- 이미지 파일 추가
- 속성 -> 스토리지 클래스 -> 스탠다드 선택 (기본값) -> 업로드
- 이후 파일명 클릭 -> 열기 선택하면 이미지 확인 가능
- 객체 URL 클릭 -> 실패 (public access 불가능하게 기본설정 했기 때문)
📍퍼블릭 액세스 설정
- 버킷 설정 -> 권한 -> 퍼블릭 액세스 차단 편집
- 모든 퍼블릭 액세스 차단 해제 후 저장 -> 확인 입력
- 권한 -> ACL(access control list) 편집 -> 모든 사람(퍼블릭 액세스) -> 객체 읽기 체크
- 다시 객체 URL 클릭하면 파일 확인 가능
⭐파일 업로드 상황에서 설정하는 것임! (ACL 읽기 ㄴㄴ)
📍버킷 정책 생성
- 버킷 -> 권한 -> 버킷 정책 -> 편집 -> 정책 생성
- 정책 타입을 S3 버킷으로 설정
- 정책을 모든 요청에 적용하기 위해 Principal에 * 입력
- Action에 put object (객체 수정) 선택
- ARN에 버킷 ARN 입력
- Add Conditions 에서 컨디션 StringNotEquals 선택
- key : server side encryption
- value : aws:kms
- add condition 클릭 후 add statement 클릭 -> generate
- 드래그하여 카피 후 이전 탭의 정책 란에 붙여넣기
- Statement 필드 -> Resource 필드값 맨 뒤에 /* 입력 후 변경사항 저장
이제 암호화되지 않은 업로드는 실패
암호화하여 업로드 방법
업로드 -> 속성 -> 서버측 암호화 -> 암호화 키 지정 -> 기존 암호화 버킷 설정 재정의 -> SSE-KMS 선택
AWS KMS 키 중에서 선택 -> 업로드 -> 성공
📍S3 버전 관리
버킷 생성 시 버킷 버전 관리 활성화 선택
-> 이후 같은 파일명을 업로드하면, 버전 리스트 확인 가능
📍정적 웹사이트 호스팅
퍼블릭 액세스 가능한 상태로 html 파일 업로드
-> 속성 -> 정적 웹사이트 호스팅 편집 -> 활성화
index.html, error.html 로 사용할 파일 이름 입력
-> 이후 정적 웹사이트 호스팅 탭에서 페이지 URL 확인 가능
버킷 정책 편집 -> 정책 생성 -> action에 getObject 선택 후 condition 추가 없이 생성
버킷 정책에서 resource 값 뒤에 /* 붙여줌
-> 이후 정적 웹사이트 호스팅 탭에서 페이지 URL 접속 가능