ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS S3 기초 (버킷 생성 및 데이터 업로드)

    Cloud 기초/AWS 기초 2023. 9. 6. 03:50

     

    AWS S3

     

    S3 Simple Storage Service의 약자로 AWS에서 제공하는 storage 서비스입니다.

    S3에서는 데이터를 담는 버킷을 만드는데, 

    비정형 데이터(음악파일, 문서, 이미지, 동영상 등)를 저장하는 저장소로 이해할 수 있습니다.

    (한 마디로 이것저것 담는 양동이를 만든다고 생각하면 됩니다.)

    주로 미디어 데이터를 효율적이고 경제적으로 저장할 수 있는 서비스로

    일반적으로 클라우드 저장소라고 부르는 것이 AWS에서는 S3입니다.

     

    S3의 특징을 키워드로 설명하면 다음과 같습니다. (갓피티형님 감사합니다)

    1. Scalability

    2. Durability and Availability

    3. Data Protection

    4. Data Security

    5. Data Management

    6. Data Transfer

    7. Data Storage Classes

    8. Data Versioning

    9. Data Access Control

    10. Data Replication

    11. Static Website Hosting

    12. Event Triggers

     

     키워드를 하나씩 쉽게 설명드리겠습니다.

    Scalability는 자주 나왔던 개념이죠? 바로 확장성입니다.

    비교적 용량이 큰 이미지나 동영상 파일을 많이 저장한다면 그만큼 넓은 저장공간을 확보해주고

    용량이 크지 않은 문서나 압축파일 등을 저장한다면 그것에 맞춰서 저장 공간도 작게 축소됩니다.

     

    Durability and Availability은 높은 내구성과 가용성인데,

    S3는 99.999999999%의 내구성을 가지도록 설계되었기 때문에

    어딘가에 있을 아마존의 하드웨어의 결함으로 인한 S3의 문제는 거의 발생할 확률이 없어서

    믿고 쓸 수 있습니다. 또한, 어떤 Region에서든 접근할 수 있게 설계되어서 높은 가용성을 가지죠.

     

    Data Protection은 데이터 보존과 관련한 특징인데 Region이나 AZ(Availability Zone)에 따른

    backup을 하여 데이터 보존성을 높일 수 있습니다.

     

    Data Security는 데이터 보안과 관련하여 여러가지 서비스를 제공하는데

    기본적으로 IAM을 통한 Access 의 제어를 제공합니다.

    또한, AWS에서 제공하는 추가적인 KMS 설정을 통해 데이터를 암호화할 수 있습니다.

     

    Data Management는 S3 bucket에 저장되는 데이터의 관리를 제공한다는 특징입니다.

    예를 들면, life cycle 설정을 통해 일정 기간동안만 데이터를 저장하고 그 이후에는 삭제되도록 설정할 수도 있습니다.

     

    Data Transfer는 data를 업로드/다운로드하기 위한 다양한 방법을 제공한다는 특징인데, 

    AWS console, CLI, SDK 등 다양한 방법으로 S3에 데이터를 업로드하는 것이 가능합니다.

     

    Data Storage Classes는 storage 클래스의 종류를 다양하게 제공한다는 의미인데,

    여기서 storage 클래스의 종류는 사용 목적이나 패턴에 따라 최적화된 저장소 모델을 제공한다는 의미입니다.

     

    Data Versioning은 버전 관리를 통해 이전 버전으로 돌아가거나

    혹시 모를 데이터의 유실이 있어도 복구를 가능하게 하는 서비스입니다.

     

    Data Access Control은 IAM 외에도 S3 bucket resource based policy나

    ACL 등을 통해 접근 제어를 지원하여 IAM에서의 권한 부여와 별개로 리소스 수준의 권한 컨트롤을 제공합니다.

     

    Data Replication은 다양한 지역(region)에 data의 replica(복제본)을 만들어서

    특정 지역에 데이터 유실이나 접속 장애 등이 발생해도 데이터의 영속성을 보장할 수 있습니다.

     

    Static Website Hosting은 S3를 통해 정적인 웹사이트의 호스팅이 가능하다는 특징입니다.

     

    마지막으로 Event Triggers

    S3는 버킷에서 일어나는 여러 이벤트를 트리거하거나 모니터링하는 다른 서비스들과 결합하여 사용할 수 있다는 특징입니다.

     

    지금까지 언급된 특징들의 설명을 듣는 것만으로는 감이 잘 안 잡힐 수도 있는데요.

    굳이 모든 기능을 다 알 필요는 없습니다.

    나중에 S3 고급편에서 하나씩 주제로 다룰 예정이며

    필요에 따라 해당 기능을 가져다 활용할 수 있으면 됩니다.

     

    그럼 이번 편에는 가장 간단한 bucket을 생성하고 데이터를 업로드하는 정도의 과정만 같이 해봅시다.

     

    우선, AWS에 로그인을 합니다. 그리고 AWS 서비스 검색에 S3라고 검색해봅시다.

    그러면 아래같은 S3 메인 화면을 볼 수 있습니다. (메인 화면은 달라질 수도 있습니다.)

     

    S3 메인 화면

     

    여기서 오른쪽 상단에 버킷 만들기라는 노란 버튼이 보이시나요? 그걸 눌러봅시다.

    그럼 이렇게 버킷 만들기 화면으로 이동합니다.

     

    S3 Create Bucket

     

    버킷이름cloudman-sample-bucket-01로 하고

    AWS 리전ap-northeast-2 (Seoul)로 합시다.

     

    S3 bucket name and region

     

    그 다음 선택할 항목은 객체소유권(Owner) 관련 ACL(Access Control List)인데요.

    권장이라고 쓴 ACL비활성화를 선택합니다.

     

    S3 ACL

     

    그 다음은 퍼블릭 액세스 차단 설정인데 아마 default로 모든 퍼블릭 액세스 차단으로 되어 있을 겁니다. 

     

    Deny All Public Access

     

    우리 버킷에 다른 누군가 일반 접근으로 사용하면 안 되니까 모두 차단을 해놓습니다.

    (모두의 버킷이 되면 당신은 거지가 됩니다.)

    그리고 우리는 테스트를 위해 버킷을 만들고 CSV 파일만 업로드할거니까

    버전관리는 따로 하지 않습니다.

     

    S3 Version

     

    태그는 따로 설정하지 않습니다.

    (원하면 설정해도 됩니다. 태그는 말그대로 태그를 달아서 표시를 하는 용도입니다.)

    마지막으로 기본암호화도 기본 설정 그대로 갑시다.

    (나중에 KMS 설정하는 것을 추가적으로 다뤄보겠습니다.)

     

    S3 Encryption

     

    모든 설정이 끝났으니 버킷 만들기 버튼을 눌러 버킷을 생성해봅시다.

    그러면 다음과 같이 S3 버킷이 잘 생성되었음을 확인할 수 있습니다.

     

    S3 Bucket List

     

    한번 cloudman-sample-bucket-01을 클릭해서 들어가 봅시다.

     

    Bucket Main

     

    여기는 클라우드 저장 공간 안이라고 생각하면 쉽습니다.

    다른 클라우드 저장 서비스와 마찬가지로 여기서 바로 파일을 업로드해도 되고

    따로 폴더를 만들어서 폴더별로 파일을 업로드해도 됩니다.

    우리는 여기서 Glue 연동에 쓰일 아래의 csv 파일을 하나 업로드할 예정입니다.

     

    hurricanes.csv
    0.00MB

     

    2005년부터 약 10년간 월별 허리케인 발생 횟수와 평균을 나타낸 csv파일입니다.

    업로드를 누르고 다음 화면에서 파일추가를 눌러 파일을 업로드해봅시다.

     

    S3 Bucket CSV file Upload

     

    그리고 업로드 버튼을 눌러 업로드를 완료합니다. 그러면 다음과 같이 업로드된 csv파일을 확인할 수 있습니다.

     

    S3 Upload Complete

     

    이렇게 S3에서 가장 간단한 버킷 생성 및 파일 업로드까지 완료해봤습니다.

    추후에 다룰 S3 고급편에서는 S3에서 다뤘던 다양한 기능들을

    실제로 어떻게 활용할 수 있는지에 대해서 좀 더 자세하게 알아보겠습니다.

     

    AWS Glue 기초 (S3 Data Catalog 생성) (https://kh-archive.tistory.com/27) 확인하기

Designed by Tistory.