inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

비전공자도 이해할 수 있는 AWS 입문/실전

S3 관련 강의 개선 제안

32

작성자 없음

0

안녕하세요, AWS 입문/실전 강의를 잘 듣고 있습니다.

쉽게 따라할 수 있도록 되어 있어 잘 따라오면서 학습을 진행하고 있습니다.


다만 S3 부분을 들어감에 있어, 설정을 할 때 왜 이렇게 설정을 해야 하는지에 대해

좀 더 자세히 설명을 해주시면 좋을 것 같습니다.


특히 ACL 비활성화와 IAM 사용자 부분이 좀 아쉬웠던 것 같습니다.


s3_signed_vs_anonymous_request_paths.png

우선 S3에 접근을 할 때 'IAM 키로 서명된 요청'과 '인증 정보가 없는 익명 요청'으로 구분될 수 있으며,


"인증"이라는 개념을 미리 인지를 하고 있어야 각 경우에 따라서 구분해서 보고 왜 ACL을 비활성화 하는지,

왜 퍼블릭 엑세스 차단을 해제해야 하는지 좀 더 명확하게 이해할 수 있을 것 같습니다.


four_cases_cloudfront_upload_view_acl_settings.png

이러한 "인증"에 대한 인지를 하고 있고, 해당 부분에 대한 이해를 전제로 해야

추후 CloudFront를 도입했을 때도 어떻게 외부에서 S3의 사진을 가져올 수 있는지 명확하게 이해를 하고

활용을 할 수 있을 것 같습니다.


또한 S3에 사진을 업로드 할 때의 차이도 이 "인증"의 개념을 인지하고 있어야 왜 백엔드 서버를 거쳐서 파일을 업로드 하는지, 백엔드 서버에 부담이 될 수 있어 미리 서명이 들어간 presigned-url 방식도 존재한다는 것을 강의를 듣고 직접 찾아보면서 이해하게 되었습니다.

backend_proxy_upload_flow.png
presigned_url_upload_flow.png

물론 해당 강의가 "AWS 입문/실전"이라는 부분에서 아무래도 쉽게 구현하는 것에 초점이 맞추어져 있다는 부분은 감안을 하면서 듣고 있습니다. 다만 S3의 경우는 아무래도 "인증"이라는 부분과 인증의 유무에 따라 구분해서 설명을 해야 왜 버킷을 생성할 때 이렇게 옵션을 선택을 해야 하는지 명확하게 알고 사용할 수 있을 것 같습니다.


추가로 요즘은 백엔드 서버의 부담을 줄이라고자 presigned-url 방식도 많이 사용한다고 하던데 해당 부분에 대해서도 S3 부분에 추가를 해주시면 더욱 좋을 것 같습니다. 혹시 "AWS 중급/실전"에 있나 봤는데 해당 부분은 없는 것 같습니다.


아직까지 강의를 들었을 때는 S3를 제외한 다른 부분들은 모두 기존의 설명이나 내용만으로도

어느정도 충분히 잘 이해하면서 사용할 수 있었습니다.


아무래도 배우는 입장이다 보니 제가 개념을 찾고 이해를 해나가는 과정에 대한

제 설명이 좀 부족하겠으나, 강의 구성에 있어 해당 부분에 대해 한번 고려해주시면 감사하겠습니다.




aws aws-elb aws-rds ec2 s3

답변 2

0

JSCODE 박재성

안녕하세요! 좋은 피드백 남겨주셔서 너무 감사드립니다:)

올해 말이나 내년 초에 강의를 리뉴얼을 고민하고 있었는데

리뉴얼 강의를 할 때 말씀해주신 피드백 내용 꼭 반영해서 강의 구성해보도록 하겠습니다!

시간 내셔서 자세한 피드백 내용 남겨주셔서 다시 한 번 감사드립니다!!


0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. xiest님.

S3 설정의 이유와 인증 방식, ACL 비활성화 및 Presigned URL에 대해 잘 정리해 주신 제안과 관련하여 참고할 만한 기존 답변을 안내드립니다.

IAM 권한과 Presigned URL

IAM 키로 서명된 요청과 익명 요청의 차이, S3 권한을 최소화해야 하는 이유, 사용자가 직접 S3에 업로드할 때 활용하는 Presigned URL에 대한 내용은 아래 질문과 답변에서 확인하실 수 있습니다.

해당 답변에서는 AmazonS3FullAccess처럼 S3 전체 권한을 부여하기보다는 필요한 버킷과 작업에 대해서만 최소 권한을 부여하는 것이 좋다고 설명하고 있습니다. 또한 Presigned URL을 사용하면 백엔드가 파일 자체를 전달하지 않고도, 일정 시간 동안 특정 S3 객체에 제한적으로 접근하거나 업로드할 수 있습니다.

참고 자료로 답변에 포함된 글도 함께 확인해 보시면 좋습니다.

ACL 비활성화 및 CloudFront OAC

ACL을 비활성화하고 버킷 정책과 IAM 정책을 중심으로 권한을 관리하는 방식, 그리고 CloudFront를 통해 S3를 외부에 제공하면서 퍼블릭 액세스를 차단하는 방식은 아래 게시글과 관련이 있습니다.

OAC를 사용하면 S3 버킷을 퍼블릭으로 열지 않고도 CloudFront에만 접근 권한을 부여할 수 있습니다. 따라서 S3의 퍼블릭 액세스 차단을 활성화한 상태에서 CloudFront가 서명한 요청만 허용하는 구성이 가능합니다. 이때 권한 관리는 기존 ACL보다 IAM 정책과 버킷 정책을 중심으로 구성할 수 있습니다.

참고 게시글에 포함된 Presigned URL 관련 이미지도 함께 확인하실 수 있습니다.

Presigned URL 관련 이미지

정리하면, S3 요청은 크게 인증 정보가 포함된 서명 요청과 인증 정보가 없는 익명 요청으로 나눌 수 있습니다. 백엔드나 CloudFront가 IAM 권한으로 서명한 요청을 보내는 경우에는 퍼블릭 액세스를 허용하지 않고도 S3에 접근할 수 있습니다. 반대로 브라우저가 S3에 익명으로 직접 접근하게 하려면 퍼블릭 액세스 차단 해제와 공개 버킷 정책이 필요하지만, 일반적으로는 보안상 CloudFront OAC 또는 Presigned URL 방식을 우선 고려하는 것이 좋습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

S3 강의 개선 제안

0

39

2

env 파일을 제대로 작성한 후에도 사이트에 연결할 수 없습니다.

0

29

2

api.basic-server.com

0

48

2

HTTPS 인증서

0

48

2

HTTPS 인증서 받는 부분 알려주세요

0

60

2

pm2 가 설치가안됩니다

0

125

2

사용하고 계신 WebStorm 관련 질문

0

113

1

포스트맨에서 이미지파일 업로드가 안됩니다.

0

110

2

aws 인스턴스 삭제 관련 질문

0

184

2

aws에서 msyql,nginx,certbot다 설치하기

0

123

2

[실습] 3. S3를 활용해 Express 서버에 이미지 업로드 기능 구현하기

0

130

2

[실습] 4. RDS에 접속하기

0

159

2

49차시 [실습]3.파라미터 그룹 추가하기

0

121

2

명령어 어디에 있나요?

0

116

3

비전공자도 이해할 수 있는 AWS 입문/실전 강의의 PDF에서 ELB 페이지가 안맞습니다.

0

110

2

영상이 안 나옵니다 ㅠㅠ

0

105

2

이번 실습은 무료 플랜에서도 가능한가요?

0

174

2

S3 호스팅? Amplify 호스팅?

0

87

1

RDS 파라미터를 만들었는데 추가구성 데이터 옵션에 토글 버튼에 해당 그룹이 안나옵니다. 어떻게 해야하나요?

0

128

2

RDS 엔트포인트 내부 엔드 포인트로 설정하는 법이 있을까요?

0

100

2

보안그룹질문입니다.

0

118

2

이걸 볼려면 리눅스는 알아야 하는군요..

0

136

1

EC2 컴퓨팅 리소스에 연결 vs 연결 안 함

0

111

1

AWS EC2 서버 보안

0

124

2