S3

JiMin LEE·2022년 11월 18일
0

초보자도 이해할 수 있는 S3(Simple Storage Service) | DevelopersIO

AWS S3란 무엇일까?

1️⃣ AWS S3(Simple Storage Service)

S3 : Simple Storage Service

  • 인터넷용 스토리지 서비스
  • 파일 서버의 역할을 하는 서비스
  • 트래픽에 따른 시스템적인 문제는 걱정할 필요가 없어진다.

2️⃣ AWS S3의 특징

  • 제공하는 단순한 웹 서비스 인터페이스를 사용하여 웹에서 언제 어디서나 원하는 양의 데이터를 저장하고 검색할 수 있습니다.
  • S3의 버킷은 무한대의 객체를 저장할 수 있으므로 스토리지의 요구를 미리 추정하여 관리할 필요가 없어 확장/축소에 신경쓰지 않아도 된다.
  • 저장할 수 있는 파일 수의 제한이 없다.
  • 파일에 인증을 붙여 무단으로 엑세스 하지 못 하도록 할 수 있다.
  • HTTP와 BitTorrent 프로토콜을 지원한다.
  • <REST(Representational State Transfer), SOAP(Simple Object Access Protocol) ,→ 온라인 데이터 전송방식 → 웹 애플리케이션 간 데이터 통신을 허용하는 API를 구축하는 방법을 정의한다. >인터페이스를 제공한다.
  • 데이터를 여러 시설에서 중복으로 저장해 데이터의 손실이 발생할 경우 자동으로 복원한다.
  • 버전관리 기능을 통해서 사용자에 의한 실수도 복원이 가능하다.

3️⃣ AWS S3에서 사용되는 용어

  • 객체 - object : AWS는 S3에 저장된 데이터 하나를 객체라고 하는데, 하나의 파일이라고 생각하면 된다.
  • 버킷 - bucket : 객체가 파일이라면 버킷은 연관된 객체들을 그룹핑한 최상위 디렉토리라고 할 수 있다. 버킷 단위로 지역(region)을 지정할 수 있고, 버킷에 포함된 모든 객체에 대해서 일괄적으로 인증과 접속 제한을 걸 수 있다.
  • 버전 관리 - S3에 저장된 객체들의 변화를 저장한다.
  • RSS - Reduced Redundancy Storage : 일반 S3 객체에 비해 데이터 손실될 확률이 높은 형태의 저장 방식이다.
    • 썸네일 이미지와 같은 것을 저장하는데 적합하다.
  • Glacier : 매우 저렴한 가격으로 데이터를 저장할 수 있는 아마존의 스토리지 서비스

4️⃣ AWS S3 버킷 만들기

  1. 버킷 만들기 누르기

  2. 버킷 이름 - 자신이 원하는 버킷(최상위 폴더) 이름 / 지역 - 서비스를 사용할 곳

  3. 버킷 버전 관리

    ![](https://velog.velcdn.com/images/e_jim/post/9288e83e-64ac-498d-beb1-e8d5a7aa4a31/image.png)
    
    - 비활성화 → 이전 파일 못 본다.
    - 활성화 → 같은 파일을 올리며 계속 업데이트를 해도 이전의 내용을 복원할 수 있게 해준다.

  4. 퍼블릭 액세스 접근

    ![](https://velog.velcdn.com/images/e_jim/post/eaf74416-02d0-48de-8968-4925e44b2d14/image.png)
    
    - 새 ACL을 통해 부여된 버킷 및 객체에 대한 퍼블릭 액세스 차단
        - 체크 → 공개 설정으로 해둔 파일을 업로드 할 때, 업로드가 거절된다.
        - 체크 x → 공개 파일을 업로드 할 때 업로드가 됩니다.
    - 임의의 ACL을 통해 부여된 버킷 및 객체에 대한 퍼블릭 액세스 차단
        - 체크 → ‘새 ACL을 통해 부여된 버킷 및 객체에 대한 퍼블릭 액세스 차단’을 체크하더라도 
                     비공개로 인식해서 공개가 되지 않는다.
    
        → bucket를 비공개로 사용하겠다면 체크 / 업로드하는 파일중 어떠한것들은 공개 하고 싶다 라고 하면 체크를 해제

  5. 버킷 생성

    ![](https://velog.velcdn.com/images/e_jim/post/71785f23-f5a1-4fef-9008-b34f8cc62fc1/image.png)

  6. 버킷 읽기, 수정

    ![](https://velog.velcdn.com/images/e_jim/post/47b6415d-51eb-4a52-b6d1-de762b83ef67/image.png)
    
    - 5번에서 생성한 버킷을 누르면 버킷의 여러 태그들이 뜨게 된다.
    - 객체의 경우 업로드한 파일 리스트들을 나타낸다.

  7. 버킷 삭제

    ![](https://velog.velcdn.com/images/e_jim/post/1804eb8f-0170-49f2-a06b-a49c36f0a909/image.png)
    
    - 삭제 탭을 누르고 bucket 이름을 입력해 준 후 삭제버튼을 누르면 삭제된다.

  8. 폴더 생성

    • bucket을 클릭하고 객체 탭에서 폴더 만들기를 누른다.

- 폴더 이름을 바꾸고 싶을 경우, "새로운 폴더" 라는 폴더를 하나 만들고 중요한 폴더 안에 있는 내용을 새로운 폴더로 옮긴 다음, 중요한 폴더를 삭제하면 된다.

9. 파일(객체) 업로드

  • 객체 탭에서 중요한 폴더를 드래그해서 옮겨준다.

    ![](https://velog.velcdn.com/images/e_jim/post/a81fa175-5eac-44c0-89ba-76e14ac0cb48/image.png)
    
    - ACL 액세스 제어 목록에는 현재 객체(파일)을 읽고 쓰는 권한을 누구에게 줄 것인지 설정할 수 있다.
    
    ![](https://velog.velcdn.com/images/e_jim/post/459c02b0-2926-44b5-9031-640e3132e003/image.png)
    
    - 스토리지 클래스는 가격이나 속도, 안전성에 따라서 비용이 달라지게 된다. → 약간 요금제 선택하는 느낌
    ![](https://velog.velcdn.com/images/e_jim/post/6b4be4fa-cda3-4ccb-a9de-18eedc1d0dfb/image.png)

  1. 파일 공유와 권한

    • 파일을 선택한 후 속성탭에 들어가 오른쪽 아래에 객체 URL을 복사한다.
    • 웹에서 URL을 실행시켜보면 접근 거부라 뜬다.

  • 파일의 권합 탭에 들어간다.

  • 객체 소유자는 ‘나’를 의미하고 다른 사람에게도 읽기 권한을 주고 싶다면 ‘편집’을 누른다.

  • 모든 사람(퍼블릭 액세스)에서 왼쪽 읽기 - 객체 읽기 / 오른쪽 읽기 - 객체 ACL(액세스 제어 목록) 읽기를 체크!

0개의 댓글