AWS

[AWS] S3 객체 업로드 및 액세스 설정

zamezzz 2018. 12. 27. 00:12

 [AWSS3 객체 업로드 및 액세스 설정



오늘은 AWS의 S3 객체 업로드 및 액세스 설정에 대해서 정리하겠습니다.


S3 버킷 생성에 관한 포스팅은 바로 이전 글을 참고하시면 됩니다.

http://zamezzz.tistory.com/298



 S3 객체 업로드


지난 포스팅에서 생성된 버킷을 클릭하면 아래와 같은 화면을 볼 수 있습니다.

(객체 업로드 및 설정을 하나도 안했을 경우)




객체 업로드부터 그럼 시작해보겠습니다. 화면 중앙의 시작하기를 클릭합니다.


그럼 콘솔화면에서 객체 업로드 화면이 나옵니다. 파일 추가를 통해 샘플 파일 하나를


업로드해보겠습니다. (저의 경우 sample.html)




파일 추가 후 다음을 클릭합니다. 권한 설정이 나오는데요.


다른 AWS계정에게 액세스 권한을 추가하거나 퍼블릭 읽기 권한추가를 하시려면 해당


설정을 진행합니다. 추가적인 권한 설정이 없다면 다음을 클릭합니다.




다음은 속성 설정입니다. s3 스토리지 클래스 설정 및 암호화에 대한 설정을 진행합니다


기본 설정값으로 넘어갑니다. 그리고 최종 검토 후 업로드를 클릭하시면 완료입니다.




이제 S3 메인화면에서 방금 업로드한 파일의 상태를 확인할 수 있습니다.


정상적으로 업로드 되었다면 아래와 같은 모습이 보일 것입니다.




 S3 퍼블릭 액세스 설정


S3에 업로드 된 객체를 어디서든 접근가능하게 하려면 퍼블릭 액세스 설정을 해야 합니다


업로드 된 객체 정보를 보시면 객체 URL이 있는데, 이를 통해 어디서든 접근할 수


있도록 허용하는 것입니다. 설정 없이 위의 업로드 한 객체 url을 통해 접근할 경우


This XML file does not appear to have any style information associated with it. The document tree is shown below. 


위와 같은 에러가 발생하며 에러 코드는 Access Denied입니다.


이를 해결하기 위해서는 상단의 권한탭을 클릭합니다. 


그리고 퍼블릭 액세스 설정을 클릭하여 퍼블릭 액세스 설정을 진행합니다.


위 그림과 같이 '이 버킷에 대한 퍼블릭 버킷 정책 관리'의 차단 설정을 해제 하여


설정을 저장합니다. 그리고 버킷 정책 탭으로 이동하여 버킷 정책을 설정합니다.



우선 상단의 ARN을 복사하여 잘 기억해둡니다. 그리고 버킷 정책 편집기 하단에 있는


'정책 생성기'를 클릭하면 됩니다.



Step 1

Select Type of PolicyS3 Bucket Policy를 선택합니다.


Step 2

EffectAllow를 선택합니다.

Principal은 외부에 퍼블릭으로 공개할 예정이니 *을 입력합니다.

AWS Service는 당연히 Amazon S3를 선택합니다.

Actions은 많은 종류가 있지만 객체를 조회하는 형태만 오픈이니 'GetObject' 액션

하나만 선택합니다.

마지막으로 ARN은 위에서 복사한 내용을 붙여넣기 하고 뒤에 /*을 추가합니다.

ex) arn:aws:s3:::<bucket_name>/*

이후 Add Statement를 클릭합니다.

Step 3

Generate Policy를 클릭하면 JSON형태로 정책이 생성됩니다.

이를 복사하여 위의 버킷 정책 편집기에 붙여넣고 저장을 합니다.



저장이 정상적으로 완료되면 권한버킷 정책에 퍼블릭이라는 표시가 생깁니다.


이후 최초 업로드 한 파일의 URL을 다시 접속하면 정상적으로 웹에서 접근이 가능합니다.




콘솔을 통한 S3 객체 업로드 방법 및 퍼블릭 액세스 권한 설정에 대해 정리했습니다.


다음 포스팅에서는 Access Key / Secret Key를 통해 외부에서 S3에 접속하여 파일을


업로드 / 다운로드 / 수정 / 삭제 하는 방법과 권한 설정에 대해 정리하겠습니다.


감사합니다.

반응형

'AWS' 카테고리의 다른 글

[AWS] RDS 생성하기  (0) 2019.03.07
[AWS] EC2 보안그룹 (Security Group) 설정  (0) 2019.02.10
[AWS] S3 bucket 생성하기  (0) 2018.12.26
[AWS] EC2 생성하기  (0) 2018.12.20
[AWS] 결제 알람 설정하기 (Billing Alarm)  (0) 2018.12.14