ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS2 S3 객체, 권한, 요금
    생활코딩 AWS 2023. 8. 14. 07:49

    ---

    https://youtube.com/playlist?list=PLuHgQVnccGMCFHj64mNZxlbeNWOYUpua4

     

    AWS2 S3

     

    www.youtube.com

     

    ---

    1.https://youtu.be/6P6HoumuTOw

    AWS1에서 회원가입, 서비스를 켜고 끄는 법, 요금 계산.. 을 했음. 모르면 먼저 볼 것

     

    S3 = Simple Storage Service

    간단한 저장서비스

     

    AWS가 하나의 컴퓨터면

    S3는 HDD, SSD와 같은 저장장치

    여러분이 가진 파일을 보관해주는 서비스

    여기가 S3의 홈페이지

    여러가지 설명이 있지만 처음부터 이해하긴 어렵다. 이걸 이해하기 위해 제가 설명을 해보면

     

    내 컴퓨터에 잃어버리면 큰일나는 파일이 있다면,

    이 컴퓨터는 언제 고장날진 모르지만 언젠가는 고장나기 때문에

    우리는 고장나지 않는 저장장치를 꿈꾸게 된다

    하나의 AWS 리전 내에서 각각 떨어진 3개의 AZ에 자동으로 분산된다

     

    내가 파일을 업로드하면 3개의 컴퓨터에 올라가고, 각각의 컴퓨터는 같은 건물이 아니라 서로 멀리떨어진 다른 건물에 존재한다는 말 = 내구성

     

    S3는 파일을 보관해줄 뿐만 아니라, 인터넷에 연결돼있어서 전세계의 누구나 내가 갖고 있는 파일에 접속해서 그 파일을 다운로드 받게할 수 있다

     = 파일 서버로도 사용할 수 있다

     

    그러므로

    AWS로 파일서버를 쓰면? 죽지 않는 파일 서버가 되는 것.

    아무리 많은 사용자가 들어와도 그걸 어떻게 감당할건지는 AWS에서 알아서 해준다

    facebook에 파일 올리면서 사용자가 많으면 페이스북이 죽으면 어떡하지? 이런 걱정 안하는 것처럼

     

    ---

    S3기능들

     

    5년뒤에 삭제되기

    1년 뒤에는 좀 더 저렴한 저장장치로 자동으로 이동했으면 좋겠다

    이런것도 자동화하는 기능 있음

     

    파일을 계속 수정하면

    이름이 같으니까 전에 있는 파일은 잃어버림

    자동으로 예전 버전들도 유지되고 쉽게 찾을 수 있는 버전관리 기능도 있다

     

    훨씬 더 많은 기능 제공

     

    이젠 Simple Storage Service가 아니다

    Complicate Storage Service야

     

    근데 이 기능을 다 알아야 되느냐? 아님

    어떤 정보시스템을 만나건 CRUD 할줄알면 할줄 아는거라고 말할 수 있다.

     

    ---

    2.https://youtu.be/9F4oMbV92c4

    S3를이용해서 나의 파일을 안전하게 보관할거야

     

    정말 중요한 프로젝트를 하는데

    프로젝트와 관련된 파일들은

     

    중요한 프로젝트

    > 중요한 디렉토리

    > 중요한 파일(여기 안에 내용이 들어있다)

     

    이 상황에서 이 파일을 안전하게 보관, 보호하기 위해서 AWS의 S3를 사용할 것이야. 아주 간편하게 됨

     

    ---

    3.https://youtu.be/yL44oE6OuLw

    S3의 구성요소

     

    S3는 3인방으로 이뤄져 있다

    하나의 프로젝트가 Bucket이라고 생각

    버킷 안에는 Foler가 있다

    폴더 안에는 파일이 보관. 파일을 S3에서는 Object라고 표현한

    파일과 파일에 대해서 추가하는 부가적인 정보들이 S3가 필요로 할 수 있다

    이런걸 모아서 S3에서는 Object라고 하는 것

    ▽뭔가 설명이 더 들어가는게 Object구나

     

    파일폴더버킷을 CRUD하는게 우리 수업

     

    ---

    4.1.https://youtu.be/aCaLDfTD2Dw

    콘솔에서 S3를 들어가보면

     

    버킷만들기 : 버킷만들때 뜨는 마법사가 뜸

    버킷이름(고유해야)

    리전(버킷이 어느 지역의 컴퓨터에 생성될 것인지, 고객과 가까워야 빠르게 서비스 가능)

     

    이 두개만 입력해도 기본값으로 생성이 되는데(왼쪽 생성 버튼) 더 있음(오른쪽 다음 버튼)

    버전관리 : 같은 파일을 계속 수정할 수 있는데, 수정돼버린 과거 내용까지 보관

    서버 액세스 로깅 : 버킷을 웹서버로 이용할 때 접근을 기록

    기본 암호화 : 파일을 업로드할 때 기본적으로 아마존이 내가 업로드한 파일을 보지는 않는다고 하지만 그건 아마존의 입장이고, 내가 업로드한 파일이 누군가에 의해, 서버쪽에서 읽어진다고 해도 그걸 보호해야하는 경우가 있겠고 법적인 문제가 걸려있을 수 있다

    그런경우에 이 암호화를 선택해서, 암호화된 상태로 AWS에 보관되게 하는걸 통해 더 안전하게 파일을 보관

    퍼블릭 : 파일 업로드 했을 때 파일을 누구나 볼 수 있게

     

    '이 버킷의 퍼블릭 ACL(액세스 제어 목록) 관리'

    에서 두가지 체크 목록이 보이는데

    첫번째 옵션은

    공개 설정으로 해놓은 파일을 업로드할 때 업로드가 거절됨.

    (▽파일을 공개설정으로 해놓을 수가 있나봐. 파일의 공개 여부에 따라 다르구나. 두번째 옵션 체크도 있네)

    체크를 해제 해놓고 공개 파일을 업로드하면 업로드가 된다

     

    두번째 옵션은

    공개파일이라고 하더라도 두번째가 체크가 돼있으면 비공개로 간주돼서 공개가 안된다  ▽업로드는 되는구나

    버킷을 비공개로 사용하든지 버킷을 만든 사람인 나만 보려고 하면 체크를 하는게 훨씬 더 안전해진다

    내가 업로드한 파일 중에는 어떤 파일은 공개가 필요할 수도 있으면 두번째는 체크를 해제해야한다.

     

    ---

    밑에 이건 짐작은 가는데 정확하게 테스트는 안해봤기 때문에 말씀드릴 수 없습니다

    체크를 하고 넘어간다

     

    > 다음 > 버킷 만들기

    하면 버킷이 생성됨

     

    ---

    4.2.https://youtu.be/wVh6ogRu89Y

    이전 시간 버킷 생성

    이번 시간 버킷 읽기, 수정, 삭제

     

    읽기 : 버킷을 클릭하면 그 안의 디렉토리나 파일을 볼 수 있게 됨

    수정 : 이름은 수정할 수 없다고 알고 있고, 생성할 때 지정했던 버킷의 속성들은 얼마든지 수정할 수 있다

     

    버킷 이름 말고 이름이 아닌 부분을 클릭하면 오른쪽에 속성창이 뜸

    수정하고 싶은게 있으면 그거 속성or권한or관리 클릭하면 됨

    관리누르면

    이쪽으로 이동됨

     

    속성or권한or관리 누른게 여기 탭 누른거랑 똑같고, 개요는 버킷 이름 누른거랑 똑같고

     

    삭제는 삭제버튼 누르면 됨

     

    ---

    5.https://youtu.be/GQUlmIhowxo 폴더생성하기

    버킷을 만들었어

    버킷의 디렉토리를 만드는걸 해보자(▽버킷>폴더>오브젝트)

     

    버킷을 클릭한 뒤

    폴더 만들기

    이러고 저장하면

    이렇게.

    이게 생성

    수정은

    이름 바꾸기는 S3는 내부적인 이유로 인해서

    폴더의 이름을 바꾸는 것이 쉽지 않다

    바꾸고 싶은 이름의 새로운 폴더를 만들고 내용을 옮기고 기존걸 삭제하는 식으로 한다

     

    삭제는 우클릭 삭제 또는 체크하고 삭제

    하면 됨 

     

    ---

    6.https://youtu.be/vAGnKHb32Dw

    S3의 핵인 실제 데이터가 담기는 그릇인 객체

    객체라는 어려운 용어지만 파일이라고 생각하면 된다

    디렉토리 드래그하면 디렉토리와 파일 그냥 동시에 업로드가 된다

    이렇게 뜨고 다음 버튼을 누르면 권한 설정하는 화면

    스토리지 클래스

    S3는 가격, 속도, 안정성에 따라서 비용이 달라짐

    파일의 중요도나 쓰임새에 따라서 선택지를 준다

     

    다음 다음 누르면 업로드가 된다

    업로드한 파일 이름 바꾸기 가능

     

    파일의 오른쪽 빈곳 클릭하면

    여러가지 수정할 수 있는 속성창

     

    삭제는 우클릭 삭제해도 되고..

     

    ---

    7.https://youtu.be/0Lap5xMPz5s

    공유와 권한

     

    내 정보 객체에 담겨 있다

     

    버킷 > 디렉토리 > 파일

    파일을 다른 사람에게 공개하고 싶어

    저 링크 주소를 복사해서 다른 사람한테 주는 것

    근데 AccessDenied가 뜬다

     

    우리 이 파일이 외부에서는 접근할 수 없다

     

    권한을 따져봐야 함

    파일에 대한 권한 탭

    제일 위쪽에 보면 저 계정이 나야

    예예예가 돼 있다

    ACL은 지금 단계에선 무시

    이렇게 Public Access의 Everyone를 누르고 객체 읽기에 체크하고 저장하면

     

    아까 그 경로로 파일에 접근할 수 있다. 공개가 된 것

    파일의 권한을 공개로 했다

    여기서 이렇게 퍼블릭으로 설정이라고 써있기도 해. 위랑 똑같은 것이다.

     

     

    ---

    8.1.https://youtu.be/PmK_c1ajuk0

    파일의 속성에 보면 스토리지 클래스라고 하는 애가 있다

    각각 장단점이 있어서 여러개

    처음엔 스탠다드를 쓸거고, 스탠다드를 쓰다가 규모가 커지면 약간의 차이만으로 몇억씩 왔다갔다 하는 경우가 있다. 그때부터 클래스 타입이라는 것이 중요해져

     

    스탠다드-IA의 IA는 infrequent access. 스탠다드보다 저렴. 얘를 썼는데 자주 접속하면 돈을 더 내야 한다

    단일영역-IA는 스탠다드-IA랑 똑같은데 잃어버려도 되는 것. 복제본이 하나정도 된다. 위에애들은 가용영역 3이라고 돼 있잖아, 최소 3개의 복제본을 만드는 것. 웬만하면 잃어버리진 않겠지만 가용영역 3보다는 잃어버릴 가능성이 훨씬 높긴 한 것

     

    중복 감소는 옛날 제품

     

    여기에는 없는데 S3홈페이지 가보면 스토리지 클래스에 대한 자세한 설명이 있어

    글래셔 라는 애가 있다

    빙하처럼 얼려놓기만 하면 되는 데이터가 있다면 저걸 쓰면 된다. 법적으로 보관해야할 데이터라든지. 대한민국에서 영수증은 5년동안은 보관해야 한다.

    훨씬 싸

    근데 Glacier에 있는 데이터를 꺼내올 때 몇시간이 걸린다

     

    ---

    8.2.https://youtu.be/cR0ZKIjHS-Q

    S3의 요금 정책

    홈페이지의 요금 탭 보면

    왼쪽에 목차가 있고 그에 따른 설명이 있다

    저장공간 요금 = 스토리지 요금

     : 저장 공간을 얼마나 차지했냐

     

    사용 요금 : 파일이 있으면 얼마나 다운 받았냐, 얼마나 업로드 했냐. 스토리지 클래스에 따라서 사용요금이 다르기 때문에 구분해서 표시

     : 얼마나 썼냐

     

    인터넷 요금 = 데이터를 사람들에게 전송한 만큼

     : 얼마나 전송헀냐.

     

    전송 요금은 클래스 타입이랑 상관없이 똑같다.

    스토리지 요금, 요청 요금은 스토리지 클래스에 따라 다르다

     

    S3로 데이터를 업로드할 땐 공짜

    다운로드도 1GB까지는 공짜

    그 뒤로는 사용을 많이할수록 저렴해짐

    스토리지 요금은 클래스별로

    요청요금. 맨 위는 스탠다드 스토리지 클래스의 요청요금. 아래는 스탠다드-IA의 요청요금

    GET : S3에 있는 파일을 사용자가 다운로드 했을 때. 1000번 다운로드하면 0.00035 USD

    PUT, POST는 파일 추가하는건데 COPY는 복제고 LIST는 목록을 보는 것. 훨씬 비쌈

     

    ---

    8.3.https://youtu.be/fgQZVIH3W3U

    스토리지 클래스 표로 만들어서 비교해봤어요

    Storage는 스토리지 비용

    GET은 다운로드 비용

    PUT은 업로드 비용

     

    radio는 스탠다드랑 비교해서 몇퍼센트인지

     

    스토리지 비용은 직관적인데

    다운로드 비용은 Standard랑 Standard-IA랑 비교하면 250% 비싸다는 표. 스토리지 비용 저렴하다고 이거 선택했다가 자주 요청받으면 요금폭탄

     

    글래셔는 업로드하는 비용이 공짜

     

    요금이 장점과 단점이 교차되고 있기 때문에 상황에 따라서

     

    그냥 스탠다드를 쓰세요!

     

    ---

    9.https://youtu.be/iAKBACLQNr0

    S3는 파일을 보관해주는 서비스에서 출발

    파일을 보관 해주면 그 다음엔 뭘 할 수 있지.. 또 그다음엔.. 이러다가 오늘날의 S3가 된 것

     

    S3의 기능들

    1.Web server hosting : S3는 웹서버 기능이 기본적으로 내장

    이 기능을 키면 S3에 보관한 파일로 전 세계 누구나 방문할 수 있는 웹사이트를 만들 수 있다

    amazon이 S3를 파일서버로 사용하고 있다

    =>amazon보다 방문자수가 적다면 S3가 다운되는 재난상황은 고려하지 않아도 된다

     

    2.CloudFront

    S3는 버킷을 리전별로 정하게 돼 있다

    이 얘기는 서울로 리전으로 지정하면 뉴욕에 있는 사람은 엄청 느릴 수 밖에 없다.

    우리 고객이 뉴욕에 있다면 그 비지니스는 성공하기 어렵다

    AWS는 CloudFront라는 서비스를 갖고 있다. 이런 걸 content delivery network cdn이라고 부른다

    이게 동작하는 원리는 전세계에 CDN서버를 분산시켜 놓고

    요청이 들어오면 가장 가까운 곳에 미리 저장하고 있었던 컨텐트를 보내주는 것

     

    뉴욕에 있는 사람이 우리 서비스에 접속하면 서울에 있는 서버가 응답하는게 아니라 뉴욕에 있는 서버가 응답함.

     

    S3를 웹서버로 사용한다면 CloudFront를 결합해보세요

    전 세계를 대상으로 정보를 빠르게 전송할 수 있다

     

    3.Version

    S3는 버전관리 기능을 자체적으로 갖고 있다.

    버전 관리 기능을 켜면 같은 이름의 파일을 변경하게 되면 변경된 내용을 모두 보관한다 -> 복원 가능

    시스템이 이력을 남기는걸 필요로 한다면, S3를 쓰면 내가 직접 구현하는게 아니라 S3의 버전 관리 기능을 그냥 쓰면 된다

     

    4.Lifecycle

    어떤 것은 시간이 흐르면서 다른 클래스에 어울리는 파일도 있을거야

    1년이 지나면 보는 사람이 거의 없어지는.. 그런 파일. 하지만 볼 수도 있는 것

     

    파일을 업로드하면 처음엔 스탠다드. 한달이 지나면 사용하는 사람이 적어지니까 스탠다드 IA로..해서 저장되는 비용을 낮추고

    1년이 지나면 글래셔로 변해서 백업만 해놓는 것

    혹시나 필요하다고 하면 몇시간 후에 보내주면 되니까

    직접 구현하려면 까다로워

    S3는 Lifecycle이라는 기능이 있다.

    자동화시킬 수 있어

     

    더 많은 기능이 있지만 여기까지

Designed by Tistory.