S3 강의 개선 제안
14
작성한 질문수 1
안녕하세요, AWS 입문/실전 강의를 잘 듣고 있습니다.
쉽게 따라할 수 있도록 되어 있어 잘 따라오면서 학습을 진행하고 있습니다.
다만 S3 부분을 들어감에 있어, 설정을 할 때 왜 이렇게 설정을 해야 하는지에 대해
좀 더 자세히 설명을 해주시면 좋을 것 같습니다.
특히 ACL 비활성화와 IAM 사용자 부분이 좀 아쉬웠던 것 같습니다.

우선 S3에 접근을 할 때 'IAM 키로 서명된 요청'과 '인증 정보가 없는 익명 요청'으로 구분될 수 있으며,
"인증"이라는 개념을 미리 인지를 하고 있어야 각 경우에 따라서 구분해서 보고 왜 ACL을 비활성화 하는지,
왜 퍼블릭 엑세스 차단을 해제해야 하는지 좀 더 명확하게 이해할 수 있을 것 같습니다.

이러한 "인증"에 대한 인지를 하고 있고, 해당 부분에 대한 이해를 전제로 해야
추후 CloudFront를 도입했을 때도 어떻게 외부에서 S3의 사진을 가져올 수 있는지 명확하게 이해를 하고
활용을 할 수 있을 것 같습니다.
또한 S3에 사진을 업로드 할 때의 차이도 이 "인증"의 개념을 인지하고 있어야 왜 백엔드 서버를 거쳐서 파일을 업로드 하는지, 백엔드 서버에 부담이 될 수 있어 미리 서명이 들어간 presigned-url 방식도 존재한다는 것을 강의를 듣고 직접 찾아보면서 이해하게 되었습니다.


물론 해당 강의가 "AWS 입문/실전"이라는 부분에서 아무래도 쉽게 구현하는 것에 초점이 맞추어져 있다는 부분은 감안을 하면서 듣고 있습니다. 다만 S3의 경우는 아무래도 "인증"이라는 부분과 인증의 유무에 따라 구분해서 설명을 해야 왜 버킷을 생성할 때 이렇게 옵션을 선택을 해야 하는지 명확하게 알고 사용할 수 있을 것 같습니다.
추가로 요즘은 백엔드 서버의 부담을 줄이라고자 presigned-url 방식도 많이 사용한다고 하던데 해당 부분에 대해서도 S3 부분에 추가를 해주시면 더욱 좋을 것 같습니다. 혹시 "AWS 중급/실전"에 있나 봤는데 해당 부분은 없는 것 같습니다.
아직까지 강의를 들었을 때는 S3를 제외한 다른 부분들은 모두 기존의 설명이나 내용만으로도
어느정도 충분히 잘 이해하면서 사용할 수 있었습니다.
아무래도 배우는 입장이다 보니 제가 개념을 찾고 이해를 해나가는 과정에 대한
제 설명이 좀 부족하겠으나, 강의 구성에 있어 해당 부분에 대해 한번 고려해주시면 감사하겠습니다.
답변 2
0
안녕하세요 xiest님! 말씀해주신 내용을 꼼꼼히 전부 다 읽어봤습니다!
이렇게 정성스럽게 시간을 들여서 피드백 남겨주셔서 너무 감동이네요🥹
작성해주신 내용을 읽어보니 말씀해주신 대로 보완해야 할 필요가 있다고 느껴지네요!
공교롭게도 올해 말 또는 내년 초에 지금까지 만든 강의를 전부 개선을 할 예정이었는데
말씀해주신 내용을 반영하면 너무 좋겠다는 생각이 드네요ㅎㅎ
리뉴얼 강의를 제작할 때 말씀해주신 내용도 꼭 포함해서 제작하도록 하겠습니다!!
시간내서 꼼꼼하게 피드백해주셔서 정말 감사드립니다:D
0
안녕하세요, 인프런 AI 인턴입니다.
xiest님, S3의 ACL 비활성화와 IAM 권한, 퍼블릭 액세스 차단 및 Presigned URL의 관계에 대해 개선 의견을 남겨주셨네요.
S3 접근은 크게 IAM 자격 증명으로 서명된 요청과 인증 정보가 없는 익명 요청으로 나누어 이해하면 좋습니다. 백엔드가 IAM 역할 또는 키로 서명하여 S3에 접근하는 경우에는 버킷을 비공개로 유지하고 IAM 정책과 버킷 정책으로 권한을 제어할 수 있습니다. 반면 브라우저가 별도의 인증 정보 없이 S3 객체에 직접 접근하려면 퍼블릭 접근 허용이 필요합니다.
또한 Presigned URL은 백엔드가 제한된 권한과 만료 시간을 포함한 URL을 발급하고, 브라우저가 해당 URL을 사용해 S3에 직접 업로드하거나 다운로드하는 방식입니다. 파일 전송 자체가 백엔드 서버를 거치지 않으므로 서버 부하를 줄일 수 있으며, S3의 퍼블릭 액세스를 허용하지 않은 상태에서도 사용할 수 있습니다.
관련하여 지식공유자님께서 IAM 권한과 Presigned URL의 차이를 설명한 기존 답변을 참고해 보시면 좋습니다.
기존 답변에서는 다음 자료도 함께 안내하고 있습니다.
특히 운영 환경에서는 AmazonS3FullAccess처럼 광범위한 권한을 부여하기보다, 필요한 버킷과 작업(GetObject, PutObject 등)에만 접근할 수 있도록 최소 권한 정책을 구성하는 것이 권장됩니다. ACL 역시 별도로 객체 단위 권한을 관리해야 하므로, 일반적으로는 ACL을 비활성화하고 IAM 정책·버킷 정책·CloudFront OAC·Presigned URL 등을 조합해 권한을 관리합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
S3 관련 강의 개선 제안
0
8
1
env 파일을 제대로 작성한 후에도 사이트에 연결할 수 없습니다.
0
14
1
api.basic-server.com
0
39
2
HTTPS 인증서
0
43
2
HTTPS 인증서 받는 부분 알려주세요
0
55
2
pm2 가 설치가안됩니다
0
116
2
사용하고 계신 WebStorm 관련 질문
0
106
1
포스트맨에서 이미지파일 업로드가 안됩니다.
0
106
2
aws 인스턴스 삭제 관련 질문
0
176
2
aws에서 msyql,nginx,certbot다 설치하기
0
120
2
[실습] 3. S3를 활용해 Express 서버에 이미지 업로드 기능 구현하기
0
123
2
[실습] 4. RDS에 접속하기
0
154
2
49차시 [실습]3.파라미터 그룹 추가하기
0
117
2
명령어 어디에 있나요?
0
112
3
비전공자도 이해할 수 있는 AWS 입문/실전 강의의 PDF에서 ELB 페이지가 안맞습니다.
0
107
2
영상이 안 나옵니다 ㅠㅠ
0
103
2
이번 실습은 무료 플랜에서도 가능한가요?
0
172
2
S3 호스팅? Amplify 호스팅?
0
85
1
RDS 파라미터를 만들었는데 추가구성 데이터 옵션에 토글 버튼에 해당 그룹이 안나옵니다. 어떻게 해야하나요?
0
126
2
RDS 엔트포인트 내부 엔드 포인트로 설정하는 법이 있을까요?
0
94
2
보안그룹질문입니다.
0
116
2
이걸 볼려면 리눅스는 알아야 하는군요..
0
131
1
EC2 컴퓨팅 리소스에 연결 vs 연결 안 함
0
106
1
AWS EC2 서버 보안
0
118
2





