[AWS] Amazon S3

dereck·2024년 12월 17일

AWS CCP

목록 보기
6/29
post-thumbnail

S3

S3 개요

Amazon S3는 제한 없이 스케일할 수 있는 스토리지이다. 실제로 많은 웹 서비스들이 S3에 의존하며, AWS 서비스들도 S3를 연동해 활용한다.

S3 사용 사례

Amazon S3는 결국 스토리지라서 사용 사례가 다양하다.

  1. 백업과 저장소
    • 파일을 저장할 수도 있고 디스크 역할도 해준다.
    • 재해 복구에 사용할 수 있다.
  2. 아카이브
    • S3에 보관해 두었다가 나중에 꺼내쓰기도 한다.
    • 가격이 꽤 저렴하며 검색이 용이하다
  3. 하이브리드 클라우드 스토리지
    • 기업 내 온프레미스 스토리지가 있고, 클라우드로 확장하고 싶을 경우 사용
  4. 호스팅
    • 정적 웹사이트 호스팅
    • 애플리케이션 호스팅
    • 미디어(비디오, 이미지) 호스팅
  5. 데이터 레이크 & 빅 데이터 분석
    • 데이터 레이크: 대량의 데이터를 저장, 처리, 보호하기 위한 중앙 집중식 저장

S3 버킷

  • Amazon S3는 파일을 버킷에 저장한다.
    • 이때 버킷은 최상위 디렉토리 같은 거라고 생각
    • 버킷에 저장되는 파일을 “Object” 라고 함
  • 버킷들은 사용자 계정 안에서 생성되고, 버킷 이름은 전역적으로 고유한 이름이어야 한다.
    • AWS에 있는 모든 계정과 모든 리전을 통틀어 고유해야 함
  • 버킷은 리전 단위로 정의된다.
  • 버킷이 정의되는 건 특정 AWS 리전 안이다.
    • 버킷의 이름은 전역적으로 고유해야 하지만 버킷 자체는 리전 안에서 생성되는 것

S3 버킷 작명 규칙

  1. 버킷 이름엔 대문자나 언더바가 들어가면 안된다.
  2. 길이는 최소 3자에서 최대 63자까지 될 수 있다
  3. IP 주소를 이름으로 넣을 수 없다.
  4. 소문자로 시작하거나 숫자로 시작해야 한다.
  5. 접두사와 접미사에 대한 규칙도 있다.

S3 오브젝트

  • 오브젝트는 파일이고 각각 (Key)라는 것이 존재한다.
  • S3에 저장되는 오브젝트의 키는 해당 파일의 전체 경로이다.
    • ex) s3://ex-bucket/ex.txt
      • key: ex.txt
    • ex) s3://ex-bucket/ex_folder1/ex_another_folder/ex.txt
      • key: ex_folder1/ex_another_folder/ex.txt
  • 키는 접두사와 뒤따르는 오브젝트의 이름으로 구성된다.
    • ex) s3://ex-bucket/ex_folder1/ex_another_folder/ex.txt
      • prefix: ex_folder1/ex_another_folder/
      • object name: ex.txt
  • S3 UI 콘솔에서 보면 다르게 생각할 수 있지만, S3엔 디렉토리란 개념이 없다.
    • 무엇이든지간에 전부 키다.
  • 키는 정말 긴 값이며 슬래시를 포함한다.
  • 키에 해당하는 값이 오브젝트에 해당하는 콘텐츠이다.
    • 최대 5TB의 오브젝트를 올릴 수 있다.
    • 대용량 파일의 경우 멀티 파트로 업로드해야 한다
  • 오브젝트는 메타데이터를 key-value 형태의 목록으로 가진다.
    • 시스템이나 사용자가 파일의 어떤 요소를 명시하기 위해 메타데이터 사용
  • 태그는 Unicode key-value 쌍을 최대 10개까지 가질 수 있다.
    • 보안이나 생명 주기에 유용하다
  • 버전 관리가 활성화 됐을 경우 어떤 오브젝트는 버전 ID가 있을 수도 있다.

S3 보안

사용자 기반

  • IAM 정책을 적용한다.
    • IAM 정책이 정의하는 건 어떤 API가 어떤 IAM 사용자에 의해 호출될 수 있는가를 의미 함

리소스 기반

  • 버킷 정책
    • 여러 버킷에 적용되는 규칙을 S3 콘솔에서 바로 설정할 수 있음
      • S3 버킷을 대상으로 교차 계정 액세스가 가능하다.
      • 이 규칙은 특정 사용자에게 이용을 허용하거나 또 다른 계정 사용자의 이용을 허용할 수도 있음
    • 액세스 컨트롤 리스트(ACL)
      • 오브젝트 액세스 컨트롤 리스트: 세밀하게 버킷을 관리하는 장치비활성화 가능
      • 버킷 액세스 컨트롤 리스트: 버킷 단위에서 관리하기 위해 버킷 ACL을 만들기도 하지만 흔한 방법은 아님

IAM 정책으로 S3 오브젝트에 접근할 수 있는 건 언제일까?

IAM 권한이 허용으로 돼 있거나 또는 리소스 정책이 허용으로 돼 있거나 그리고 접근 거절 액션이 명시돼 있지 않다면 API 호출 시 정책에 기반해 S3 오브젝트에 접근할 수 있다.

이때 접근 거절 액션이 명시돼 있으면 IAM 권한과 리소스 정책이 모두 허용이어도 접근할 수 없다.

S3 버킷 정책

버킷 정책은 S3 보안의 핵심이다. 정책은 JSON으로 정의한다.

{
    "Version": "2024-12-17",
    "Statement": [
        {
            "Sid": "PublicRead",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::ex-bucket/*"
            ]
        }
    ]
}
  • Resource
    • 어떤 버킷, 어떤 오브젝트에 해당 정책이 적용되는지를 명시
  • Effect
    • Action 에 대한 허용과 거부 설정
  • Action
    • API 목록을 명시
    • Effect 에 따라서 명시한 API에 대한 접근을 허용할 것인지, 거부할 것인지 정하게 됨
  • Principal
    • 보안 주체이며, 이 정책이 적용되는 대상 계정이나 사용자를 명시한다.

고급 기능

교차 계정 액세스

교차 계정 액세스를 허용하려면 버킷 정책을 이용해야 한다.

다른 계정에 어떤 IAM 사용자가 있고, S3 버킷 정책에 교차 계정을 허용한다고 정의한다. 해당 IAM 사용자에게만 허용하는 것이다. 그러면 사용자는 해당 S3 버킷을 대상으로 API를 호출할 수 있게 된다.

교차 계정 액세스에 대한 자세한 내용: https://velog.io/@minidoo/AWS-S3-Bucket-Cross-Account-Access-smrid176

버킷 설정에서 퍼블릭 액세스 차단

버킷을 생성할 때 설정하는 것이다. AWS가 만든 이 설정은 기업 데이터 유출을 막기 위해 보안 레이어를 하나 추가한 것이라고 보면 된다. S3 버킷 정책에 퍼블릭 액세스를 허용해도 이 정책이 활성화 되어 있다면 퍼블릭에서 절대 버킷에 접근할 수 없다.

사용자의 버킷이 절대 공개되지 말아야 한다면 이 설정을 활성화하면 된다. S3 정책을 잘못 설정하는 실수를 해도 보호해준다.

만약 어떤 S3 버킷도 절대 공개되면 안될 경우, 이 설정은 계정 단위에서도 설정할 수 있다.


S3 웹사이트 개요

S3 버킷에 접근하려면?

S3에서 정적 웹사이트 호스팅 시 해당 사이트로 접근하려면 위에 언급한 버킷 정책과 설정을 퍼블릭으로 설정해야 한다.


S3 버전 관리 개요

  • S3에서 사용자는 파일에 버전을 매길 수 있다.
    • 버킷 단위에서 설정
  • 버킷에 버전 관리 기능이 활성화 되어 있다면 사용자가 파일을 업로드할 경우 해당 파일에 키가 할당되고, 버전이 생성된다.
    • 같은 키로 다시 업로드 하면 올린 파일의 버전이 바뀜
  • 버킷에 버전 기능을 활성화하면 의도치 않게 삭제하는 것을 막아준다.
    • 파일 삭제 시 영구 삭제가 아닌 소프트 삭제를 함
    • 파일을 잘못 삭제 했을 때 복구가 가능하다는 의미

버전 관리 유의 사항

  • 버전 기능을 활성화하기 전의 파일 버전 값을 null 이다.
  • 버전 기능을 쓰다가 중단해도 이전 파일 버전들을 삭제하지 않는다.

S3 Replication 개요

Amazon S3의 복제 기능 종류는 두 개가 있다. 하나는 리전 간 복제(CRR - Cross Region Replication)이고, 하나는 동일 리전 간 복제(SRR - Same Region Replication)이다.

복제의 경우 이름에서도 알 수 있지만 각기 다른 리전에서 복제할 경우 CRR, 같은 리전 내에서 복제할 경우 SRR이며 두 버킷은 각각 다른 계정의 버킷이어도 되고, 복제는 비동기로 진행된다. 또한 복제는 보이지 않는 뒷편에서 진행된다.

복제가 진행되려면 S3 서비스에 적합한 IAM 권한이 부여돼야 한다. 특정 버킷에 읽기와 쓰기 권한이 필요하다.

S3 Replication 사용 사례

리전 간 복제의 경우 컴플라이언스나 다른 리전에 있는 데이터 액세스 시 대기 시간을 최소화 시켜야 할 때, 데이터 복제를 다른 계정 간 수행해야 할 때이다.

동일 리전 간 복제의 경우 여러 S3 버킷의 로그를 집계할 때, 테스트 환경이 있을 경우 라이브 복제를 운영 계정과 테스트 계정 사이에서 해야 할 때가 있다.


S3 스토리지 클래스 개요

Amazon S3에서 객체를 생성할 때 클래스를 선택할 수 있다. 스토리지 클래스를 수동으로 수정할 수도 있고, Amazon S3 수명 주기 구성을 이용해서 모든 스토리지 클래스 간에 객체를 자동으로 이동시킬 수도 있다.

내구성과 가용성의 개념

내구성이란 S3로 인해 객체가 손실될 수 있는 확률이다. S3의 내구성은 매우 높은 수준으로 평균 1만 년에 한 번 객체가 손실될 정도이다. 이처럼 내구성이 매우 높고, 모든 스토리지의 내구성은 동일하다.

가용성이란 얼마나 쉽게 서비스를 이용할 수 있는가에 대한 것이다. 내구성과는 다르게 가용성은 스토리지 클래스마다 다르다. 예시로 S3 Standard의 가용성은 99.99%로 1년에 약 53분 동안 서비스를 이용할 수 없다는 뜻이며 서비스를 처리할 때 오류가 생긴다는 의미이기 때문에 애플리케이션을 개발할 때 고려해야 할 부분이다.

S3 Standard

  • 99.99%의 가용성
  • 자주 액세스하는 데이터 용도로 사용
  • 기본값으로 사용하는 스토리지 유형
  • 지연 시간이 짧고 처리량이 많다
  • 두 곳에서 발생하는 동시 기능 장애를 감당할 수 있다.
    • 따라서 빅 데이터 분석모바일 및 게임 애플리케이션의 콘텐츠 배포의 사용 사례에 적합함

S3 Infrequent Access

  • 자주 액세스하지 않지만 필요할 때 빠르게 액세스해야 하는 데이터에 적합하다.
  • S3 Standard보다 저렴하지만 검색 요금이 추가로 발생한다.

S3 Standard-IA

  • 가용성은 99.9%로 약간 낮지만 재해 복구와 백업에 이상적이다.

S3 One Zone-IA

  • 하나의 지역에만 사용 가능한 클래스이다.
  • 높은 내구성을 가지고 있지만 가용 영역이 파괴되면 데이터가 손실될 수 있다.
  • 가용성은 99.5%로 더 낮다.
  • 온프레미스 데이터다시 생성 가능한 데이터의 보조 백업 복사본 저장에 적합하다.

S3 Glacier Storage Classes

  • 이름에서 알 수 있듯이 콜드 스토리지이다.
  • 아카이브와 백업에 적합저비용 객체 스토리지이다.
  • 스토리지 비용에 검색 비용이 포함돼 있다.
  • Glacier 내에 3개의 스토리지 클래스가 있다.
    • S3 Glacier Instant Retrieval
    • S3 Glacier Flexible Retrieval
    • S3 Glacier Deep Archive

S3 Glacier Instant Retrieval

  • 밀리초 단위의 검색이 가능하다.
  • 분기에 한 번 데이터에 액세스할 때 적합하다.
  • 최소 스토리지 기간은 90일이다.
  • 밀리초 내에 액세스가 필요한 백업에 이상적이다.

S3 Glacier Flexible Retrieval

  • S3 Glacier에서 티어가 추가되면서 바뀐 이름이다.
  • Instance”는 즉각적인 데이터 검색을 뜻하고 “Flexible”은 데이터를 검색할 때 12시간까지 기다릴 수도 있다는 의미이다.
  • 유연한 무료 검색 기능을 제공하며 선택할 수 있다.
    • 1~5분의 빠른 검색
    • 3~5시간의 표준 검색
    • 5~12시간의 무료 대량 검색
  • 최소 스토리지 기간은 90일이다.

S3 Glacier Deep Archive

  • 장기 보관 스토리지이다.
  • 두 가지 검색 옵션을 제공한다.
    • 12시간표준 옵션
    • 48시간대량 옵션
  • 검색 시간이 아주 많이 들지만 가장 저렴하게 이용할 수 있다.
  • 최소 스토리지 기간은 180일이다.

S3 Intelligent-Tiering

  • 사용 패턴을 기반으로 액세스 계층 간에 객체를 이동시킨다.
  • 매월 모니터링과 자동화 요금이 발생한다.
  • 검색 요금은 발생하지 않는다.
  • S3 Tiering은 오랜 기간 액세스 하지 않은 객체를 편하게 이동시킬 수 있다.
  • 액세스 하지 않은 기간에 따라 다음과 같이 티어를 나누고 자동으로 이동하거나 이동하게 설정할 수 있다.
    • Frequent Access 계층:
      • 맨 처음 객체가 자동으로 저장되는 곳이다.
      • 30일 동안 액세스 하지 않은 객체는 자동으로 Infrequent Access 계층으로 이동한다.
    • Infrequent Access 계층:
      • 30일 동안 액세스 하지 않은 객체가 자동으로 이동되어 저장되는 곳이다.
      • 90일 동안 액세스 하지 않은 객체는 자동으로 Archive Instant Access 계층으로 이동한다.
    • Archive Instant Access 계층
      • 90일 동안 액세스 하지 않은 객체가 자동으로 이동되어 저장되는 곳이다.
      • 90 ~ 700일 간 액세스 하지 않은 객체를 Archive Access 계층으로 이동하도록 설정할 수 있다.
    • Archive Access 계층
      • 90 ~ 700일 간 액세스 하지 않은 객체가 설정에 의해 이동되어 저장되는 곳이다.
      • 이 계층부터는 자동으로 이동하는 것이 아닌 직접 설정을 했을 때만 이동하게 된다.
      • 180 ~ 700일 간 액세스 하지 않은 객체를 Deep Archive Access 계층으로 이동하도록 설정할 수 있다.
    • Deep Archive Access 계층
      • 180 ~ 700일 간 액세스 하지 않은 객체가 설정에 의해 이동되어 저장되는 곳이다.

S3 암호화

S3 암호화는 서버측 암호화클라이언트측 암호화의 두 가지로 나뉘며 두 방식 모두 AWS에 존재한다.

서버측 암호화

사용자가 S3에 오브젝트를 업로드하면 해당 오브젝트가 버킷에 올라왔을 때 보안을 위해 S3가 암호화시킨 상태로 저장된다.

암호화를 서버가 수행하기 때문에 서버측 암호화라고 한다.

서버측 암호화는 기본으로 항상 활성화 되어 있다.

클라이언트측 암호화

사용자가 파일을 업로드하기 전에 직접 암호화하는 것이다. 쉽게 말해 사용자가 잠궈서 버킷에 올리는 것이다.

암호화를 사용자가 수행하기 때문에 클라이언트측 암호화라고 한다.


IAM Access Analyzer for S3

IAM Access Analyzer for S3는 S3 버킷을 모니터링하는 기능이다.

IAM Access Analyzer for S3는 버킷에 버킷 액세스 제어 목록(ACL), 버킷 정책, 다중 리전 액세스 포인트 정책 또는 액세스 포인트 정책 등을 분석한다. 그리고 어떤 버킷이 퍼블릭 액세스가 가능한지, 또 어떤 버킷이 다른 AWS 계정과 공유가 됐는지 등을 본다. 그리고 사용자가 그 결과를 검토하고 판단을 내린 뒤 액션을 취하면 된다.

이렇게 IAM Access Analyzer가 계정에 속한 리소스 중 어떤 것이 다른 주체에 공유됐는지 파악해 준다.

자세한 내용은 https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/access-analyzer.html#access-analyzer-information-s3 참고


S3를 위한 공동 책임 모델

AWS의 경우

  • 인프라에 대한 모든 책임
    • 내구성, 가용성, 두 시설에서 동시에 데이터 손실이 지속되는 경우
  • 자체적인 내부 구성과 취약성 분석
  • 인프라 내부에서 자체적인 규정 준수 검증

사용자의 경우

  • S3 버전 관리를 제대로 설정하여 올바른 S3 버킷 정책을 설정함으로써 버킷 내에서 데이터가 보호될 수 있도록 해야 한다.
  • 복제 작업이 필요할 시에는 직접 설정해야 한다.
  • 로깅과 모니터링은 선택 사항이므로 사용자가 자체적으로 활성화해야 한다.
  • 사용자에게 가장 경제적인 스토리지의 클라우드를 선택하여 사용하는 것도 본인의 책임이다.
  • S3 버킷에 데이터를 암호화할 것인지에 대한 여부

AWS 스노우 제품군 개요

AWS 스노우 제품군(=AWS Snow Family)는 매우 안전한 휴대용 장치로써 엣지에서 데이터를 수집 및 처리하거나 AWS 내부 및 외부로 데이터를 마이그레이션하는 용도로 사용된다.

스노우 제품군에는 스노우콘, 스노우볼 엣지와, 스노우 모빌이 있다.

데이터 마이그레이션 용도: Snowcone , Snowball Edge , Snowmobile
엣지 컴퓨팅 용도: Snowcone , Snowball Edge

스노우 제품군을 사용하는 이유

네트워크를 통해 많은 데이터를 전송하는 데 걸리는 시간을 살펴보면 알 수 있다.

예를 들어 초당 1Gbps의 속도를 가지는 네트워크 회선을 통해 100TB를 전송하는 경우 12일이 소요된다. 따라서 더 많은 데이터를 다루게 될 경우 소요되는 시간은 훨씬 더 늘어나게 될 것이 분명하다.

때로는 데이터가 AWS에 더 빠르게 전달되기를 원할 때도 있을 것이다. 그리고 문제는 연결성과 대역폭이 제한된다는 것이다. 네트워크를 사용하는 것은 무료가 아니고, 그 대역폭이 공유될 수 있다. 만약 회사에서 큰 용량의 데이터를 다운로드 할 경우 대역폭이 공유되어 연결이 안정적이지 못할 수도 있다. 이 경우 다시 시도해야 한다.

이런 이유들이 스노우 제품을의 사용 근거가 된다. 스노우 제품군은 데이터 마이그레이션을 수행할 수 있는 오프라인 장치로 AWS는 우체국에서 실제 물리적 장치를 보내 줄 것이다. 그 장치에 데이터를 로드한 뒤 다시 AWS로 보내는 것이다.

스노우 제품군

스노우볼 엣지

  • 거대한 박스이며 TB 또는 PB의 데이터를 AWS 안팎으로 이동시키는 데 사용된다.
  • 데이터 전송 작업당 비용을 지불한다.
  • 스노우볼 엣지 내의 인터페이스는 블록 스토리지 또는 Amazon S3 호환 객체 스토리지를 제공할 것이다.
  • 두 가지 유형이 존재한다.
    • 스노우볼 엣지 스토리지 최적화
      • 80TB의 HDD
      • 210TB의 NVMe
    • 스노우볼 엣지 컴퓨트 최적화
      • 42TB의 HDD
      • 28TB의 NVMe
  • 대규모 데이터 클라우드 마이그레이션을 수행하거나 데이터 센터 폐기, 재해 복구 수행 시 사용된다.

스노우콘

  • 매우 작은 휴대용 장치이며 가볍고 견고하다.
  • 안전하고 열악한 환경을 견딜 수 있으며 데이터 양이 적은 환경에 적합하다.
  • 엣지 컴퓨팅, 스토리지 및 데이터 전송에 사용된다.
  • 8TB의 HDD 스노우콘과 더 빠른 속도의 14TB의 SSD 스노우콘이있다.
  • 공간이 제한된 환경에서는 스노우콘을 사용하게 되며 배터리와 케이블을 직접 준비해야 한다.

데이터를 AWS로 다시 보내는 두 가지 옵션

  1. 데이터를 오프라인으로 배송하여 전송
  2. 데이터를 수집한 뒤 인터넷 연결이 가능한 데이터 센터에 이 장치를 연결한 다음 AWS DataSync 서비스를 사용하여 데이터를 AWS로 전송하는 방법

스노우모빌

  • 실제 트럭이다.
  • 스노우모빌을 사용하면 EB 규모의 데이터를 전송할 수 있다.
    • 1EB = 1000PB = 1000000TB
    • 각 스노우모빌의 용량은 100PB이다.
  • 보안이 철저하고, 온도가 조절되며 24시간 GPS와 비디오 감시가 있다.
  • 10PB 이상의 데이터 전송을 하는 경우 스노우볼보다 더 나은 방법이다.

스노우 제품군의 사용 사례

엣지 컴퓨팅과 엣지 로케이션

엣지 컴퓨팅이란 엣지 로케이션에서 데이터가 생성되는 동안 데이터를 처리하는 것이고, 엣지 로케이션이란 실제로 인터넷이 없거나 클라우드에서 멀리 떨어진 곳을 의미한다. 예를 들어, 도로 위에 트럭이나 바다 위에 배 그리고 지상에 있는 광산 기지 등이 있고, 이러한 모든 것을 엣지 로케이션이라고 부를 수 있다.

엣지 로케이션은 데이터를 생산할 수 있지만 반드시 인터넷 연결이 되어 있는 것은 아니기 때문에 연결이 제한되거나 인터넷에 액세스할 수 없거나 컴퓨팅 성능에 액세스할 수 없다. 이를 위해 엣지 컴퓨팅이 필요한 것이다.

엣지 컴퓨팅을 수행하려면 스노우볼 엣지 장치나 스노우콘을 주문하고 이를 엣지 로케이션에 내장하는 것으로 시작할 수 있다.

엣지 컴퓨팅의 사용 사례

데이터를 전처리하고 엣지에서 기계 학습을 수행하는 것이다. 따라서 클라우드로 돌아가지 않고도 주요 스트림을 미리 트랜스코딩하고 필요에 따라 데이터를 다시 AWS로 전송해야 하는 경우 스노우콘 또는 스노우볼 엣지용 장치를 다시 배송할 수 있다.

엣지 컴퓨팅에서의 스노우 제품군

  • 스노우콘과 스노우콘 SSD
    • 2개의 CPU에 4GB의 메모리, 유무선 액세스를 제공한다.
    • 전원을 공급하기 위한 USB-C 또는 배터리 옵션이 있다.
  • 스노우볼 엣지 - 컴퓨팅 최적화
    • 104개의 vCPU, 416GB의 메모리를 가지고 있다.
    • 비디오 처리나 머신 러닝을 위해 GPU를 옵션으로 추가할 수 있다.
    • 28TB NVMe 또는 42TB HDD를 스토리지로 선택할 수 있다.
    • 최대 16개 노드까지 클러스터링하여 전체 스토리지를 확장할 수 있다.
  • 스노우볼 엣지 - 스토리지 최적화
    • 최대 40개의 vCPU, 80GB의 메모리 및 80TB의 스토리지 제공
    • 최대 104개의 vCPU, 416GB의 메모리, 216TB의 NVMe 스토리지 제공

모든 스노우 제품군은 EC2 인스턴스와 AWS 람다 기능을 사용할 수 있다. 이때 람다 기능의 경우 AWS IoT Greengrass 서비스를 활용한다. 또한 장기 대여 옵션을 제공한다.

데이터 마이그레이션에서의 스노우 제품군

  • 스노우콘, 스노우볼 엣지, 스노우모빌을 사용할 수 있다.
  • 각각 저장 용량이 다르다.
    • 스노우콘
      • 8TB HDD & 14TB SSD
    • 스노우볼 엣지
      • 80TB HDD & 210TB NVMe
    • 스노우모빌
      • 100PB 이상
  • AWS에서 권장하는 마이그레이션 크기와 전송 방법
    • 스노우콘
      • 온/오프라인으로 최대 24TB
      • DataSync 에이전트가 스노우콘에 사전 설치되어 있어 이를 네트워크에 연결하고 DataSync가 네트워크를 통해 데이터를 보내도록 할 수도 있다.
    • 스노우볼 엣지
      • 오프라인으로 최대 1PB
    • 스노우모빌
      • 오프라인으로 최대 1EB

스노우 제품군 사용 방법

데이터 마이그레이션 시

  1. 콘솔에서 장치 배송을 요청하면 이를 직접 받아볼 수 있다.
  2. 스노우볼 클라이언트를 설치하거나 AWS OpsHub를 서버에서 설치한다.
  3. 스노우볼을 서버에 연결하고 클라이언트에서 파일 복사를 시작한다.
  4. 완료되면 기기를 올바른 AWS 시설로 반송한다.
  5. 데이터가 S3 버킷에 로드된다.
  6. 가장 높은 보안 조치에 따라 스노우볼이 완전히 삭제된다.

AWS OpsHub

과거 스노우 제품군 장치를 사용하기 위해선 CLI가 필요했다. 하지만 현재는 컴퓨터나 노트북에 설치하는 소프트웨어인 OpsHub를 사용할 수 있다.

이는 클라우드에서 사용하는 것이 아닌 노트북에 직접 설치하는 것이며, 설치 후 스노우 장치에 연결하면 구성하고 사용할 수 있는 그래픽 인터페이스를 제공하여 매우 편리하게 사용할 수 있다.

단일 또는 클러스터 장치 잠금 해제 및 구성, 파일 전송, 스노우 제품군 장치에서 실행되는 EC2 인스턴스 시작 및 관리, 장치 지표 모니터링 등을 사용할 수 있다.


AWS 스노우 볼 엣지 가격 책정

  • 기기 사용료뿐만 아니라 AWS에서 데이터를 이관해 나오는 비용도 있다.
    • AWS에 있는 데이터를 스노우볼 엣지로 옮기고 기기를 수령하면 비용을 지불한다.
    • 스노우볼 엣지에 데이터를 넣고 그 데이터를 S3로 옮기는 것은 GB당 0달러이다. (무료)

온디맨드의 경우

  • 작업 1회당 비용이 발생하며 비용에 포함되는 것은 다음과 같다.
    • 이용 기간 10일, 스노우볼 엣지 스토리지 최적화 기기 80TB 사용
    • 이용 기간 15일, 스노우볼 엣지 스토리지 최적화 기기 210TB 사용
  • 이때 배송 기간은 이용 기간에 포함되지 않는다.
  • 이용 후 10일이나 15일이 경과한 시점 이후 하루 당 비용이 발생

선 약정의 경우

  • 월간, 1년 또는 3년 단위 이용을 위해 선불로 스노우볼 엣지 기기 이용료를 지불한다.
  • 할인율은 62%이다.

Storage Gateway

  • AWS는 사용자의 온프레미스 환경과 AWS 간의 연결 다리로 하이브리드 클라우드를 제공한다.
    • 사용자의 인프라 중 일부는 온프레미스에 두고 나머지는 클라우드에 존재한다.
  • 사용하는 이유는 다음과 같다
    • 너무 긴 클라우드 마이그레이션 시간
    • 보안 요건
    • 컴플라이언스 요건
    • IT 정책
  • S3는 독점 스토리지 기술로 EFS나 NFS와는 다르다.
    • 이들은 온프레미스에 있는 두 서버에서 바로 사용이 가능했다.
    • 온프레미스에서 S3 데이터를 보려면 스토리지 게이트웨이를 사용해야 한다.

AWS Storage Cloud Native Options

AWS의 스토리지 옵션은 블록 스토리지 방식의 EBS와 EC2 Instance Store, 파일 스토리지 방식의 EFS, 객체 스토리지 방식의 S3와 Glacier가 있다.

이때 스토리지 게이트웨이의 역할은 AWS 내 사용자의 온프레미스 데이터와 클라우드 데이터를 연결해 준다. 즉, 하이브리드 스토리지를 사용하여 온프레미스 시스템에서도 문제없이 클라우드를 이용할 수 있도록 스토리지 기능을 확장하는 것이며 재해 복구백업, 복원 혹은 스토리지 계층에 활용할 수 있다.

스토리지 게이트웨이에는 다음과 같은 유형이 있다. 이때 해당 유형이 모두 시험에 나오는 것은 아니고 스토리지 게이트웨이를 이용해서 온프레미스에서 발생하는 작업이 바로 AWS 클라우드까지 연결된다는 것만 알면 된다.

  • File Gateway
  • Volume Gateway
  • Tape Gateway

간단한 S3 요약

  • 버킷과 오브젝트의 차이
    • 버킷의 이름은 전역적으로 고유해야 하고, 특정 리전에 위치해야 한다.
    • 오브젝트는 버킷 안에 존재한다.
  • S3 보안
    • 사용자나 역할에 IAM 규칙을 적용할 수 있다
    • S3 버킷 규칙을 이용한다.
    • S3 암호화
  • S3 웹사이트
    • S3에서 정적 웹사이트 호스팅이 가능하다.
      • 먼저 버킷을 퍼블릭으로 만들어야 함
  • S3 버전 관리
    • 파일을 버전 단위로 관리해서 실수로 삭제하는 것을 방지
    • 필요에 따라 이전 버전으로 롤백
  • S3 복제
    • 일단 복제를 하려면 버전 관리 기능을 켜야 가능
    • 동일 리전 복제
    • 리전 간 복제
  • S3 스토리지 클래스
    • Standard
    • Infrequent Access (IA)
      • Standard-IA
      • One Zone-IA
    • Intelligent
    • Glacier
      • Instant
      • Flexible
      • Deep
  • Snow Family
    • S3로 데이터를 전달할 수 있는 물리적 기기
    • Snowcone
    • Snowball
    • Snowmobile
  • OpsHub
    • 데스크톱 애플리케이션으로 Snow Family 기기를 관리하고 데이터를 기기에 옮겨 주는 그래픽 인터페이스 도구
  • Storage Gateway
    • 온프레미스 스토리지를 S3로 확장하는 하이브리드 솔루션

References

0개의 댓글